Servlet小结

Servlet总结
一、Servlet 基本概念
1、Servlet和Servlet容器
Servlet规范两方面
1)规定了Servlet如何写
2)规定了Servlet应该运行的环境

Servlet生命周期
init、destory、service(doPost/doGet)
init,destory只会执行一次
service方法根据请求信息调用不同的doXxx()方法

Servlet配置
<servlet>
<servlet-name></servlet-name>
<servlet-class></servlet-class>
</servlet>
<servlet-mapping>
<servlet-name></servlet-name>
<url-pattern></url-pattern>
</servlet-mapping>

2、Servlet单实例多线程
servlet在运行时只会有一个对象,但是service方法是一个请求分发一个service,即多线程访问。
在service方法中注意线程同步问题。
注意线程同步的问题(参见代码)

二、Servlet 核心API
1、HttpServletRequest request

String getParameter(String)
获得普通表单提交的数据/请求参数

String[] getParameterValues(String) 针对于checkbox

HttpSession request.getSession()
根据request中的SessionID获取Session对象
或者创建新的Session对象

HttpSession getSession(boolean blag) blag为false时session不存在时返回null

void request.setCharacterEncoding(String charset)

Cookie[] request.getCookies() 获得客户端Cookie数组

request.getRequestDispatcher("uri").forward(request, response)转发 request携带数据

request.setAttribute(String, Object)
Object request.getAttribute(String)

2、HttpServletResponse response

response.setContentType(String)
设置响应数据的类型
response.setContentType("text/html;charset=utf-8")
response.setContentType("image/jpeg");

PrintWriter out=response.getWriter();
返回用于响应文本信息的流对象

OutputStream getOutputStream();
返回用于响应二进制信息的流对象

sendRedirect(String uri)
送回一个重定向响应给客户端,客户端根据地址重新发get请求至服务器

void addCookie(Cookie cookie)

3、Cookie
set/get Name
set/get Value
set/get Path
set/get MaxAge

4、HttpSession
getId()
invalidate()
setMaxInactiveInterval(int second)
setAttribute(String, Object)
Object getAttribute(String)

5、ServletContext
set/get Attribute
String getRealPath(String)

6、ServletConfig
String getInitParameter(String)

作用范围:ServletContext整个应用有效,Session在一个有效会话内有效,request在一次请求转发之间有效。

你可能感兴趣的:(多线程,html,应用服务器,servlet)