Servlet学习笔记

Servlet简介

Servlet是什么

Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。

Servlet架构
Paste_Image.png

Servlet生命周期

Servlet 生命周期可被定义为从创建直到毁灭的整个过程。以下是 Servlet 遵循的过程:
创建Servlet有两个时机:1)客户端第一次请求一个Servlet的时候 2)Web应用启动的时候立即创建,load-on-startup Servlet
Servlet 通过调用 init () 方法进行初始化。
Servlet 调用 service() 或者doGet和doPost方法来处理客户端的请求。
Servlet 通过调用 destroy() 方法终止(结束)。
最后,Servlet 是由 JVM 的垃圾回收器进行垃圾回收的。

Hello World

// 导入必需的 java 库import java.io.*;
import javax.servlet.*;import javax.servlet.http.*;
// 扩展 HttpServlet 类
public class HelloWorld extends HttpServlet { 
    private String message; public void init() throws ServletException {
    // 执行必需的初始化 
    message = "Hello World"; 
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
// 设置响应内容类型
 response.setContentType("text/html"); 
// 实际的逻辑是在这里 
 PrintWriter out = response.getWriter(); 
out.println("<h1>" + message + "</h1>"); 
} 
public void destroy() { 
// 什么也不做
 }
}

Servlet的配置

从Servlet3.0开始,配置Servlet有两种方式:

  • 在Servlet中使用@WebServlet注解进行配置
@WebServlet(name="firstServlet", urlPatterns={"/firstServlet"})
  • 在web.xml文件中进行配置
<servlet>
    <servlet-name>name</servlet-name>
    <servlet-class>class</servlet-class>
<servlet>
<servlet-mapping>
    <servlet-name>name</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

load-on-startup Servlet

有两种方式:
方式一:

@WebServlet(loadOnStartUp=1)

方式二:

<servlet>
    <servlet-name>name</servlet-name>
    <servlet-class>class</servlet-class>
    <load-on-startup>1</load-on-startup>
<servlet>

这个整数值越小,表面优先级越高。

访问Servlet的配置参数

同样有两种方式:
方式一:

@WebServlet(name="testServlet",urlPattern="/testServlet",initParams={@WebInitParam(name="a",value="b")})
public class TestServlet extends HttpServlet{
  public void service(HttpServletRequest request,HttpServletResponse, response) throws ServletException, java.io.IOException{
    ServletConfig config = getServletConfig();
    String a = config.getInitParameter("a");
  }
}

方式二:

<servlet>
    <servlet-name>name</servlet-name>
    <servlet-class>class</servlet-class>
    <init-param>
        <param-name></param-name>
        <param-value></param-value>
    </init-param>
<servlet>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,092评论 19 139
  • servlet 简介 1.servlet叫什么 Servlet(Server Applet)是Java Servl...
    维乾阅读 3,853评论 0 1
  • Servlet 学习笔记 一、动态网页技术发展 静态网页技术HTML: 无法进行用户交互 动态网页技术CGI: 效...
    Jane_Static阅读 3,222评论 0 0
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,496评论 11 349
  • 什么是servlet servlet是服务器上运行的小程序,一个servlet就是一个java类,通过“请求-响应...
    情鬼下凡阅读 2,563评论 0 0

友情链接更多精彩内容