Servlet

这篇博客详细介绍了Servlet的基础知识,包括Servlet的概述、快速入门、执行原理、生命周期,以及Servlet3.0的配置方式和注解匹配规则,帮助读者全面了解Servlet的体系结构。
摘要由CSDN通过智能技术生成

Servlet

1、Servlet的概述
Servlet是一个接口,定义了网络访问的规则.(抽象方法)
保证每一次访问的内容都根据逻辑进行判断,显示不同的内容出来(新闻每一次访问的时候都不一样)
2、Servlet的快速入门
A.创建JavaEE Module
B.写一个类,实现接口 javax.servlet.Servlet
C.重写五个方法
D.配置web.xml文件
	    <!-- 需要配置Servlet的路径(包名称类名称,网络访问路径)-->
		<servlet>
			<servlet-name>test01</servlet-name>
			<servlet-class>demo.Test01</servlet-class>
		</servlet>
		<servlet-mapping>
			<servlet-name>test01</servlet-name>
			<url-pattern>/aa</url-pattern>
		</servlet-mapping>
		<!-- 访问的地址 -->
		http://127.0.0.1:8080/aa
3、Servlet的执行原理
A. 当服务器接受到客户端浏览器的请求后,会解析请求URL路径,获取访问的Servlet的资源路径
B. 查找web.xml文件,是否有对应的<url-pattern>标签体内容。
C. 如果有,则在找到对应的<servlet-class>全类名
D. tomcat会将字节码文件加载进内存,并且创建其对象
E. 调用其方法,如何知道调用的是哪一个方法?实现过Servlet接口.知道方法的名称返回值参数等
4、Servlet生命周期
A. init() 初始化的方法,只会执行1次
        a.配置的两种情况(在web.xml文件的<servlet>标签当中配置)
            <load-on-startup> 数据值 </load-on-startup>
            0和正数:0-10之间) 服务器启动的时候,调用 init()方法
            负数:-10 - -1之间) 第一次访问的时候,调用 init()方法
        b.变量定义的问题
            可以把变量定义在方法当中,作为局部变量使用
            即使定义成员变量,也不要轻易修改变量的值,容易出现 多线程访问的数据安全问题!
B. service() 服务的方法,可以执行多次
C. destroy() 销毁的方法,只会执行1次
	执行的时机:正常关闭Servlet以及关闭之前执行.
5、Servlet3.0配置的方式
在Servlet的实现类上面添加注解  @WebServlet("/bb")
访问的方式: http://127.0.0.1:8080/day/bb   其中day是虚拟目录
6、Servlet的体系结构
abstract class GenericServlet implements Servlet
abstract class HttpServlet extends GenericServlet
7、注解的匹配规则
A.基础语法(定义数组的多个匹配规则)
	@WebServlet({"/*","/test04/xx"})
    
B.常见的写法
	a.  "/*"   访问:   http://127.0.0.1:8080/day    就可以访问,其中day13是虚拟目录
	b.  "/xx"  访问:   http://127.0.0.1:8080/day/xx
	c.  "/xx/heihei"  访问:   http://127.0.0.1:8080/day/xx/heihei
	d.  "*.do"   访问:   http://127.0.0.1:8080/day/jiji.do  这里的jiji可以任意写

代码实现:

//1.写一个类继承 HttpServlet
//2.重写 doGet() 和 doPost() 方法
//访问的地址:   http://127.0.0.1:8080/demo3
@WebServlet("/demo3")
public class Test2 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("欢迎来到葵花麻麻课堂。。。。。");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("葵花麻麻课堂又开课了。。。。。");
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
>