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在一次请求转发之间有效。
Servlet小结
最新推荐文章于 2024-07-14 19:55:35 发布