Servlet2
2017-04-06 本文已影响3人
老茂在北京
在web.xml配置虚拟
Servlet的执行过程//重写的5个方法
public class ServletDemo1 implements Servlet{
public void service(ServletRequest arg0, ServletResponse arg1)
throws ServletException, IOException {
arg1.getWriter().write("hello demo1...");
}
public void destroy() {
}
public ServletConfig getServletConfig() {
return null;
}
public String getServletInfo() {
return null;
}
public void init(ServletConfig arg0) throws ServletException {
}
}
Servlet的声明周期
- 第一次请求时,servlet实例通过init()被创建并初始化,不管请求多少次,都只调用一次
- 实例通过service方法提供服务
- 服务器关闭或手动移除服务时,调用destroy方法进行销毁
Servlet的接口实现关系
Servlet接口实现关系 HttpServlet类开发步骤
- 编写一个类,继承HttpServlet
- 重写 doGet 和 doPost 方法
- 在 web.xm l配置
修改模板
//为了修改模板本身带来的不必要的注释
* 先找到MyEclipse的安装路径
* D:\MyEclipse\Common\plugins\com.genuitec.eclipse.wizards_9.0.0.me201211011550.jar
* 千万别解压,右键-选择压缩工具打开-templates--Servlet.java
新建一个Servlet
上图next, 配置文件设置
自动加载配置
正整数越小,优先级越高
自动加载配置
配置Servlet路径映射配置
l虚拟路径配置虚拟路径即为:<url-pattern>/demo</url-pattern>
三种配置方式 优先级web开发中的路径问题
- 相对路径
- hello
- ./hello
- ../myweb/hello
- 绝对路径
- /hello
- /myweb/hello
- 客户端绝对路径与服务器端绝对路径的区别
- 客户端绝对路径 /day/demo5 需要写项目名
- 服务器端绝对路径 /demo5 不能写项目名
关于缺省的Servlet
缺省的servlet<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>true</param-value> //默认是false,可以改为true
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>