Servlet
1.servlet概述
Servlet是sun公司提供的一门动态资源开发的技术。
本质就是一个java文件
Servlet容器—存储和运行servlet环境 Tomcat
web容器—存储和运行web资源环境 Tomcat
2.手写servlet
- 创建类继承GenericServlet
package cn.tedu.servlet;
import java.io.*;
import javax.servlet.*;
public class FirstServlet extends GenericServlet{
public void service(ServletRequest req,ServletResponse res)throwsServletException,java.io.IOException{
res.getWriter().write("this is first servlet")
}
}
- 编译为class文件(在编译之前要设置临时环境变量 )
set classpath=%classpath%;D:\software\apache-tomcat-8.0.23\lib\servlet-api.jar
带包编译
javac -d . java文件(-d 创建文件夹 .在当前位置创建文件夹) - 将class文件放入到任意的web应用的classes目录
- 配置web.xml添加servlet映射
<servlet>
<servlet-name>FirstServlet</servlet-name>
<servlet-class>cn.tedu.servlet.FirstServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FirstServlet</servlet-name>
<url-pattern>/servlet/FirstServlet</url-pattern>
</servlet-mapping>
3.用idea开发Servlet
1.idea里创建web模块(工程)
创建classes目录和lib目录
手动配置servlet编译之后输出路径
配置jar存储位置
配置当前的模块为web应用(指定web应用真实路径)
配置tomcat
配置发布路径
4.servlet3.0新特性
在servlet3.0中可以使用注解的形式来添加servlet的映射(不需要在web.xml里书写servlet映射)
在servlet之上书写注解@WebServlet("/FirstServlet")—servlet名称
在servlet之上书写注解@WebServlet(name=“FirstServlet”,value="/FirstServlet")
name属性代表web.xml中<servlet-name>
标签
value属性代表web.xml中<servlet-mapping>
标签中<url-pattern>
标签
5.HTTPServlet源码解析
a.在HTTPServlet中已经对service方法进行重写,重写内容就是获取提交方式执行对应的方法(常用提交方式get—doGet(子类的重写方法) post—doPost(子类的重写方法))
b.创建Servlet中,继承HTTPServlet类,需要重写doGet和doPost
c.重写这个两个方法·,在其中可以添加一些操作,这些操作相当于原本写在service方法中的操作
6.Servlet 运行过程和生命周期
7.HTTPServlet的继承结构
Servlet servlet的顶级接口,实现接口就可以创建Servlet
|
|—GenericServlet 实现类 通用的Servlet
|
|—HTTPServlet 子类 在通用Servlet的基础之上,添加一些和HTTP协议相关的操作,擅长HTTP协议相关的开发