JavaEE Servlet

描述

使用 IntelliJ IDEA 工具,创建一个 Servlet。

题目

使用 IntelliJ IDEA 工具,创建一个简单的 Servlet。

题目解决思路

  1. IDEA 创建 web 工程,以及完成 Tomcat 部署项目。
  2. 创建一个类继承 HttpServlet 类,重写 doGet 和 doPost 方法。
  3. 使用 XML 的方式创建 Servlet,编辑 web.xml 配置 Servlet,浏览器访问 Servlet。
  4. 使用 @WebServlet 注解的方式创建 Servlet,浏览器访问 Servlet。

IDEA环境部署

创建工程,如下图:

01_Java Servlet.png

选择创建空工程,如下图:

02_Java Servlet.png

设置项目路径,如下图:

03_Java Servlet.png

创建模块,如下图:

04_Java Servlet.png

选择 Java Enterprise 模块,添加 Web 环境,如下图:

05_Java Servlet.png

设置模块路径,如下图:

06_Java Servlet.png

在项目中的 src 下创建新的包,如下图:

07_Java Servlet.png

选择配置 Tomcat,如下图:

08_Java Servlet.png

配置项目虚拟路径,如下图:

09_Java Servlet.png

代码具体实现

XML方式创建Servlet

Servlet 代码:

public class Servlet extends HttpServlet { @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 设置响应的内容类型和编码 response.setContentType("text/html;charset=utf-8"); // 通过响应对象获取打印流 PrintWriter pw = response.getWriter(); pw.write("嗨客网(www.haicoder.net)\n"); // 输出内容到网页 pw.write("<h1>XML方式创建Servlet</h1><hr/>"); pw.write("<h2>第一个Servlet程序</h2>"); } @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } }

web.xml 文件配置:

<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> <!--1. 配置servlet的完全限定名(包名.类名)--> <servlet> <!--servlet的名字--> <servlet-name>servlet1</servlet-name> <!--完整的类名--> <servlet-class>net.haicoder.servlet01.Servlet</servlet-class> </servlet> <!-- 2. 配置servlet的访问地址 --> <servlet-mapping> <!--name必须与上面的相同--> <servlet-name>servlet1</servlet-name> <!--配置servlet的访问地址--> <url-pattern>/demo01</url-pattern> </servlet-mapping> </web-app>

启动 web 项目,如下图:

10_Java Servlet.png

运行结果如下图:

11_Java Servlet.png

注解方式创建Servlet

Servlet 代码:

@WebServlet("/demo02") public class Servlet extends HttpServlet { @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); // 通过响应对象获取打印流 PrintWriter pw = response.getWriter(); pw.write("嗨客网(www.haicoder.net)\n"); // 输出内容到网页 pw.write("<h1>注解方式创建Servlet</h1><hr/>"); pw.write("<h2>第二个Servlet程序</h2>"); } @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } }

运行结果如下图:

12_Java Servlet.png

以上案例分别使用 XML 配置的方式和注解的方式创建 Servlet。