jsp/java web基础知识回顾(3)
生命周期-创建实例->init()->service()->destroy()
init()-两种方式init()/init(ServletConfig config){super.init(config)}
sevice(HttpServletRequest req,HttpServletResponse resp)
Servlet体系结构是建立在Java多线程机制之上的,当两个或多个线程同时访问同一个Servlet时,可能会发生多个线程同时访问同一资源的情况,数据可能会变得不一致。对于Servet中成员变量,并发访问时需要采取线程同步的措施确保线程安全
destroy()-服务器删除servlet实例调用,程序员可以覆写它完成,关闭数据库连接等清理工作
15.Servlet API-javax.servlet和javax.servlet.http
javax.servlet.GenericServlet--独立于协议
javax.servlet.HttpServlet,--嵌入了对Http协议的支持
把数据传递给客户端
在Servlet中,可以通过直接向输出流写入数据来生成HTML页面;使用PrintWriter把数据发送回客户端
PrinteWriter out=response.getWriter();out.println(“<HTML>Inside HTML</HTML>”);
在开始进行任何输出之前,必须使用setContentType()方法指定MIME类型
response.setContentType(“text/html,charset=gb2312”);
16.访问servlet,需要在web.xml进行配置
<servlet>
<servlet-name>First</servlet-name>
<servlet-class>com.servlet.FirstServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>First</servlet-name>
<url-pattern>/first</url-pattern>
</servlet-mapping>
17.WEB-INF\classes目录存放Servlet类文件
WEB-INF\lib目录存放Web应用程序所使用的Java库文件(JAR文件)
18.web.xml中<servlet>定义的<init-param>可以通过servlet的getInitParameter()方法或者getServletConfig().getInitParameter()方法
19.过滤器Filter链式
request->filter1->filter2....->目标资源
response <- ..filter<-
javax.servlet.Filte接口
init()
doFilter(ServletRequest request, ServletResponse response,FilterChain chain)过滤器的业务逻辑代码在doFilter()方法内实现
{ ...程序段1...
chain.doFilter(request, response);
...程序段2...
}
destroy()
javax.servlet.FilterConfig接口
javax.servlet. FilterChain接口
web.xml配置
<filter>
<filter-name>
<filter-class>
<init-param>
</filter>
<filter-mapping>
<filter-name>
<url-pattern>//需要过滤的url
<dispatcher>//过滤请求类型
</filter-mapping>
过滤器的过滤执行次序与他在web.xml中定义的次序一致
20 侦听器主要侦听Servlet容器中的事件,所侦听的事件发生后,容器激活侦听器,执行预定的操作。侦听器侦听的事件主要是JSP
隐含对象application、session、request对象上发生的事件,主要有隐含对象的创建与销毁事件,相关作用范围变量的创建、修改和销
相关新闻>>
- 发表评论
-
- 最新评论 更多>>