1. 配置Servlet的两种方法:
第一种方法:
使用Annotation来配置Servlet,必须满足以下两点:
(1)不要在web.xml文件的根元素(<web-app.../>)中指定metadata-complete="true";
(2)不要在web.xml文件中配置该Servlet。
第二种方法:
在web.xml配置Servlet
(1)配置Servlet的名字:对用web.xml文件中的<servlet/>元素。
(2)配置Servlet的URL:对应web.xml文件的<servlet-mapping/>元素。
两种同时配置时,web.xml配置优先Annotation配置。
2. 配置load-on-startup的Servlet在应用启动时就创建,这种Servlet通常是用于某些后台服务的Servlet。
<load-on-startup.../>元素或loadOnStartup属性都只接收一个整型值,这个整型值越小,Servlet就越优先实例化。
3. 如果重写了Servlet类的init(ServletConfig config)方法,则应在重写该方法的第一行调用super.init(cofig),该方法调用HttpServlet的init方法。
4. 每个Servlet的运行都遵循如下生命周期:
(1)创建Servlet实例。
(2)Web容器调用Servlet的init方法,对Servlet进行初始化。 (3)Servlet初始化后,将一直存在于容器中,用于响应客户端请求。如果客户端发送GET请求,容器调用Servlet的doGet方法处理并响应请求;如果客户端发送POST请求,容器调用Servlet的doPost方法处理并响应请求。或者统一使用service()方法处理来响应用户请求。
(4)Web容器决定销毁Servlet时,先调用Servlet时,先调用destroy方法,通常在关闭Web应用之时销毁Servlet。
6. 修改了src中的源代码后,并进行编译之后,必须重启服务器,访问时所做的修改才会起作用。
7. JspWriter out = response.getOutputStream();
JspWriter out = pageContext.getOut();
以上两行代码返回的对象都是JspWriter类型,JspWriter类是Writer的子类。
PrintStream out = new PrintStream(response.getOutputStream());
以上一行代码返回的对象是PrintStream类型的。PrintStream类是OutputStream类的子类。
8. 总结:当仔细检查完各种代码之后,确定自己的代码没有问题,但依旧浏览器访问不成功,则重启服务器再试一下,有很多细节我们其实都还不不了解。
第一种方法:
使用Annotation来配置Servlet,必须满足以下两点:
(1)不要在web.xml文件的根元素(<web-app.../>)中指定metadata-complete="true";
(2)不要在web.xml文件中配置该Servlet。
第二种方法:
在web.xml配置Servlet
(1)配置Servlet的名字:对用web.xml文件中的<servlet/>元素。
(2)配置Servlet的URL:对应web.xml文件的<servlet-mapping/>元素。
两种同时配置时,web.xml配置优先Annotation配置。
2. 配置load-on-startup的Servlet在应用启动时就创建,这种Servlet通常是用于某些后台服务的Servlet。
<load-on-startup.../>元素或loadOnStartup属性都只接收一个整型值,这个整型值越小,Servlet就越优先实例化。
3. 如果重写了Servlet类的init(ServletConfig config)方法,则应在重写该方法的第一行调用super.init(cofig),该方法调用HttpServlet的init方法。
4. 每个Servlet的运行都遵循如下生命周期:
(1)创建Servlet实例。
(2)Web容器调用Servlet的init方法,对Servlet进行初始化。 (3)Servlet初始化后,将一直存在于容器中,用于响应客户端请求。如果客户端发送GET请求,容器调用Servlet的doGet方法处理并响应请求;如果客户端发送POST请求,容器调用Servlet的doPost方法处理并响应请求。或者统一使用service()方法处理来响应用户请求。
(4)Web容器决定销毁Servlet时,先调用Servlet时,先调用destroy方法,通常在关闭Web应用之时销毁Servlet。
6. 修改了src中的源代码后,并进行编译之后,必须重启服务器,访问时所做的修改才会起作用。
7. JspWriter out = response.getOutputStream();
JspWriter out = pageContext.getOut();
以上两行代码返回的对象都是JspWriter类型,JspWriter类是Writer的子类。
PrintStream out = new PrintStream(response.getOutputStream());
以上一行代码返回的对象是PrintStream类型的。PrintStream类是OutputStream类的子类。
8. 总结:当仔细检查完各种代码之后,确定自己的代码没有问题,但依旧浏览器访问不成功,则重启服务器再试一下,有很多细节我们其实都还不不了解。