Java Servlet 初学者快速入门指南(注解)

这篇教程详细介绍了如何使用Java Servlet API 3.0中的@WebServlet注解来声明和配置Servlet,以及如何在Tomcat服务器上部署和测试。通过注解,可以避免XML配置,简化开发流程。示例包括单一URL模式、带有附加信息的Servlet声明以及映射多个URL。教程还包含了创建目录结构、编写Servlet类和JSP页面、编译以及打包成WAR文件的步骤。
摘要由CSDN通过智能技术生成



在本 Java 教程中,我将帮助您使用@WebServlet注释从头开始开发 Java servlet,以及如何在 Tomcat 服务器上部署、运行和测试 servlet。

本教程与Java servlet 初学者快速入门指南 (XML)类似,不同之处在于 servlet 配置和映射是通过注解而不是在web.xml文件中完成的。没有使用 XML 的东西。

表中的内容:

  1. servlet注解快速介绍
  2. 创建目录结构
  3. 编写带注释的 servlet 类
  4. 编写 JSP 页面
  5. 编译servlet
  6. 创建 WAR 文件
  7. 部署和测试 Web 应用程序

  

1. servlet注解快速介绍

Servlet API 3.0 引入了一个名为javax.servlet.annotation的新包,它提供了可用于注释 servlet 类的注释类型。注释可以替换 Web 部署描述符文件 ( web.xml ) 中的等效 XML 配置,例如 servlet 声明和 servlet 映射。Servlet 容器将在部署时处理带注释的类。

Servlet 3.0 中引入的注解类型有:

注解@WebServlet用于声明一个servlet 类(该类仍然必须从HttpServlet类扩展)并为其配置映射。以下是使用@WebServlet注解的一些示例:

  • 声明 servlet 的最简单方法:
    1
    2
    3
    4
    @WebServlet("/Submit")
    public class QuickServlet extends HttpServlet {
        // servlet code here...
    }

    这里 servlet QuickServlet 映射到 URL 模式:/Submit。 

  • 声明一个带有附加信息的 servlet:
    1
    2
    3
    4
    5
    6
    7
    8
    @WebServlet(
        name = "AnnotatedServlet",
        description = "A sample annotated servlet",
        urlPatterns = {"/QuickServlet"}
    )
    public class QuickServlet extends HttpServlet {
        // servlet code here...
    }
    此处的 servlet 声明了附加信息,例如名称和描述。

  • 声明一个具有多个 URL 模式的 servlet:
    1
    2
    3
    4
    5
    6
    @WebServlet(
        urlPatterns = {"/foo""/bar""/cool"}
    )
    public class QuickServlet extends HttpServlet {
        // servlet code here...
    }

    此处 servlet 使用三种不同的 URL 模式进行映射:/foo/bar/cool

     
     

现在让我们构建一个简单的 Java Web 应用程序,它有一个使用@WebServlet注释配置的 servlet。假设您的计算机上安装了JDK 1.7Tomcat 7.0 。当然,您可以使用较新的版本。

 

2.创建目录结构

由于我们不使用任何 IDE,因此创建以下目录结构:

并假设当前工作目录是QuickServlet目录。


3.编写带注释的servlet类

在src\net\code\java\servlet目录下创建名为QuickServlet.java的 servlet 类。粘贴以下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package net.codejava.servlet;
 
import java.io.IOException;
import java.io.PrintWriter;
 
import javax.servlet.annotation.WebServlet;
 
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
@WebServlet(
    name = "AnnotatedServlet",
    description = "A sample annotated servlet",
    urlPatterns = {"/QuickServlet"}
)
public class QuickServlet extends HttpServlet {
 
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws IOException {
 
        PrintWriter writer = response.getWriter();
        writer.println("<html>Hello, I am a Java servlet!</html>");
        writer.flush();
    }
 
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws IOException {
        String paramWidth = request.getParameter("width");
        int width = Integer.parseInt(paramWidth);
 
        String paramHeight = request.getParameter("height");
        int height = Integer.parseInt(paramHeight);
 
        long area = width * height;
 
        PrintWriter writer = response.getWriter();
        writer.println("<html>Area of the rectangle is: " + area + "</html>");
        writer.flush();
 
    }
}

 

4.编写JSP页面

WebContent目录下,使用以下代码创建一个名为index.jsp的 JSP 文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<html>
<head>
    <title>Quick Servlet Demo</title>
</head>
<body>
    <a href="/QuickServlet">Click here to send GET request</a>
     
    <br/><br/>
     
    <form action="QuickServlet" method="post">
        Width: <input type="text" size="5" name="width"/>
        &nbsp;&nbsp;
        Height <input type="text" size="5" name="height"/>
        &nbsp;&nbsp;
        <input type="submit" value="Calculate" />
    </form>
</body>
</html>

 

5. 编译servlet

键入以下命令来编译 servlet 类:

javac -cp TOMCAT_HOME \lib\servlet-api.jar" -d CLASS_DIR SRC_DIR \QuickServlet.java

代替:

  • TOMCAT_HOME = C:\Program Files\Apache Software Foundation\Tomcat 7.0
  • CLASS_DIR =WebContent \ WEB-INF \ 类
  • SRC_DIR =src\net\codejava\servlet


6. 创建WAR文件

键入以下命令,将WebContent目录打包为 WAR 文件(注意末尾有一个点):

jar cfv deploy\QuickServletApp.war -C WebContent 。

请注意,没有web.xml文件,因为我们使用了@WebServlet注解来声明和映射 servlet。


7. 部署和测试 Java servlet

请参阅教程:Java servlet 初学者快速入门指南 (XML)以部署和测试应用程序。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值