Servlet入门简单介绍

来源:互联网 发布:无限网络万能钥匙 编辑:程序博客网 时间:2024/06/06 02:44

Servlet简介

1、Servlet服务器端的重要组件,直译为服务的小程序,属于动态资源用来处理请求,服务器接收到请求后会调用Servlet来处理请求

2、Servlet的主要作用:接收请求;处理请求; 完成响应。

当我们要完成一个登录功能时用户会将输入的用户名和密码以POST请求的形式发送到服务器,但是服务器本身并不具有能力来读取用户发送的用户名和密码也就不可能对用户名和密码进行验证,所以当服务器收到这类请求需要将请求转个一个Servlet处理。

Servlet实现类由我们编写,而由Web服务器(Servlet容器)调用,每个Servlet都必须实现javax.servlet.Servlet。

Servlet生命周期

 Servlet的生命周期指的是Servlet由实例化到被销毁的过程同样也被分为三个阶段:实例化、处理请求、被销毁。而每个阶段我们都有对应的方法来实现响应的功能,在实例化阶段需要调用init()方法来做初始化操作处理请求阶段调用service()方法处理请求,销毁对象之前调用destroy()释放资源等操作。

Servlet生命周期相关方法

public void init(ServletConfig config)

public void service(ServletRequest req, ServletResponse res)

 public void destroy()

创建一个Servlet实现类

a) 创建动态WEB项目WEB_Servlet

b) 在项目下创建包com.atguigu.web.servlet

c) 包下创建一个类HelloServlet实现javax.servlet.Servlet接口

d) 在HelloServletservice()方法加入一行打印语句System.out.println(“hello”);

e) 在WEB-INF目录下的web.xml文件中注册映射Servlet

<servlet>

<servlet-name>HelloServlet</servlet-name>

<servlet-class>com.atguigu.web.servlet.HelloServlet</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>HelloServlet</servlet-name>

<url-pattern>/HelloServlet</url- pattern >

</servlet-mapping>

启动服务器,在浏览器中访问http://localhost:8080/WEB_Servlet/HelloServlet

实现类具体代码:
public class HelloServlet implements Servlet {@Overridepublic void init(ServletConfig config) throws ServletException {}@Overridepublic ServletConfig getServletConfig() {return null;}@Overridepublic void service(ServletRequest req, ServletResponse res)throws ServletException, IOException {System.out.println("hello");}@Overridepublic String getServletInfo() {return null;}@Overridepublic void destroy() {}}

web.xml配置文件

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"><servlet><servlet-name>HelloServlet</servlet-name><servlet-class>com.atdongruan.web.servlet.HelloServlet</servlet-class></servlet><servlet-mapping><servlet-name>HelloServlet</servlet-name><url-pattern>/HelloServlet</url-pattern></servlet-mapping></web-app>

lweb.xml文件详解

因为创建好的Servlet需要由Servlet容器调用,而Servlet容器并不能知道我们所创建的Servlet的存在,所以需要在web.xml文件中进行注册。

<servlet></servlet>用于注册servlet

<servlet-name>用于设置servlet的名字,在服务器中关于servlet的一配置都需要servlet-name来进行配置

<servlet-class>用于设置servlet的全类名,用于创建servlet的实例(反射

仅仅注册是远远不够的,因为Servlet是用来处理客户发送的请求的,所以还需要为Servlet映射一个请求地址。

<servlet-mapping>用于映射需要servlet处理的请求地址

<servlet-name>servlet的名字,<servlet>中<name>有对应关系

<url-pattern>需要servlet处理的请求地址




原创粉丝点击