Servlet编程

本文详细介绍了Servlet的概念,包括其作为JavaEE的web组件如何以Java类的形式存放并以Web形式读取,以及Servlet的配置、初始化参数设置、映射规则、生命周期和主要方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

软件152 罗杰

1. Servlet概念:Servlet是一种JavaEE的web组件,以Java类的形式存放,以Web形式 读取。继承了HttpServlet类  

2. 引入的包:java.io.*;javax.servlet.*;javax.servlet.http.*

3. Servlet配置:在WEB-INF下得web.xml文件下

a) 声明Servlet:

    <servlet>
    <servlet-name>类名</servlet-name><!—声明servlet的名字 -- >
    <servlet-class>包名.类名</servlet-class><!—指定servlet的全名 -- >
    </servlet>

b) 声明servlet初始化参数:

<servlet> 

<init-param>
<param-name>参数名</param-name>
<param-value>参数值</param-value>
</init-param>
</servlet>
注:servlet声明初始化参数后,在servlet中的init方法中用config.getInitParameter(“参数名”)来取出初始化参数的值

c) servlet映射:

<servlet>
<servlet-mapping>
<servlet-name>servlet名</servlet-name>
<url-pattern>映射地址</url-pattern>
</servlet-mapping>
</servlet>
注:1.声明servlet和其映射的时候要注意servlet名必须一致
2.映射地址分为绝对映射和模糊映射
绝对映射:以”/”开头
模糊映射:前置方式:*.do或者*.action
后置方式:”/*”或者”/目录/*”
注意区别联众映射的区别,声明一个servlet的映射的时候要么以“/”开头要么以“*”开头。否则均视为映射声明错误

d) servlet的四种方法:
public void init(ServletConfig config) throws ServletException {
//声明servlet初始化
}
public void destroy() {
// servlet终止
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 用Get方法传递参数时调用的方法
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 用post方法传递参数时调用的方法
}

e)servlet生命周期:从用户调用servlet开始到向应客户结束

转载于:https://www.cnblogs.com/R0GER/p/7107090.html

### Servlet 编程入门及相关知识 #### 什么是ServletServlet 是一种运行在服务器端的 Java 程序,主要用于接收客户端请求并返回动态内容给客户端[^4]。 #### Servlet 的基本结构 为了使一个类成为 Servlet,它通常会继承 `javax.servlet.http.HttpServlet` 类。这样可以利用 Servlet 容器提供的功能和服务[^1]。 以下是 Servlet 生命周期的主要方法及其作用: - **init 方法**:当 Servlet 被加载到内存时调用一次,用于初始化资源。此方法接受一个 `ServletConfig` 对象作为参数[^2]。 - **service 方法**:这是 Servlet 的核心方法,在每次接收到客户端请求时都会被调用。该方法负责分派 GET 或 POST 请求至相应的 `doGet` 和 `doPost` 方法。 - **destroy 方法**:当 Servlet 实例即将从服务中移除时调用,通常是在容器关闭时触发。在此方法中可释放占用的资源。 #### 创建一个简单的 Servlet 示例 下面是一个完整的 Servlet 示例代码: ```java import javax.servlet.*; import javax.servlet.http.*; import java.io.IOException; import java.io.PrintWriter; public class HelloServlet extends HttpServlet { @Override public void init() throws ServletException { System.out.println("Servlet 初始化..."); } @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); try { out.println("<html>"); out.println("<head><title>Hello Servlet</title></head>"); out.println("<body>"); out.println("<h1>欢迎来到 Servlet 世界!</h1>"); out.println("</body>"); out.println("</html>"); } finally { out.close(); } } @Override public void destroy() { System.out.println("Servlet 销毁..."); } } ``` 上述代码定义了一个名为 `HelloServlet` 的简单 Servlet,实现了 `doGet` 方法来响应 HTTP GET 请求,并向浏览器发送 HTML 响应。 #### 配置 web.xml 文件 为了让 Tomcat 或其他 Servlet 容器识别这个 Servlet,需要将其注册到项目的部署描述符文件 (`web.xml`) 中: ```xml <web-app> <servlet> <servlet-name>HelloServlet</servlet-name> <servlet-class>HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloServlet</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping> </web-app> ``` 以上配置表示访问路径 `/hello` 将映射到 `HelloServlet` 这个 Servlet 上。 --- ####
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值