一、对servlet的理解:
servlet通常被称为服务器小程序,功能:处理响应客户端请求。
二:servlet的配置
每个servlet在完成编写之后需要发布到服务器上去,在发布之前需要对servlet进行注册和配置
配置的方法:
(1).使用web.xml
(2).使用servlet3.0新特性:注解
下面就详细介绍下第二种方法:
//注解的使用方式:在lservlet类的声明前面
@WebServlet(name="xxxx",urlPatterns={"/xxxx"}
initParams={
<span style="white-space:pre"> </span>@WebInitparam(name="xxx",value="xxx")
})
这样就完成了对servlet的注册和一些初始化配置。
asyncSupported | 是否支持异步模式 |
displayName | 指定该servlet的显示名 |
initParams | 为servlet配置参数 |
loadOnStartup | load-on-startup |
urlPartterns/Value | 两个参数属性相同 |
三、servlet和jsp的比较
(1)Servlet利于编写jsp代码,jsp利于编写html代码
(2)标准的html工具支持html而不支持servlet
(3)Servlet需要手工编译,jsp只需要服务器编译
(4)我的想法:jsp:编写面向表示的任务,servlet:编写面向处理的任务。
四、servlet的API
(1)servlet的两个实现类
GenericServlet和HttpServlet
(2)Servlet的生命周期
init():初始化
service():响应客户端请求
getServletConfig():配置信息初始化
getServletInfo():返回servlet信息
destroy():结束移除
(3)ServletRequest接口
String getParameter(String name) 用于获取请求信息一起发送的附加信息
int getContentLength() 返回客户端发送请求的实际长度
String getServletName() 返回请求发送至服务器的实际长度
(4)ServletResponse接口
PrintWriter getWriter()
void setContentLength(int length)设置发送到客户端的数据长度
void setBuffrtSize(int size)设置数据缓冲区长度
(5)HttpServletRequest接口
getParameter(String name):String
getParameterValues(String name):String[]
getParameterNames():Enumeration
getAttribute(String name):Object
setAttribute(String name,Object obj):void
removeAttribute(String name):void
setCharacterEncoding(String env):void
(6)HttpServletResponse接口
addCookie(Cookie cookie):void
addHeader(String name,String value):void
encodeURL(String url):String
(7)ServletConfig:传递servlet配置信息
public String getServletName():返回servlet实例名
publc String getInitParameter(String name)
(8)ServletContext接口:与容器交互,获取信息
public ServletContext getContext(String urlpath)
public java.net.URL getResource(String path) throws MalFormedURLException