Javaweb之注解访问servlet和web.xml配置文件

时间:2022-03-05 13:11:16

一、在这里顺便回顾一下servlet

1、首先servlet用于对用户的请求及响应

Javaweb之注解访问servlet和web.xml配置文件

 2、以及servlet接口需要实现的的五个方法:

Javaweb之注解访问servlet和web.xml配置文件

 

 

 二、两种方式前面过程是一样的,创建一个web工程

1、创建一个dynamic web project,本人命名为:ServerletDemo_WebServerlet

Javaweb之注解访问servlet和web.xml配置文件

2、next两下,勾选Generate web.xml(后面手动创建也可以)

Javaweb之注解访问servlet和web.xml配置文件

三、两种访问方式

1、web.xml访问方式

(1)src下创建包com.serverlet.test

Javaweb之注解访问servlet和web.xml配置文件

(2)创建一个class文件,命名为Myservlet.java

package com.serverlet.test;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * 注解WebServlet用来描述一个Servlet
 * 属性name描述Servlet的名字,可选
 * 属性urlPatterns定义访问的URL,或者使用属性value定义访问的URL.(定义访问的URL是必选属性)
 */
@WebServlet(name="ServletDemo",urlPatterns="/ServletDemo")
public class Myservlet extends HttpServlet {
    
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.getWriter().write("Hello Servlet3.0");
    }

    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        this.doGet(request, response);
    }
}

(3)在tomcat上运行后,访问:http://localhost:8080/ServerletDemo_WebServerlet/ServletDemo,中间ServerletDemo_WebServerlet是项目名称

Javaweb之注解访问servlet和web.xml配置文件

2、注解方式访问servlet(这里可以重新创建一个工程)

(1)先修改web.xml,这个文件路径是:

Javaweb之注解访问servlet和web.xml配置文件

(2)修改web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>ServerletDemo_xml</display-name>
  <servlet>
    <servlet-name>Myservlet</servlet-name>
    <servlet-class>com.serverlet.test.Myservlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>Myservlet</servlet-name>
    <url-pattern>/ServletDemo</url-pattern>
  </servlet-mapping>
</web-app>

 

 保存即可。

(3)处理servlet请求(可以直接将前面的创建好的包(包含java文件)直接复制过来)

去掉注解即可

package com.serverlet.test;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * 注解WebServlet用来描述一个Servlet
 * 属性name描述Servlet的名字,可选
 * 属性urlPatterns定义访问的URL,或者使用属性value定义访问的URL.(定义访问的URL是必选属性)
 */
public class Myservlet extends HttpServlet {
    
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.getWriter().write("Hello Servlet3.0");
    }

    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        this.doGet(request, response);
    }
}

(4)在tomcat上直接运行,访问相同链接:http://localhost:8080/ServerletDemo_xml/ServletDemo,中间ServerletDemo_xml是项目名称

Javaweb之注解访问servlet和web.xml配置文件