Servlet 与 ServletContext

Servlet 与 ServletContext

1 Servlet 技术概述

1.1 Servlet就是运行在服务器端的java 程序

是sun 公司提供的一套规范 用来处理客户请求 响应给浏览器动态资源

Servlet javaWEB 三大组件 Servlet Filter Listener

1.2 Servlet作用

用来处理从客户端发送过来的请求 并对做出响应

a: 获取请求数据

b: 处理请求

c:完成响应

2 入门程序 Servlet

步骤:
1 创建类 继承HttpServlet 重写doGet doPost()

package cn.cfg.demo;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class Servel03 extends HttpServlet {
//    重写doPost 和doGet
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req,resp);
    }

    public void init(){
        System.out.println("初始化执行");
    }

    public void service(){
        System.out.println("开始做事");
    }

    public void destroy(){
        System.out.println("servlet被销毁");
    }

    @Override
    public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//        解决中文乱码
        req.setCharacterEncoding("UTF-8");
//        getParameter获得指定参数的名称 数据
        String username = req.getParameter("username");
        String password = req.getParameter("password");
//        获取用户名和密码 控制台输出
        System.out.println(username+"  "+password);

    }
}

2 编写配置文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">
    

    <!--第三个-->
    <servlet>
        <servlet-name>servel03</servlet-name>
        <servlet-class>cn.cfg.demo.Servel03</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>servel03</servlet-name>
        <url-pattern>/b2</url-pattern>
    </servlet-mapping>
</web-app>

3 浏览器访问
浏览器HTML文件
在浏览器地址栏输入 http://localhost:8080/工程名/hello

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<!--actio填写的路径  需要和web.xml里面<url-pattern>后填写的路径一致 前面加.-->

<form action="./b2" method="post">
    用户名:<input type="text" name="username" value="黛玉">
    密码:<input type="password" name="password" value="12345">
    爱好:<input type="checkbox" name="hoby" checked="checked">美女
    <input type="checkbox" name="hoby" checked="checked">美酒
    <input type="submit" value="提交">
</form>

</body>
</html>

2.2 Request请求参数

1 getParameter(String name) 获得指定参数的名称 如果没有 返回null

2 如何使用

1 表单

2 编写Servlet

3 Servlet 生命周期

3.1 一个对象从创建到销毁的过程

何时创建:用户第一次访问的时候 Servlet被创建(单例)

何时销毁: 当项目从服务器移除的时候 | 关闭服务器的时候

Servlet 规范中规定 所有的Servlet 必须实现javax.servlet.Servlet接口

1 每一次调用 都将执行初始化方法init()

2 每一调用的时候 都将执行service()方法

3 服务器关闭时执行destory();

3.2 Servlet 的相关配置

1 启动服务器创建Servlet 在web.xml配置文件中进行配置 整数 越小优先级越高

<servlet>
        <servlet-name>demo01ParamServlet</servlet-name>
        <servlet-class>cn.kgc.demo02.Demo01ParamServlet</servlet-class>
        <load-on-startup>2</load-on-startup>
    </servlet>

2 url-pattern 的配置方式有三种

1 完全路径配置 以 / 开始

例如 /hello /servletDemo

2 目录匹配

以/ 开始 以* 结束

/* /wwww/*

3 拓展名匹配

不能以/ 开始 可以*开始 *.jsp

4 / 缺省路径

4 ServletContext对象 重点

4.1 是什么

服务器启动的时候 为每个web 应用会创建一个单独ServletContext对象 ----》存取数据

用这个对象的存取数据 可以在整个的web应用中获得

4.2 如何存取数据

	setAttribute(String name,Object obj);

	getAttribute(String name);

	removeAttribute(String name;

猜你喜欢

转载自blog.csdn.net/qq_45112637/article/details/94647628