Servlet入门简单介绍

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 {
@Override
public void init(ServletConfig config) throws ServletException {}
@Override
public ServletConfig getServletConfig() {return null;}
@Override
public void service(ServletRequest req, ServletResponse res)throws ServletException, IOException {System.out.println("hello");}
@Override
public String getServletInfo() {return null;}
@Override
public 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处理的请求地址




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值