servlet概述:
servlet是一个接口,它定义了java类能被浏览器识别的(tomcat识别)的规则。(java中规则就是接口)。它需要一个实现类,实现servlet接口,复习方法。
servlet快速入门步骤:
- 创建javaEE的项目
- 定义一个类,实现servlet接口
public class demo1 implements Servlet;
- 实现接口中的抽象方法
- 配置servlet
servlet执行原理:
- 当服务器被客户端浏览器访问时,会解析浏览器发送的URL,获取访问servlet的资源路径
- 查找web.xml配置文件,是否有对应的
<url-parttern></url-parttern>
标签体内容- 如果有则找到对应的
<servlet-calss>
全类名- tomcat会将字节码文件加载进内存,并且创建对象
- 调用其方法
(自己话说:解析浏览器发送的请求解析servlet的资源路径,与配置文件做比较是否有对应的资源,如果有就把相应的资源加载进内存,创建其对象,调用其方法)
servlet的生命周期:
- 被创建:init方法,整个周期只执行一次,默认情况下被调用的时候执行
当在配置文件中设置<load-on-startup>
为0或正整数时,将会在服务器启动时调用- 提供服务:servive方法,每次访问都会执行一次,能够执行多次
- 被销毁:destroy方法,当服务器正常关闭的时候执行一次
servlet 3.0升级了配置方式:
可以不需要web.xml进行配置,直接使用注解配置方法
@WebServlet("/访问数据名")
浏览器访问为:localhost:8080/访问路径名 即可
使用httpServlet方法只需要重写doPost与doGet方法即可,需要继承httpServlet方法
例如:
@WebServlet("/demo2")
public class demo2 extends httpServlet{
@Override
protected void doGet() {
System.out.println("doGet....");
}
@Override
protected void doGet() {
System.out.println("doGet....");
}
}
servletContext
概念:代表整个web应用,可以和程序的容器(服务器)来通信
获取:
1. request.servletContext() //通过request对象获取
2. this.servletContext() //通过HttpServlet获取
功能:
- 获取MIME类型
*MIME类型:在互联网通信过程中定义的一种数据类型
例如:大类型/小类型 text/html image/jpg
- 域对象:共享数据
*setAttribute(String name,Object value)
*getAttribute(String name)
*removeAttribute(String name)
- 获取文件的真实(服务器)路径
*获取:
String getRealPath(String path)