动态网页,不仅可以动态显示数据,还可以与用户做交互,如完成登录、注册等一系列动作。不同用户访问相同网页时,经常会发现所显示的内容不同,这样的网页就是经过服务器动态生成的。
Servlet 就是一种动态网页技术。Servlet 是由 Java 语言编写的 Web 服务端程序,同其他 Java 程序一样 Servlet 的运行需要 JRE 和 JDK 的支持,同时,Servlet 程序还需要放置在支持 Servlet 的 Web 服务器中运行。目前市面上有很多支持 Servlet 的 Web 服务器,其中,Tomcat 是比较轻便且开源免费的服务器。
Servlet 以面向对象的形式解释了 HTTP 请求和响应内容,它将 HTTP 请求的内容封装为 HttpServletRequest 对象,将响应内容封装为 HttpServletResponse 对象。用户访问某个网址显示的网页内容,就是服务器通过 HttpServletResponse 对象。用户访问某个网址显示的网页内容,就是服务器通过 HttpServletResponse 对象发送到浏览器的数据。
(1)导入 JAR 包。使用 Maven 导入 Servlet 的 JAR 包,在 pom.xml 中添加依赖。
<dependencies>
<!-- Servlet -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
</dependencies>
(2)编写 Servlet。在 servlet 包内创建类 HelloServlet,继承自 HttpServlet 类,并重写 service 方法。
public class HelloServlet extends HttpServlet {
@Override
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
// 配置 UTF-8 字符集以支持中文
res.setContentType("text/html;charset=utf-8");
res.setCharacterEncoding("UTF-8");
// 获取输出流以输出数据到浏览器中
PrintWriter pw = res.getWriter();
pw.write("我是 Servlet 服务端发送给浏览器的数据:Hello Servlet!");
pw.close();
}
}
(3)配置请求路径。路径配置即指浏览器请求到达 Web 容器,并指定处理该请求的 Servlet 类。需要在 web.xml 中以标签的形式进行配置。
完整的配置包括 “servlet” 标签与 “servlet-mapping” 标签,
“servlet” 标签中的 “servlet-name” 标签表示对 Servlet 进行命名,在整个 Web 容器中该值是唯一的。
“servlet-class” 标签需要填写完整的类路径。
“servlet-mapping” 是请求映射标签,表示 HTTP 请求与 Servlet 类的对应关系,对应关系通过 “servlet-name” 的值进行关联。
<servlet>
<servlet-name>helloServlet</servlet-name>
<servlet-class>servlet.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>helloServlet</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
(4)启动服务器。将编好的项目添加到 Tomcat 中,启动 Tomcat 服务器。
原文:https://www.cnblogs.com/john1015/p/13909689.html