Servlet

Servlet

servlet API 就2个包:javax.servlet.*,javax.servlet.http.*

servlet生命周期

init()-service(ServletRequest request,ServletResponse response)-destroy()

初始化-就绪-接收请求-响应请求-销毁(服务器重启或项目重载的时候),初始化只会被调用一次(因为servlet是单例)

service中的2个参数是web服务器封装好后传进来的

ServletRequest对象是对Http请求的封装,基本上封装了所有请求信息

ServletResponse对象是响应对象,每来一个请求就会生成一个对应的响应对象

可以使用/*或*.do通配符的形式进行<url-pattern>的配置(作用是可以屏蔽有些页面)

例如:/news/*可以让原来访问/new下的资源的请求转向到特定页面)

<servlet>
    <servlet-name>servletName</servlet-name>
    <servlet-class>servletClass</servlet-classe>
</servlet>
<servlet-mapping>
    <servlet-name>servletName</servlet-name>
    <url-pattern>/*</url-pattern>
    </servlet-mapping>

servlet是单例的,如果真的有共享数据,应采用同步的方案解决

servlet是可以在服务器启动时初始化(注册的时候配置<load-on-startup>1</load-on-startup>)

这个功能可以在服务器启动的时候启动一些线程来定时备份数据库,写日志,发邮件等
注册的时候还可以配置初始化参数

<init-param>
    <param-name></param-name>
    <param-value></param-value>
</init-param>

可以定义全局的参数供所有servlet读取(很少使用)

<context-param>
    <param-name></param-name>
    <param-value></param-value>
</context-para>

response.setContentType("text/html;charset=utf-8");这个是告诉浏览器用utf-8解析/同时也会用utf-8编码

response.setCharacterEncoding("utf-8");这个是告诉编辑器用utf-8编码//一般用上面的

request.setCharacterEncoding("utf-8");使用utf-8来对请求信息解码


 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(Servlet)