Servlet入门开发步骤

Servlet入门开发步骤

一、创建Javaweb工程

1.选择新建工程
在这里插入图片描述
2.勾选创建工程模板
在这里插入图片描述
3.给工程命名
在这里插入图片描述
4.创建完成
在这里插入图片描述

二、Servlet代码书写以及优化

1.创建一个类实现Servlet并且重写接口的方法

package com.sss.demo;import javax.servlet.*;
import java.io.IOException;public class DemoServlet implements Servlet {@Overridepublic void init(ServletConfig servletConfig) throws ServletException {//这里是Servlet启动时的初始化操作,是执行一次的System.out.println("Servlet启动了");}@Overridepublic ServletConfig getServletConfig() {return null;}@Overridepublic void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {//service就是核心代码了,每次访问都会执行一次System.out.println("Servlet执行了");}@Overridepublic String getServletInfo() {return null;}@Overridepublic void destroy() {//destroy是Tomcat关闭时销毁Servlet时执行的方法System.out.println("Servlet销毁了");}
}

2.配置web.xml文件


<web-app xmlns="http://java.sun.com/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_3_1.xsd"version="3.1"><servlet><servlet-name>DemoServletservlet-name><servlet-class>com.sss.demo.DemoServletservlet-class><load-on-startup>1load-on-startup>servlet><servlet-mapping><servlet-name>DemoServletservlet-name><url-pattern>/demoServleturl-pattern>servlet-mapping>web-app>

3.Servlet是一个接口,我们每次需要重写很多的方法,所以我们继承GenericServlet,它是一个抽象类。所以我们是需要重写service方法即可,这是帮我们提前写好了很多方法的类。

package com.sss.demo;import javax.servlet.GenericServlet;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import java.io.IOException;public class DemoServlet2 extends GenericServlet {@Overridepublic void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {System.out.println("Servlet执行了");}
}

4.我们发现尽管是继承了GenericServlet,只重写了service方法,但是里面还是书写起来很麻烦。因为有多种应用协议,然而我们需要的是一个HTTP协议的操作,所以就使用了HttpServlet来解决这个问题。我们只要重写里面的doGet和doPost最常用的两种请求方法即可。

package com.sss.demo;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;public class DemoServlet3 extends HttpServlet{@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println("DemoServlet3.doPost");}@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println("DemoServlet3.doGet");}
}

5.我们写了几个案例发现了一个严重的问题,那就是web.xml里面非常多的配置,特别的繁琐。所以我们可以使用注解开发。

package com.sss.demo;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;@WebServlet(name = "DemoServlet4",urlPatterns = "/demoServlet4")
public class DemoServlet4 extends HttpServlet{@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println("DemoServlet4.doGet");}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println("DemoServlet4.doPost");}
}

6.现在Servlet已经简化了好了,但是每次创建之后要继承还要手写注解,还是不够简单,所以我们配合模板开发

a.打开File->setting->Editor->File and Code Templates->Other->Web->Java Code Templates->Servlet Annotated Class.java
在这里插入图片描述
b.将里面的内容更换成以下内容

#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
#parse("File Header.java")
@javax.servlet.annotation.WebServlet(urlPatterns = "/${Entity_Name}",name = "${Entity_Name}")
public class ${Class_Name} extends javax.servlet.http.HttpServlet {protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, java.io.IOException {}protected void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, java.io.IOException {doPost(request,response);}
}

c.创建模板开始写代码
在这里插入图片描述
d.创建好的样子

package com.sss.demo;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;@WebServlet(urlPatterns = "/DemoServlet5", name = "DemoServlet5")
public class DemoServlet5 extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request, response);}
}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部