servlet快速入门及原理

servlet快速入门及原理

1概念 Servlet: server applet

Java类依赖于服务器才能执行 也就是Tomcat执行
Java类需要遵守一定的规则才能被Tomcat识别
(规则也就相当于接口)    
这个规则(接口)也就是servlet
    
 * 概念:运行在服务器端的小程序
	* Servlet就是一个接口,定义了Java类被浏览器访问到(tomcat识别)的规则。
	* 将来我们自定义一个类,实现Servlet接口,复写方法。   

在这里插入图片描述

2快速入门

servlet 运行在Tomcat 或web服务器里面

* 快速入门:
	1. 创建JavaEE项目
	2. 定义一个类,实现Servlet接口
		* public class ServletDemo1 implements Servlet
	3. 实现接口中的抽象方法
	4. 配置Servlet
		 在web.xml中配置:
	    <!--配置Servlet -->
	    <servlet>
	        <servlet-name>demo1</servlet-name>
	        <servlet-class>cn.itcast.web.servlet.ServletDemo1</servlet-class>
	    </servlet>
	
	    <servlet-mapping>
	        <servlet-name>demo1</servlet-name>
	        <url-pattern>/demo1</url-pattern>
	    </servlet-mapping>

2.1定义一个类,实现Servlet接口

在这里插入图片描述

2.2配置servlet

为什么要配置servlet:Java类已经定义好,将来需要通过浏览器访问Java类
浏览器通过URL来访问
URL:
	localhost:8080/项目名称/资源名称
例如;localhost:8080/day13_tomcat/Demo

资源名称即Demo需要找到Java类:所以把Java类映射资源名称路径


	4. 配置Servlet
		 在web.xml中配置:
	    <!--配置Servlet -->
    <!--配置servlet -->
    <servlet>
        <servlet-name>demo1</servlet-name> <!--对类的名称配置demo1-->
        <servlet-class>cn.itcast.web.servlet.ServletDemo01</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>demo1</servlet-name>
        <url-pattern>/demo1</url-pattern><!--对路径进行映射-->
    </servlet-mapping>

在浏览器中测试输入:localhost:8080/demo1

在这里插入图片描述

Hello Servelet! 成功输出

在这里插入图片描述

3.虚拟目录

改成虚拟目录输出: localhost:8080/day14_tomcat/demo1

在这里插入图片描述

同样测试:成功输出

在这里插入图片描述

4.Servlet执行原理

在浏览器中输入:Http://localhost:8080/day14_tomcat/demo1 service()方法自动被调用

通过localhost 找到主机

8080 找到tomcat

/day14_tomcat 找到当前tomcat 部署的项目

/demo1 也就是资源名称

cn.itcast.servlet.ServletDemo01全类名
看到全类名 Tomcat会做以下三件事
1. Tomcat将全类名对应的字节码文件加载进内部 Class.forName()
2.创建对象 class.newInstance()
3.调用service方法

对象的创建、方法的调用都是由服务器执行的

* 执行原理:
	1. 当服务器接受到客户端浏览器的请求后,会解析请求URL路径,获取访问的Servlet的资源路径
	2. 查找web.xml文件,是否有对应的<url-pattern>标签体内容。
	3. 如果有,则在找到对应的<servlet-class>全类名
	4. tomcat会将字节码文件加载进内存,并且创建其对象
	5. 调用其方法

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值