美文网首页
后端开发从零起步【7】Servlet

后端开发从零起步【7】Servlet

作者: 万里寻龙 | 来源:发表于2022-05-22 13:23 被阅读0次

    【江湖秘籍】
    Servlet是一个java的类,Server Applet,服务连接器,用于响应客户端请求
    创建一个java类实现JAVA的Servlet接口即可

    public class DemoServlet implements Servlet {
        @Override
        public void init(ServletConfig servletConfig) throws ServletException {
    
        }
    
        @Override
        public ServletConfig getServletConfig() {
            return null;
        }
    
        @Override
        public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
            System.out.println("接收到浏览器的请求!");
        }
    
        @Override
        public String getServletInfo() {
            return null;
        }
    
        @Override
        public void destroy() {
    
        }
    }
    

    然后在web.xml中进行配置,在<web-app>标签中添加以下代码

     <servlet>
            <!-- Servlet别名 -->
            <servlet-name>DemoServlet </servlet-name>
            <!-- 别名所对应的Servlet类 -->
            <servlet-class>com.DemoServlet </servlet-class>
        </servlet>
    
    <!-- Servlet映射配置 -->
        <servlet-mapping>
            <servlet-name>DemoServlet </servlet-name>
            <!-- 浏览器的访问地址 -->
            <url-pattern>/firstblood</url-pattern>
        </servlet-mapping>
    

    完事儿以后浏览器访问该地址,或者直接run程序,IDEA自动打开浏览器加载该地址,tomcat就会调用我们已经实现的service()方法,在输出中可以看到我们sout的"接收到浏览器的请求!"

    一个请求就成功被处理了。

    以上是实现Servlet接口的方式,java还提供了一个叫做GenericServlet的类帮我们实现了这些接口,继承这个类的话,只需重写service一个方法就可以,不用像上面那样把接口的方法都实现一遍。

    public class DemoServlet extends GenericServlet {
        @Override
        public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
            System.out.println("GenericServlet类的service接口响应");
        }
    }
    

    和上面一样,做一下映射配置即可。
    效果是一样的。但我们还可以使用GenericServlet 的一个子类,叫做HttpServlet

    public class DemoServlet extends HttpServlet {
    
        public DemoServlet () {
            System.out.println("构造方法");
        }
    
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            System.out.println("响应Post请求");
        }
    
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            System.out.println("响应Get请求");
        }
    
        @Override
        public void destroy() {
            System.out.println("销毁");
        }
    
        @Override
        public void init() throws ServletException {
            System.out.println("初始化");
        }
    }
    

    还是做一下映射配置。
    可以看到这里能够分别响应post和get请求,所以一般用这个会更方便。

    实际上,在IDEA中,可以直接右键New一个Servelet, New的下级菜单下面直接有create new servelet,输入名称之后,IDEA就帮我们自动继承了HttpServelet。
    这里IDEA可以自动生成一个注解,@WebServlet(name = "DemoServlet", url = @"/firstblood")
    用这个注解可以帮我们自动完成映射配置,不用单独再去找xml配置了,省不少事儿

    相关文章

      网友评论

          本文标题:后端开发从零起步【7】Servlet

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