JavaWeb——Servlet

Servlet 知识梳理

什么是 Servlet

servlet 是java程序,是在服务器上运行以处理客户端请求并做出响应的程序。

生命周期

在这里插入图片描述

生命周期的各个阶段

实例化 servlet 容器创建servlet 实例
初始化 该容器调用 init() 方法
请求处理 如果请求servlet ,则容器调用 service() 方法
服务终止 销毁实例之前调用 destroy() 方法

生命周期相关方法

public class HelloServlet implements Servlet {
        prvate  ServletConfig config;
        Public void destory();
        public ServletConfig getServletConfig(){
              return config;
        }
        public void init(ServletConfig config)throws ServletException{
               this.config=config;
	    System.out.println("初始化!");	
        }
        Public void service(ServletRequest req,ServletResponse res)
	throws ServletException,IOException{
	    PrintWriter out = res.getWrite();
	    out.println("Hello world");
	    out.close();
        }
        public void destroy() {
	super.destroy();
	System.out.println("释放资源!");	}
}

九大内置对象

request、response、session、application、out、pagecontext、config、page、exception

接口常用方法

ServletConfig

  1. 在 Servlet 初始化过程中获取配置信息
  2. 一个 Servlet 只有一个 ServletConfig 对象
方法名称功能描述
String getInitParameter(String name)获取web.xml中设置以name命名的初始化参数值
ServletContext getServletContext()返回Servlet的上下文对象引用

ServletConText

方法名称功能描述
ServletContext getContext(String path)返回服务器上与指定URL相对应的ServletContext对象
void setAttribute(String name,Object obj)设置Servlet中的共享属性
Object getAttribute(String name)获取Servlet中设置的共享属性

GenericServlet抽象类

提供了Servlet与ServletConfig接口的默认实现方法

方法名称功能描述
String getInitParameter(String name)返回服务器上与指定URL相对应的ServletContext对象,实际上是调用ServletConfig接口的同名方法
ServletContext getServletContext()返回Servlet的上下文对象引用,实际上是调用ServletConfig接口的同名方法
void init()初始化Servlet

HttpServlet继承于GenericServlet

处理HTTP协议的请求和响应象

方法名称功能描述
void doGet(HttpServletRequest request,HttpServletRresponse response)以Get请求服务时调用
void doPost(HttpServletRequest request,HttpServletRresponse response)以Post请求服务时调用

配置Servlet

<web-app>
    <servlet>
        <servlet-name> HttpServletTest </servlet-name>
        <servlet-class>cn.jbit.servlet. HttpServletTest </servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name> HttpServletTest </servlet-name>
        <url-pattern>/HttpServletTest </url-pattern>
    </servlet-mapping>
</web-app>

HttpServletRequest类常用方法

方法名称功能描述
String getParameter(String param)获取客户端请求数据
void setCharacterEncoding(String encoding)设置输入字符集

HttpServletResponse类常用方法

方法名称功能描述
void setContentType(String contType)设置输出字符集
void sendRedirect(String url)让浏览器重定向到指定的资源
ServletJavaEE 规范中的一部分,是处理 Web 请求的组件。Servlet 运行在服务器端,能够接收客户端发来的请求,并给客户端响应结果。下面我们来看看 Servlet 的基本概念和使用方法。 ## 一、Servlet 的基本概念 ### 1.1 Servlet 的生命周期 Servlet 的生命周期包含以下三个阶段: - 初始化阶段(init):当 Servlet 实例化后,Web 容器会调用其 init() 方法进行初始化操作。在此阶段,Servlet 可以执行一些初始化操作,例如读取配置信息、建立数据库连接等。 - 请求处理阶段(service):当客户端发来请求时,Web 容器会创建一个线程调用 Servlet 的 service() 方法处理请求。在此阶段,Servlet 可以获取请求参数、处理请求并生成响应数据。 - 销毁阶段(destroy):当 Web 应用停止或 Servlet 被卸载时,Web 容器会调用 Servlet 的 destroy() 方法进行清理工作。在此阶段,Servlet 可以释放资源、关闭数据库连接等。 ### 1.2 Servlet 的配置 在使用 Servlet 时,需要在 web.xml 文件中进行配置。以下是一个 Servlet 的基本配置: ```xml <servlet> <servlet-name>MyServlet</servlet-name> <servlet-class>com.example.MyServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>MyServlet</servlet-name> <url-pattern>/myservlet</url-pattern> </servlet-mapping> ``` 其中,servlet-name 表示 Servlet 的名称,servlet-class 表示 Servlet 的类名,url-pattern 表示请求的 URL 匹配规则。 ## 二、Servlet 的使用方法 ### 2.1 编写 Servlet 编写 Servlet 有两种方法:一种是继承 HttpServlet 类,另一种是实现 Servlet 接口。这里以继承 HttpServlet 类为例: ```java public class MyServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // 处理 GET 请求 PrintWriter out = resp.getWriter(); out.println("Hello, world!"); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // 处理 POST 请求 PrintWriter out = resp.getWriter(); out.println("Hello, world!"); } } ``` 在 Servlet 中,doGet() 方法用于处理 GET 请求,doPost() 方法用于处理 POST 请求。通过调用 HttpServletResponse 对象的 getWriter() 方法可以向客户端返回响应数据。 ### 2.2 部署 Servlet 将编写好的 Servlet 部署到 Web 容器中,有两种方法:一种是将 Servlet 类打成 war 包放到 Web 容器的 webapps 目录下,另一种是通过 Eclipse 等开发工具将 Servlet 部署到 Web 容器中。部署完成后,可以通过访问 Servlet 的 URL 来测试 Servlet 是否正常工作。 ## 三、总结 本文介绍了 Servlet 的基本概念和使用方法。ServletJava Web 开发中非常重要的组件,掌握 Servlet 的使用方法对于 Java Web 开发人员来说是必不可少的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值