【09】Servlet API

1. Servlet包结构

(1) javax.servlet – 支持通用的不依赖协议的Servlet
(2) javax.servlet.http – 用于支持HTTP协议的Servlet

2. 继承关系

在这里插入图片描述
GenericServlet实现Servlet接口,只通过实现service()方法,就能完成通用的,与协议无关的Servlet
抽象类HttpServlet 继承GenericServlet,实现Servlet接口,一般通过一系列的doXXX()方法完成与HTTP协议有关的Servlet操作(常用)

3. ServletConfig接口

(1) 获得单个Servlet的初始化信息,初始化信息来源于Web容器,具体体现为:

    <servlet>
      <servlet-name>LoginServlet</servlet-name>
      <servlet-class>com.servlet.LoginServlet</servlet-class>
      <init-param>
       	<param-name>encoding</param-name>
       	<param-value>utf-8</param-value>
      </init-param>
   </servlet>

通过getInitParameter(“encoding”)方法获得值:utf-8
一个Servlet只有一个ServletConfig对象

4. ServletContext接口

(1) Servlet上下文(上下文环境)
(2) 供整个的Web应用程序共享其资源
(3) 体现形式

  <context-param>
  	 <param-name>stuName</param-name>
  	 <param-value>xiaoming</param-value>
  </context-param>

通过this.getServletContext().getInitParameter(“stuName”)方法获得值:xiaoming

5. HttpServletRequest

(1) String getContextPath() 获得URI的开始部分
(2) Cookie[] getCookies() 获得此次请求中所有的Cookie对象
(3) HttpSession getSession()

获得与此次请求相关的Session,如果没有Session,则创建新的 Session与之关联,常用

(4) HttpSession getSession(boolean flag)

获得与此次请求相关的Session,有Session则返回
如果没有Session,且布尔值为true,则创建新的Session
如果没有Session,且布尔值为false,则返回null

(5) getMethod():获得提交的方式

6. ServletResponse

(1) getWriter() – 返回PrintWrite对象,用于向客户端发送文本

	PrintWriter out = response.getWriter();
	out.print("<script type=\"text/javascript\">alert(\"提示信息内容!\");window.location=\"URL\";<script>");

7. HttpServletResponse

(1) addCookie – 添加Cookie信息
(2) sendRedirect(“URL”) – 重定向
(3) encodeURL(url) – URL重写

8. Cookie类

25.1 在javax.servlet.http包中
25.2 只有一个带有两个参数的构造方法

    Cookie cookie = new Cookie(“键”,”值”);

25.3 通过request对象的getCookies()方法获得Cookie
25.4 通过response对象的addCookie(obj)将Cookie发送至客户端

9. HttpSession接口

26.1 在javax.servlet.http包中
26.2 创建Session

    HttpSession session = request.getSession();
    HttpSession session = request.getSession(true/false);

26.3 Session的常用方法
(1) setAttribute(“键”,”值”);
(2) getAttribute(“键”) – 获得Session中的属性,得到的值为Object类型,需要强转
(3) getId() – 获得Session编号
(4) invalidate() – 销毁
(5) isNew() – 返回Session是否是新创建的标记
(6) getCreationTime() – 返回Session的创建时间,自1970-1-1开始的毫秒值
(7) long time = request.getSession().getCreationTime();
(8) Date date = new Date(time);
(9) setMaxInactiveInterval(int 秒) – 设置Session的有效期
(10) getLastAccessedTime() – 获得最后一次访问Session的时间

猜你喜欢

转载自blog.csdn.net/Spectre_win/article/details/88977572
今日推荐