Servlet的配置和生命周期

1.jsp中可写java代码

 

<%    
Person person=new Person();
System.out.println(person.getInfo());
%>

2.Servlet的 HelloWorld
1)创建一个Servlet接口的实现类

 

public class HelloServlet implements Servlet

2)在web.xml 文件中配置和映射这个Servlet

 

<servlet> 
		<!--Servlet 注册的名字-->
			<servlet-name>helloServlet</servlet-name>
		<!--Servlet全类名-->
			<servlet-class>com.zc.javaweb.HelloServlet</servlet-class>  
		</servlet>
		<servlet-mapping>
		<!--需要和某一个Servlet节点的Servlet-name子节点的文本节点一致-->
			<servlet-name>helloServlet</servlet-name>
		<!--映射具体的访问路径:“/”代表当前WEB应用的根目录-->
			<url-pattern>/hello</url-pattern>
		</servlet-mapping>

访问的地址
http://localhost:8080/Servlet/hello
/hello
一个Servlet可以有多个Servlet-mapping为其映射。
3.Servlet容器:运行Servlet,Jsp,Filter等的软件环境
1)可以创建Servlet,并调用Servlet的相关生命周期方法

 

2).JSP,Filter,listener,Tag。。。

 

 

4.Servlet 生命周期的方法:以下方法都是由Servlet容器负责调用
1).构造器:只有第一次请求Servlet时,创建Servlet的实例。调用构造器。
这说明Servlet是单实例的!
关乎线程安全,不推荐在里边写全局变量,因为每次都会在Service里面改变!!
2).init方法:只被调用一次,在创建好实例后立即被调用。用于初始化当前Servlet。
3).service:被多次调用,每次请求都会调用service方法。实际用于响应请求的。
4).destroy:只被调用一次,在当前Servlet所在的WEB应用被卸载前调用。
用于释放Servlet所占用的资源。

5.load-on-startup 参数:
1).配置在servlet节点中:

 

<servlet> 
		<!--Servlet 注册的名字-->
			<servlet-name>secondServlet</servlet-name>
		<!--Servlet全类名-->
			<servlet-class>com.zc.javaweb.SecondServlet</servlet-class> 
		<!--可以指定Servlet 被创建的时机--> 
			<load-on-startup>0</load-on-startup>
		</servlet>


2).load-on-startup:可以指定Servlet被创建的时机。若为负数,则在第一次请求时再被创建,。若为0或正数,则在当前WEB应用被
Servlet容器加载时创建实例,且数值越小越早被创建,先创建的后销毁,后创建的先销毁。

6.Servlet-mapping:
1)同一个Servlet可以被映射到多个URL上,即多个<servlet-mapping>元素的<servlet-name>子元素的设置值可以是同一个
Servlet注册名
2).再Servlet映射到的URL中也可以使用* 通配符,但是只能有两种固定的格式:
一种是“*.扩展名”(如*.html) 
另一种是“/*” 

 

<servlet-mapping>
			<!--需要和某一个Servlet节点的Servlet-name子节点的文本节点一致-->
			<servlet-name>secondServlet</servlet-name>
		<!--映射具体的访问路径:“/”代表当前WEB应用的根目录-->
			<url-pattern>*.html</url-pattern>
			<!--或者 <url-pattern>/*</url-pattern> -->
		</servlet-mapping>
		

注意:以下方式不合法

 

<servlet-mapping>
			<!--需要和某一个Servlet节点的Servlet-name子节点的文本节点一致-->
			<servlet-name>secondServlet</servlet-name>
		<!--映射具体的访问路径:“/”代表当前WEB应用的根目录-->
			<url-pattern>/*.action</url-pattern>
		</servlet-mapping>

RyanJJ_署名

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值