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。

相关推荐
子兮曰1 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
小羊没烦恼!1 天前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
子兮曰1 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
俊昭喜喜里1 天前
java中的继承和多态的区别
java
小羊没烦恼!1 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
爱勇宝1 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
譕痕1 天前
JSONObject与JSONArray封装数据格式区别
java·json
胡写代码1 天前
别再前后端各写一套表单校验了
java·后端
小鱼能吃糖1 天前
缺陷修复总览 · mall电商项目:5类缺陷,1个病根,4个业务域
java·电商
此时不提桶,更待何时1 天前
01-06-A-JVM排查实战详解
java·jvm