servlet简介
来源:互联网 发布:势不可挡网络剧百度云 编辑:程序博客网 时间:2024/06/05 13:28
1、概述
Servlet API中共有5个包,约113个接口和类:
- javax.servlet
- javax.servlet.http
- javax.servlet.jsp
- javax.servlet.annotation
- javax.servlet.descriptor
2、Servlet接口
(1)所有Servlet/JSP应用必须直接或者间接实现Servlet接口, Servlet/JSP容器会将实现了Servlet接口的类加载至容器,以供访问。
(2)Servlet中共定义了5个方法:
- void init(ServletConfig config)
- void service(ServletRequest req,ServletResponse res)
- void destroy()
- String getServletInfo()
- ServletConfig getServletConfig()
其中前三个为生命周期方法。
(3)一般而言,在init()中会将ServletConfig赋值给一个类级变量,以便Servlet类中的其它方法可以访问。但在httpServlet中,已经完成了此项工作,可以直接调用getServletConfig()获取即可。
(4)一个应用程序中的所有用户将共用一个Servlet实例,因此不建议使用类级变量,除非它们是只读的,或者是java.util.concurrent.atomic包中的成员。
3、ServletRequest接口与HttpServletRequest接口
(1)ServletRequest接口主要用于获取请求中的参数、内容等,如
- String getContentType()
- String getParameter(Stringname)
(2)HttpServletRequest接口在ServletRequest接口的基础上增加了以下方法:
- String getContextPath() //返回表示请求Context的请求URI部分
- Cookie[] getCookies() //返回一个Cookies对象数据。
- String getHeader(String name)
- String getMethod()
- String getQueryString //返回请求URL中的查询字符串
- HttpSession getSession()
- HttpSession getSession(Boolean create)
4、ServletResponse接口与HttpServletResponse接口
(1)在调用一个Servlet的service()方法之前,Servlet会先创建一个ServletRequest与ServletResponse,并将它们作为参数传给service方法,它们隐藏了将请求发给servlet以及响应发给浏览器的复杂性。
(2)常用方法:获取输出流、设置响应格式等。
- ServletOutputStream getOutputStream() //一般用于文件的上传下载,传输二进制数据
- PrintWritergetWriter() //用于文字的传送,如传输HTML等
- void setLocale(Locale loc)
(3)HttpServletResponse增加了以下方法:
- voidaddCookie(Cookie cookie)
- void addHeader(String name, String value)
- void sendRedirect(String location)
5、GernericSerlvet类
主要完成了以下工作
将init方法中的ServletConfig赋值给一个类级变量,使它可以通过调用getServletConfig来获取。
为Servlet接口中的所有方法提供默认实现。
提供方法来包装ServletConfig中的方法。
但由于一般而言,servlet均为HttpServlet,因此GenericServlet并不常用,主要使用HttpServlet。
- Servlet简介
- Servlet 简介
- Servlet简介
- Servlet 简介
- Servlet简介
- servlet 简介
- Servlet 简介
- Servlet简介
- Servlet简介
- Servlet简介
- Servlet 简介
- servlet简介
- Servlet简介
- servlet简介
- Servlet简介
- Servlet简介
- Servlet简介
- Servlet简介
- [转]程序员如何快速准备面试中的算法
- 最大字段和问题
- 函数指针
- 解决ubuntu14.04下samba共享目录share点开弹出没有权限访问的问题
- 如何打造自己的coreseek/sphinx分词词库
- servlet简介
- jQuery 核心:选取元素
- 弱鸡的博客
- CoordinatorLayout+AppBarLayout+CollapsingToolbarLayout+ViewPager滑动效果,以及代码处理是否推动效果
- 《数据挖掘的数据集资源》
- Redis系列-存储篇list主要操作函数小结
- android ListView向上滑动隐藏标题,下拉显示标题栏
- codeforces - 257c View Angle 【数学】
- Android显示一个多选项对话框