servlet部分

HTTP协议

http协议介绍:

http协议:超文本传输协议,规定客户端与服务器之间的数据交换的格式.底层依然使用的TCP协议.

http协议经过三个版本: 1.0,1.1,2.0 .目前主流的依然是http1.1 . 1.0是每发起一次请求都会创建一次,使用结束销毁,1.1会建立一个通道用于请求响应更节约资源.

http协议规定(请求与响应协议):

客户端访问服务器:请求(request)

服务器端给客户端返回数据:响应(response)

请求和响应数据都分为三个部分:

请求头,请求体,请求行

        请求头:由多个key和Value组成的数据对

        请求体:客户端需要给服务器提交的数据

        请求行:请求服务器的URL地址和请求的方式(get或者post)

响应头,响应体,响应行

        响应头:由多个key和Value组成的数据对
        响应体:服务器给客户端返回的数据

        响应行:响应的状态码,相应的服务器地址等信息.

Servlet

Servlet介绍

Servlet:本质是java企业级技术中提供的一个接口,常用于提供如何处理请求与响应的规则

在创建javaweb服务器是需要基于Servlet接口进行编码,自己的项目也需要按照Servlet接口进行编程,这样服务器才能运行我们的Servlet程序.

Servlet细节

在将Tomcat集成到IDEA中时,实际是IDEA将本地的Tomcat必须的文件和相关配置赋值了一份,所以可以在IDEA中更改端口号,这时改的端口号只作用于当前项目.不会影响本地Tomcat.

Servlet的生命周期

Servlet生命周期:Servlet对象从创建,提供服务,销毁这个过程.

Servlet创建时间:

        1.Servlet默认在项目发布是时候,或者Tomcat启动的过程只是加载,不会创建.当任何一个客户端请求到这个Servlet的时候才会创建.

        2,可以在项目的web.xml文件中配置当前Servlet创建的时间<load-on-startup></load-on-startup>

在Servlet创建的时候,首先会执行构造方法,然后会执行Servlet接口中的init方法,可以腹复写init方法,在其中提供一些关于初始化要执行的代码.

Servlet销毁时间:

        1,项目从Tomcat被移除(此时Tomcat没有停止,只是项目被移除),Servlet被销毁

        2,关闭Tomcat服务器.

复写Servlet接口中的destroy方法,实现销毁时要执行的逻辑代码.

doGet,doPost与Service方法区别

URL-Pattern书写规则

创建的每一个Servlet程序,都必须配置URL-Pattern,用于同外界访问这个Servlet的路径.

三种写法:优先级不同(完全匹配>通配符>扩展名)

完全匹配模式(全路径匹配):在客户端访问时,会匹配url-pattern中书写的整个路径

<servlet-mapping>

        <servlet-name>demoServlet</servlet-name>

        <url-pattern>/login</url-pattern>

</servlet-mapping>

 通配符模式:通过/*配置,*号称为通配符,可以匹配任意符号

<servlet-mapping>

        <servlet-name>demoServlet</servlet-name>

        <url-pattern>/login/*</url-pattern>

</servlet-mapping>

 扩展名模式:*.xxx

<servlet-mapping>

        <servlet-name>demoServlet</servlet-name>

        <url-pattern>*.html</url-pattern>

</servlet-mapping>

@WebServlet注解的使用

        在Servlet3.0后提供了注解(annotation),我们可以不用再web.xml里面配置servlet,只需要加上@WebServlet注解就可以修改该servlet的属性了。web.xml可以配置的servlet属性,在@WebServlet中都可以配置。

        即将原来的Servlet类上面加上@WebServlet("/后续路径");可以通过该注解完成去web.xml部署Servlet的过程.

部分细节:

1.使用这个注解时web.xml文件的设置

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0" metadata-complete="false">
</web-app>

metadata-complete属性:

无论是Servlet,还是Filter,Listener等,在自定义Filter时,要想使它起作用,那么必须要对它进行配置,一般都有两种配置的方式,一种是基于配置式的,另一种则是基于注解式的。

metadata-complete="false"	//false是指使用注解式  注解式时可以省略不写
metadata-complete="true"	//true是指使用配置式

//注:使用注解式就不要使用配置式了,即不能同时配置Servlet的web.xml 又添加注解

war和war exploded

区别

war模式:将WEB工程以包的形式上传到服务器 ;
war exploded模式:将WEB工程以当前文件夹的位置关系上传到服务器;


(1)war模式这种可以称之为是发布模式,这是先打成war包,再发布;

(2)war exploded模式是直接把文件夹、jsp页面 、classes等等移到Tomcat 部署文件夹里面,进行加载部署。因此这种方式支持热部署(热部署,就是不需要停掉服务,可以线上改,改完立马生效),一般在开发的时候也是用这种方式。

(3)在平时开发的时候,使用热部署的话,应该对Tomcat进行相应的设置,这样的话修改的jsp界面什么的东西才可以及时的显示出来。

获取路径的区别

war模式是最终打包部署到Tomcat的位置 即获取tomact项目路径

war exploded模式,同样进行设置,运行同一段代码,得到的是该项目的位置,其实就是这个项目target的位置,即获取项目磁盘路径

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值