Servlet简介:
Server + let。意为:运行在服务器端的小程序。Servlet实际上就是一个接口。狭义上的Servlet,指的就是Servlet接口。广义上的我们认为凡是实现Servlet接口的类,我们都称他是一个Servlet。
Servlet的作用:
1.接收用户发送的请求
2.调用其他的java程序来处理请求
3.根据处理结果,返回给用户一个页面
Servlet的HelloWorld
1.创建一个类并实现Servlet接口
2.在web.xml文件中对Servlet进行配置
<servlet> <servlet-name>别名</servlet-name> <servlet-class>全类名</servlet-class> </servlet> <servlet-mapping> <servlet-name>别名</servlet-name> <url-pattern>需要servlet处理的请求地址</url-pattern> </servlet-mapping>
Servlet的生命周期方法:
1.构造器:
Servlet第一次处理请求时,会调用构造器,来创建Servlet实例。 只会调用一次,Servlet是单例模式,他是以多线程的方式调用service()方法。Servlet不是线程安全,所以尽量不要再service()方法中操作全局变量。
2.init()方法:
构造器调用之后马上被调用,用来初始化Servlet,只会调用一次。
3.service()方法:
Servlet每次处理请求时都会调用service()方法,用来处理请求,会调用多次。
4.destroy()方法:
Servlet对象销毁前(WEB项目卸载时)调用,用来做一些收尾工作,释放资源。
HttpServlet继承了GenericServlet,而GenericServlet实现Servlet接口。所以我们可以同构继承HttpServlet来创建一个Servlet。
URI和URL
- URL是URI的一种实现,也是URI最常见的实现方式。
- URI有两种实现方式URL和URN,URN用的很少
- 我们说URL和URI实际上可以理解为一个意思
URL地址的格式:
http://主机名:端口号/项目名/资源路径/资源名
转发的路径由服务器解析,设置绝对路径时不需要加项目名
重定向的路径由浏览器解析,设置绝对路径时需要加上项目名