什么是Servlet?
Servlet是Tomcat上提供的一组API。
基于Servlet开发的基本流程
初始化:允许程序员注册一个类到Tomcat中,让这个类和HTTP中的一个特定的请求相关联。进入循环(处理很多请求)· 读取HTTP请求,Servlet解析这个请求字符串,生成一个HttpServletRequest对象
· 根据请求对象生成一个HttpServletResponse对象(表示响应)。根据请求生成响应,这个过程,就是初始化阶段注册的类里面的代码完成的
· 把HttpServletResponse对象转换成HTTP响应,返回给浏览器
Servlet项目简单示例
一:创建一个Maven项目
创建Maven项目的目的就是为了方便依赖的管理和打包
二:引入依赖(Servlet api的jar包)
从Maven中央仓库中下载。
这里我们选择的版本是3.1.0【注意:Servlet的版本需要和Tomcat的版本配套,Tomcat的版本是Tomcat8】
将选中的代码复制到Maven项目的pom.xml文件中的 dependencies 标签里面。
三:编写代码
import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;@WebServlet("/helloServlet")// 创建的代码,需要继承自HttpServlet类,然后才能让这个类被Tomcat给调用到public class HelloServlet extends HttpServlet { // 重写doGet方法之后,就不需要手动调用doGet,而是由Tomcat自动调用 // 也不需要手动创建HelloServlet实例,也是由Tomcat自动创建实例 @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //super.doGet(req, resp); resp.getWriter().write("Hello Servlet"); }}
四:创建一些必要的目录和文件
在main文件夹下创建以下文件夹和文件
五:打包程序
这里的打包操作比较简单,直接基于Maven来打包
双击package进行打包
打包成功
打出来的包
但是,由于Tomcat不能识别jar格式的包,jar包一般是使用java -jar命令来运行。而应该打成一个war格式的包。在pom.xml修改配置,修改打包类型为war。
修改war包的命名
六:部署程序
将war包放在Tomcat的webapps目录中。
七:验证程序是否正确工作
通过浏览器构造一个特定的请求,访问Tomcat,触发HelloServlet的代码。