Servlet类的部署

要想让Web服务器使用Servlet类编译后的字节码文件创建Servlet对象处理用户请求,必须先为Web服务器部署。部署Servlet目前有两种方式;1.在web.xml中部署;2.基于注解的方式部署Servlet。

一、在web.xml中部署
在JavaWeb中创建一个Servlet类,代码如下:

package Servlet;
import javax.servlet.*;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

public class FirstServlet extends HttpServlet {
    private static final long serialVersionUIO = 1L;

    @Override
    public void init(ServletConfig config) throws ServletException {
        super.init(config);
    }
    public void service (HttpServletRequest request, HttpServletResponse response)throws IOException {
        response.setContentType("text/html;charset=utf-8");
        PrintWriter out = response.getWriter();
        //out.println("<html><body>");
        out.println("在web.xml中部署Servlet-------红乐");
        //out.println("<body><html>");
    }
}

然后在项目中找到web.xml
在这里插入图片描述
在<web-app></web-app>中添加如下内容:

    <!-- servlet 标签给 Tomcat 配置 Servlet 程序 -->
    <servlet>
        <!--servlet-name 标签 Servlet 程序起一个别名(一般是类名) -->
        <servlet-name>FirstServlet</servlet-name>
        <!--servlet-class 是 Servlet 程序的全类名-->
        <servlet-class>Servlet.FirstServlet</servlet-class>
    </servlet>
    <!--servlet-mapping 标签给 servlet 程序配置访问地址-->
    <servlet-mapping>
        <!--servlet-name 标签的作用是告诉服务器,我当前配置的地址给哪个 Servlet 程序使用-->
        <servlet-name>FirstServlet</servlet-name>
        <!--url-pattern 标签配置访问地址 <br/>
        / 斜杠在服务器解析的时候,表示地址为:http://ip:port/工程路径 <br/>
        /hello 表示地址为:http://ip:port/工程路径/hello <br/>
        -->
        <url-pattern>/firstServlet</url-pattern>
    </servlet-mapping>

发布到Web服务器后,在浏览器中输入“http://localhost:8088/ch66zhang/firstServlet”来运行Servlet
在这里插入图片描述
二、基于注解的方式部署Servlet
在JavaWeb中创建一个Servlet类,代码如下:

package Servlet;
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
@WebServlet(name= "secondServlet",urlPatterns  = {"/secondServlet"})
public class SecondServlet extends HttpServlet {
    private static final long serialVersionUIO = 1L;

    @Override
    public void init(ServletConfig config) throws ServletException {
        super.init(config);
    }
    public void service (HttpServletRequest request, HttpServletResponse response)throws IOException {
        response.setContentType("text/html;charset=utf-8");
        PrintWriter out = response.getWriter();
       // out.println("<html><body>");
        out.println("基于注解的方式部署Servlet-----红乐");
        //out.println("<body><html>");

    }
}


在这里插入图片描述
在代码中使用“@WebServlet(name= “secondServlet”,urlPatterns = {"/secondServlet"})”部署之后,就不必在web.xml中部署了。

@WebServlet的常用属性列表
在这里插入图片描述
发布到Web服务器后,在浏览器中输入“http://localhost:8088/ch66zhang/secondServlet”来运行Servlet
在这里插入图片描述