一. Servlet介绍
1.1 概念
Servlet 是一种实现动态页面的技术. 是一组 Tomcat 提供给程序猿的 API, 帮助程序猿简单高效的开发一个 web app,使用 Servlet,您可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页;
2.2 Servlet架构
二. 创建一个Servlet程序
一般创建一个简单的 Servlet 程序需要一下几个步骤:
2.1 创建一个Maven项目
2.2 引入 jar 包
打开创建好的Maven工程,点击pro.xml文件,我们需要去中央仓库去引入相对应的依赖,可以去官网复制相应的代码,点击这个网址直接跳转到中央仓库:
注意:这里要选择3.1.0的版本,因为这个版本是和 Tomcat8.5 相匹配的,不同的Servlet就要对应不同的Tomcat;
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency>
把这段代码复制粘贴到Maven工程的pro.xml文件里就OK了,这里需要新增一个<dependencies>标签,这样IDEA就会自动识别并且下载相对应的jar包了;
2.3 创建目录
在main的目录下创建一个webapp的目录,在此目录下创建一个WEB-INF目录,在WEB-INF目录下创建web.xml文件,这里的文件目录和文件名字要保证正确;创建好之后在web.xml中写入相应的代码,这里代码给出了,直接用即可:
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app> <display-name>Archetype Created Web Application</display-name> </web-app>
2.4 编写代码
@WebServlet("/hello") public class HelloServlet extends HttpServlet { // 这里的rep是HTTP请求,resp是HTTP响应 @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html;charset=utf8"); resp.getWriter().write("hello world"); resp.getWriter().write("你好 世界"); } }
2.5 打包程序
打包做的事情有:
- 检查代码中是否存在一些依赖,依赖是否下载好;
- 把代码进行编译,生成.class文件;
- 把这些.class文件或者.xml文件按照一定格式进行打包;
这里我们双击package,同时我们要在pom.xml文件中插入相应代码,来调整打包生成的格式,如果双击package打出来的包就是jar包,但是我们需要的war包;
// 指定打包格式 <packaging>war</packaging> <build> // 生成包的名字 <finalName>helloServlet</finalName> </build>
这里我们看见就打包成功了;
2.6 部署程序
我们需要把打好的war包移到 tomcat 的webapp目录下
2.7 验证程序
这里我们需要再IDEA上安装一个Smart Tomcat,安装的过程就不细说了,安装完成后,点击运行,在浏览器输入url,localhost:8080/servlet/hello,就可以看到你想显示的东西了;
但是要正确启动一个servlet程序,还需要注意一下路径的问题,否则就会启动失败: