Servlet

简介: 一、servlet的概述servlet是采用java编写的运行在服务器上的程序,用于接受用户的请求,并针对请求产生响应。javax.servlet.Servlet是servlet的顶层接口,主要方法有init和destory,service三个方法。

一、servlet的概述

servlet是采用java编写的运行在服务器上的程序,用于接受用户的请求,并针对请求产生响应。javax.servlet.Servlet是servlet的顶层接口,主要方法有init和destory,service三个方法。

二、编写servlet程序

servlet编写总共有3个步骤:
1、定义SendMsgServlet继承HttpServlet,并且放置在com.tanzhou.servlet包下。
2、通常重写init、destroy、doGet、doPost四个方法。
3、在web.xml中配置改servlet:全路径指定servlet类并起别名,同时可以设置参数(也可以不设置),然后设置servlet的映射路径,这样请求相应的路径就能访问到对应的servlet类中,其中在发送请求的时候,action的路径“/”开头的是绝对路径,没有“/”开头的是相对文件所在目录的路径。

  <servlet>
    <!-- 给servlet取个别名自定义,不能重名 -->
    <servlet-name>SendMsgServlet</servlet-name>
    <!-- 指定这个servlet是哪个类,全路径 -->
    <servlet-class>com.prosay.servlet.SendMsgServlet</servlet-class>
    <!-- 配置初始化的参数,可以使用ServletConfig来读取 -->
    <init-param>
        <param-name>keyword</param-name>
        <param-value>fuck,shit,cao</param-value>
    </init-param>
  </servlet>
  <!-- 2.配置Servlet的映射 浏览器中访问某个资源的时候怎么知道这个资源是哪个java类 -->
  <servlet-mapping>
    <!-- 指定位哪个servlet配置映射 -->
    <servlet-name>SendMsgServlet</servlet-name>
    <url-pattern>/chatroom/send</url-pattern>
  </servlet-mapping>

三、servlet生命周期

这里写图片描述

四、get和post的区别

这里写图片描述

五、ServletContext

ServletContext是servlet上下文对象,收缩压servlet共享的一片内存空间,我们可以把数据存储在片内容空间中,实现在多个servlet当中共享数据。
在servlet中可以通过this.getServletContext()来获取上下文对象,通过setAttribute设置上下文对象属性,通过getAttribute获取上下文对象属性。
初始化默认加载的初始化servlet的init方法:

ServletContext application = this.getServletContext();
//第一次访问(初始化)创建一个ArrayList用来存储消息列表,然后将这个ArrayList实例存入Servlet上下文中
List<String> msgs = new ArrayList<String>();
//servletContext存属性方式 setAttribute(String attrName,Object attr)
application.setAttribute("msgs",msgs);

获取上下文对象属性:

//获取上下文对象
ServletContext application = this.getServletContext();
//this.getServletConfig();获取配置信息,这个配置信息是web.xml中配置的
//从上下文中获得已有的消息列表
List<String> msgs = (List<String>)application.getAttribute("msgs");

六、load-on-startup

servlet默认情况下是在服务器启动之后,第一次从web上访问后才会执行init方法初始化。在web.xml配置servlet的时候,我们可以通过0这样的标签,让tomcat启动就加载对应的servlet,并且执行init方法。

  <servlet>
    <servlet-name>init</servlet-name>
    <servlet-class>com.prosay.servlet.InitServlet</servlet-class>
    <!-- 配置应用启动,servlet进行初始化调用  数字越小启动越靠前-->
    <load-on-startup>0</load-on-startup>
  </servlet>

七、ServletConfig

每一个servlet都对应在web.xml中有一段配置,ServletConfig对象真是读取这段专属servlet的配置文件信息。可以通过配置一些外部参数更加灵活的让servlet工作。

private String[] keywords ;
ServletConfig config = this.getServletConfig();
String keyword = config.getInitParameter("keyword");
keywords = keyword.split(",");
目录
相关文章
|
5月前
|
IDE Java 应用服务中间件
Servlet3.0
Servlet3.0
|
6月前
|
Java 应用服务中间件 容器
|
7月前
|
小程序 Java 应用服务中间件
Servlet这些你可能还不知道
Servlet这些你可能还不知道
35 0
|
3月前
|
XML Java 应用服务中间件
一文了解Servlet
Servlet是用于开发基于Java的Web应用程序的Java类。Servlet在Web服务器上运行,接收来自客户端(通常是Web浏览器)的请求并生成响应。 Servlet提供了一种动态生成网页内容的方法。它可以接收HTTP请求,读取请求参数,与数据库进行交互,生成动态内容,并返回响应给客户端。 Servlet通常被部署在Java Web容器(如Apache Tomcat)中。
43 1
一文了解Servlet
|
8月前
|
应用服务中间件
Servlet2(2)
Servlet2(2)
46 0
|
8月前
|
Java 应用服务中间件
Servlet2(1)
Servlet2(1)
43 0
|
8月前
|
XML JavaScript 前端开发
servlet详解
servlet详解
|
8月前
|
应用服务中间件
Servlet的详细使用(上)
Servlet的详细使用(上)
60 0
|
Java 应用服务中间件
Servlet详解
Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。 狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。
133 1
Servlet(三)
关于Servlet的相关介绍
121 0
Servlet(三)