Servlet2

作者: 老茂在北京 | 来源:发表于2017-04-06 21:51 被阅读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>
    

    相关文章

      网友评论

          本文标题:Servlet2

          本文链接:https://www.haomeiwen.com/subject/rwzqattx.html