• Servlet 3.0以上版本使用@WebServlet注解配置映射


    以前的Servlet都是在web.xml中进行配置,导致web.xml中各个Servlet的映射非常杂乱无章,后期也很难维护

    本篇文章将详细阐述如何使用Servlet 3.0的新特性使用@WebServlet注解进行配置

    Let's do it !

    首先,使用eclipse或者IntelliJ IDEA创建一个Java Web项目

     

    输入项目名后点击next,然后再点击next

    到这一步的时候注意一下:

     

    勾选一下生成web.xml的选项

    然后我们点击finish完成

     

     

     项目目录如上图所示

    接下来我们先创建一个JSP页面,用于访问Servlet

    然后再新建一个包,放置Servlet

     

     

    下面我们创建一个Servlet,首先选中包,右键点击New->Servlet

     

     

     

     然后点击Servlet,输入Servlet的名字之后

    然后点击Next

     

     

     Initialization parameters指的是Servlet初始化时的参数

    URL mappings指的是访问该Servlet时的路径名

    然后我们再次点击Next

     

     

     在Interfaces选项中可以Add需要实现的接口,但是我们这次只做演示,所以不需要太多复杂的功能

    下面这些复选框可以指定需要实现的方法,一般只需使用doGet和doPost,其他的方法以后深入学习之后再进行使用,然后我们点击Finish

    创建好的Servlet以及项目目录如下:

     

     

     其中首部的@WebServlet注解指定的是Servlet的名字以及访问时候的名字(如果是使用IntelliJ IDEA则需要在web.xml中的webapps的标签将metadata-complete属性改为false,并且在@WebServlet的注解中urlPatterns属性指定为访问该Servlet的路径

    我们将IDE生成的注释删除掉,整个结构就比较清晰了

     

     前台页面如果是使用Post方式提交则会访问doPost方法,如果是使用Get方式提交则会访问doGet方法

    然后我们在doGet方法中写一小段代码进行测试

     1 package com.cnblogs.controller;
     2 
     3 import java.io.IOException;
     4 import java.io.PrintWriter;
     5 
     6 import javax.servlet.ServletException;
     7 import javax.servlet.annotation.WebServlet;
     8 import javax.servlet.http.HttpServlet;
     9 import javax.servlet.http.HttpServletRequest;
    10 import javax.servlet.http.HttpServletResponse;
    11 
    12 @WebServlet("/HelloServlet")
    13 public class HelloServlet extends HttpServlet {
    14     private static final long serialVersionUID = 1L;
    15     
    16     public HelloServlet() {
    17         super();
    18     }
    19 
    20     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    21         PrintWriter out = response.getWriter();
    22         out.println("Hello Servlet");
    23     }
    24 
    25     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    26         
    27     }
    28 
    29 }

    然后我们在JSP中写一个超链接直接访问Servlet

     1 <%@ page language="java" contentType="text/html; charset=UTF-8"
     2     pageEncoding="UTF-8"%>
     3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     4 <html>
     5     <head>
     6         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     7         <title>首页</title>
     8     </head>
     9     <body>
    10         <a href="HelloServlet">进入HelloServlet</a>
    11     </body>
    12 </html>

    启动项目

     

    点击超链接

     

     访问成功

     

     

     

    讲解就到这里,如果您有好的建议请在评论区提出,谢谢指正!

     

  • 相关阅读:
    centos7 安装docker 对应的 rabbitmq3.6.15
    golang中defer的使用规则
    Yii2-redis 不用 composer 的安装
    安装并使用PHPunit
    PHP Taint – 一个用来检测XSS/SQL/Shell注入漏洞的扩展
    SQL Antipatterns——SQL 反模式(二)
    tp5 No input file specified.
    vue 封装自定义组件
    判断微信访问
    phalcon windows下安装phalcon-devtools 官网的坑
  • 原文地址:https://www.cnblogs.com/yijiahao/p/11797430.html
Copyright © 2020-2023  润新知