//Servlet的生命周期
webapp中的servlet页面html
在客户端第一次请求服务器时,java
一、加载相关的Servlet类,使用ClassLoader:类加载器。而后web
二、由tomcat经过从HttpServlet继承来的构造方法new出来这个类对象,或说是实例化出一个对象,而且只有这一个对象(在同一个容器中)。tomcat
三、初始化:调用HttpServlet的init(ServletConfig config)方法。服务器
//只执行一次,在第一次初始化的时候app
//config 中保存着这个Servlet 的配置信息(web.xml 中的配置信息)webapp
四、处理请求:调用HttpServlet的父类GenericServlet的void service(ServletRequest req,ServletResponse res),这个方法再调用HttpServlet的protected void servicejsp
(HttpServletRequest req,HttpServletResponse resp)throws ServletException,IOException,这个方法再调用HttpServlet的相应的doPost\doGet等方法,this
处理的是客户端的请求。编码
五、在适当时机退出服务 destory()。如:webApplication 退出的时候调用,或者web应用程序重启后等。
tomcat服务器事先建立好空闲的线程(线程池),等待众多客户端请求,共享一个servlet对象。
//tomcat 下解决乱码问题
传到的页面内开始处写以下代码:
<%@page contentType="text/html;charset=gbk"%>
<%request.setCharacterEncoding("gbk");%>
实在不成,以下手工转码:
String str=new String("astr".getBytes("ISO8859_1"),"gbk");
将任意字符串如astr,按照ISO8859_1的编码方式按照gbk字符编码方式取出来。