文章目录
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的时间