servlet入门

servlet入门


servlet是什么

Servlet是sun公司提供的一个开发动态web的接口,如果你想要的开发一个servlet应用,只需要完成两个步骤:

  1. 编写一个类,实现servlet接口
  2. 把该类部署到web服务器中

Servlet有两个默认的实现类:HttpServletGenericServlet


Hello Servlet

  1. 构建一个Maven项目,选择webapp模板
    在这里插入图片描述

  2. main目录下创建javaresources文件夹,并分别标记为源文件夹和资源文件夹
    在这里插入图片描述

  3. 导入相关依赖,如下

    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
    </dependency>
    
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.1</version>
    </dependency>
    
  4. 在Java目录下新建一个HelloServlet类,并继承HttpServlet类,内容如下

    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    
    public class HelloServlet extends HttpServlet {
    
        public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws IOException, ServletException {
            response.setContentType("text/html");
            PrintWriter out = response.getWriter();
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Hello World!</title>");
            out.println("</head>");
            out.println("<body>");
            out.println("<h1>Hello servlet!</h1>");
            out.println("</body>");
            out.println("</html>");
        }
    }
    
  5. 在WEB-INF下的web.xml中注册该servlet,并指定映射关系,内容如下

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                          http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
      version="4.0"
      metadata-complete="true">
    
      <!--注册servlet-->
      <servlet>
        <servlet-name>helloServlet</servlet-name>
        <!--指定该servlet对应的类-->
        <servlet-class>HelloServlet</servlet-class>
      </servlet>
      <!--一个servlet对应一个Mapping-->
      <servlet-mapping>
        <servlet-name>helloServlet</servlet-name>
        <!--请求路径-->
        <url-pattern>/hello</url-pattern>
      </servlet-mapping>
    
    </web-app>
    
    
  6. 配置Tomcat服务器,点击add configuration,添加本地tomcat,并部署项目

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  7. 在下图所示的位置可以修改项目的访问路径

    在这里插入图片描述

  8. 运行项目后,访问http://localhost:8080/hello就可以看到到hello servlet了。


路径映射(servlet-mapping)

servlet的路径映射主要有以下几种类型

  1. 指定一个路径:只有指定的路径可以访问到该servlet

    <servlet-mapping>
      <servlet-name>helloServlet</servlet-name>
      <url-pattern>/hello</url-pattern>
    </servlet-mapping>
    
  2. 指定多个路径:这些指定的路径都可以访问到该servlet

    <servlet-mapping>
      <servlet-name>helloServlet</servlet-name>
      <url-pattern>/hello</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
      <servlet-name>helloServlet</servlet-name>
      <url-pattern>/hello1</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
      <servlet-name>helloServlet</servlet-name>
      <url-pattern>/hello2</url-pattern>
    </servlet-mapping>
    
  3. 指定通用路径:在路径中*表示通配符,例如/hello/*表示hello下的任意路径都可以;/*表示任意路径(默认路径),注意:通用路径的优先级是最低的

  4. 指定后缀:例如*.do表示以.do结尾的路径,注意:*.do前不能加路径

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值