Servlet
IT那个小笔记
什么是Servlet
Servlet 运行在服务端的Java程序,是sun公司提供一套规范(接口)
用来处理客户端请求、响应给浏览器的动态资源
servlet的实质就是java代码,通过java的API动态的向客户端输出内容
以后写的程序就不在是在本地执行了。而是编译成字节码,放到服务器上来去执行。
编写程序时, 不需要有main函数了。因为写完后,就把编写的程序编译成字节码,放到服务器上面。当前发送就一个请求的时候,服务器就会按照一定规则调用编写的代码
Servlet的使用
1.创建一个web工程
2.src中新建class文件
3.进入该class实现一个Servlet接口,实现它未实现的方法
4.在web.xml当中进行配置
Servlet的生命周期
init( ),service( ),destroy( )是Servlet生命周期的方法。代表了Servlet从“出生”到“工作”再到“死亡 ”的过程。Servlet容器(例如TomCat)会根据下面的规则来调用这三个方法:
init( )
service( )
destory( )
配置文件
首先是web.xml
一个web应用就会有一个web.xml。它包含着整个应用的配置信息
请求通过server.xml找到web应用之后的处理就在此web应用的web.xml中
<servlet>
<description></description>
<servlet-name>Test</servlet-name>
<servlet-class>com.hao.servlet.Test</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Test</servlet-name>
<url-pattern>/tttt</url-pattern>
</servlet-mapping>
每添加一个servlet就会添加这样一对,servlet标签中的<servlet-name>是自定义当前servlet的标识名,<servlet-class>是当前servlet文件的位置全限定名,servlet-mapping标签是一个映射通过它来找到servlet。
http://localhost:8080/myweb/tttt
通过这样一个请求就会找到<url-pattern>相匹配的<servlet-mapping>知道名字是Test,再去多对的<servlet>中去找到名字是Test的<servlet>然后就通过它的<servlet-class>访问到文件
还有ServletConfig对象
此对象可以访问获取配置文件的信息
在init方法中Tomcat就会自动传入一个ServletConfig对象config
/* 获取当前servlet配置的标识名 */
config.getServletName();
/* 配置文件可以给servlet添加一些键值对,在程序中通过config来访问 */
<servlet>
<description></description>
<display-name>Test</display-name>
<servlet-name>Test</servlet-name>
<servlet-class>com.hao.servlet.Test</servlet-class>
<init-param>
<param-name>参数名</param-name>
<param-value>参数值</param-value>
</init-param>
</servlet>
config.getInitParameter("参数名");
/* 除此之外还可以获得ServletContext */
ServletContext sc = config.getServletContext();