5:Servlet程序-Java Web

5.1 Servlet要求

Servlet要求: 为了创建和部署一个Servlet,需要满足以下基本条件:

  • Java环境:Servlet是基于Java的,所以必须在支持Java EE(现在通常称为Jakarta EE)的环境中开发和运行。
  • Servlet API依赖:编写Servlet时,需要包含Servlet API库作为项目的依赖。在Maven项目中,这可以通过添加对应的坐标到pom.xml文件来实现;在非Maven项目中,则需手动将Servlet API JAR文件添加到类路径中。
  • 容器支持:Servlet必须部署在支持Servlet规范的应用服务器或Servlet容器上,如Apache Tomcat、Jetty等。

5.2 创建Servlet

创建Servlet的过程

  1. 新建Servlet类 :创建一个新的Java类,继承自javax.servlet.http.HttpServlet。这个类至少需要重写doGet()和/或doPost()方法以处理HTTP GET和POST请求。
java 复制代码
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class MyFirstServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // 在这里处理GET请求逻辑
        response.getWriter().println("<h1>Hello from My First Servlet!</h1>");
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // 在这里处理POST请求逻辑
    }
}
  1. 注解配置(可选) :从Servlet 3.0开始,可以使用注解代替web.xml进行配置,例如使用@WebServlet注解直接在Servlet类上指定URL映射。
java 复制代码
@WebServlet("/my-first-servlet")
public class MyFirstServlet extends HttpServlet {
    // ...
}

5.3 第一个Servlet

下面是一个基础Servlet示例,它响应HTTP GET请求并返回简单的HTML内容:

java 复制代码
@WebServlet("/hello")
public class HelloWorldServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html");
        response.getWriter().println("<html><body><h1>Hello, World!</h1></body></html>");
    }
}

当用户访问 http://your-server.com/your-app-context/hello 时,会触发该Servlet并显示 "Hello, World!"。

5.4 Servlet编译

Servlet编译 : 编译Servlet就像编译任何其他Java类一样,使用Java编译器(javac)或其他IDE(如Eclipse、IntelliJ IDEA)的内置编译功能将源代码转换为.class字节码文件。

5.5 Servlet配置

Servlet配置: Servlet可以通过两种方式配置其行为和服务的URL:

  • XML配置(web.xml) :在Web应用的部署描述符web.xml文件中声明Servlet。
xml 复制代码
<servlet>
    <servlet-name>MyFirstServlet</servlet-name>
    <servlet-class>com.example.MyFirstServlet</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>MyFirstServlet</servlet-name>
    <url-pattern>/my-first-url</url-pattern>
</servlet-mapping>

上述配置表示Servlet类com.example.MyFirstServlet被映射到/my-first-url的HTTP请求上。

  • 注解配置:如前所述,Servlet 3.0及以上版本支持使用注解来替代XML配置。

完成编译和配置后,将编译后的Servlet类及其依赖放入Web应用程序结构的正确位置,并部署到Servlet容器中即可启动并访问Servlet。

相关推荐
咖啡八杯11 分钟前
GoF设计模式——中介者模式
java·后端·spring·设计模式
lizhongxuan2 小时前
多Agent之间的区别
后端
青石路4 小时前
记一次多JDK版本问题的排查,一坑套一坑,差点没爬上来
java
杨充4 小时前
1.面向对象设计思想
后端
IT_陈寒5 小时前
Java的Date类又坑了我一次,改用时间戳真香
前端·人工智能·后端
systemPro5 小时前
2.6亿条设备数据,历史查询从超时到50ms,我做了什么
后端
要阿尔卑斯吗6 小时前
提示词优化启示:为什么“按顺序输出“比“关键度评分“更有效
后端
她的男孩6 小时前
后台接口加密别只会 HTTPS,ForgeAdmin 的 RSA + SM4/AES 源码拆解
后端·面试·开源
极光技术熊6 小时前
Spring AI 从入门到精通:构建你的 AI 开发知识体系
后端·github
程序员cxuan6 小时前
一句话,让你用上 GPT-5.6
人工智能·后端·程序员