JavaWeb 入门:Hello Servlet

yizhihongxing
  1. 创建JavaWeb项目
  2. 打开Eclipse
  3. 点击菜单栏“File”->“New”->“Dynamic Web Project”
  4. 输入项目名称,然后点击“Next”按钮
  5. 选择“Generate web.xml deployment descriptor”,然后点击“Finish”按钮
  6. 添加Servlet
  7. 在“Package Explorer”视图中右键点击项目名称,选择“New”->“Servlet”
  8. 添加Servlet的类名和包名,然后点击“Next”按钮
  9. 选择要继承的父类,然后点击“Finish”按钮
  10. 配置Servlet
  11. 在Servlet类中重写doGet()和doPost()方法
  12. 在web.xml中添加Servlet类的映射

示例一:Hello World

@WebServlet(name = "HelloServlet", urlPatterns = "/hello")
public class HelloServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charset=utf-8");
        PrintWriter writer = response.getWriter();
        writer.println("<html>");
        writer.println("<head><title>Hello Servlet</title></head>");
        writer.println("<body>");
        writer.println("<h1>Hello World!</h1>");
        writer.println("</body>");
        writer.println("</html>");
        writer.close();
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doGet(request, response);
    }

}

在浏览器中输入"http://localhost:8080/<项目名>/hello",即可看到"Hello World!"字样的显示页面。

示例二:计算器

@WebServlet(name = "CalServlet", urlPatterns = "/cal")
public class CalServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charset=utf-8");
        PrintWriter writer = response.getWriter();
        writer.println("<html>");
        writer.println("<head><title>Calculator</title></head>");
        writer.println("<body>");
        int num1=Integer.parseInt(request.getParameter("num1"));
        int num2=Integer.parseInt(request.getParameter("num2"));
        int res=0;
        String op=request.getParameter("op");
        switch(op){
            case "+":res=num1+num2;break;
            case "-":res=num1-num2;break;
            case "*":res=num1*num2;break;
            case "/":res=num1/num2;break;
        }
        writer.println("<h1>"+num1+op+num2+"="+res+"</h1>");
        writer.println("</body>");
        writer.println("</html>");
        writer.close();
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doGet(request, response);
    }

}

在浏览器中输入"http://localhost:8080/<项目名>/cal?num1=2&num2=3&op=+",即可看到"2+3=5"字样的显示页面。

以上就是JavaWeb入门教程的完整攻略及示例说明。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaWeb 入门:Hello Servlet - Python技术站

(0)
上一篇 2023年6月16日
下一篇 2023年6月16日

相关文章

  • Java中的运算符重载是什么?

    Java中的运算符重载是指允许在自定义的类中对运算符(如+、-、*、/等)进行重新定义,以便对自定义的类进行运算。运算符重载的本质是将运算符号的含义进行扩展,使得一种运算符号能够被用于多种类型的数据操作。 运算符重载是实现多态性的一个重要技巧。对于类中的不同对象,运算符的行为可以有所不同,这样可以减少代码的冗余,提高代码的复用性。 运算符重载实现起来比较简单…

    Java 2023年4月27日
    00
  • 浅谈Java中的class类

    我来为大家详细讲解一下Java中的class类。 什么是class类 在Java中,class是一种特殊的数据类型,用于描述Java程序中的对象。Java中所有的对象都是基于class创建的。每个class定义了一组数据和方法,就是一种封装数据和行为的机制。 class类的详细组成 一个class通常包含以下几个部分: 类名:用来代表该类的唯一名称,类名通常…

    Java 2023年5月26日
    00
  • Hibernate延迟加载原理与实现方法

    下面是对于Hibernate延迟加载原理与实现方法的详细讲解。 1. Hibernate延迟加载的原理 Hibernate提供了延迟加载(Lazy Loading)的机制,延迟加载指的是在运行时如果检测到某个属性没有被访问,那么Hibernate就不会去加载该属性对应的数据库记录,直到在程序中第一次访问该属性时再去加载。 延迟加载的实现是Hibernate对…

    Java 2023年5月19日
    00
  • 如何选择合适的Java垃圾回收器?

    选择合适的Java垃圾回收器对于应用的性能和稳定性至关重要。以下是如何选择合适的Java垃圾回收器的完整使用攻略: 1. 确定需求和限制 在选择垃圾回收器之前,需要先了解应用的需求和限制。例如,需要考虑的因素包括: 应用的类型和规模 应用的性能要求 应用的内存消耗 应用的响应时间等 2. 了解常见的 Java 垃圾回收器 Java 虚拟机提供了多种垃圾回收器…

    Java 2023年5月11日
    00
  • 什么是线程安全的并发容器?

    以下是关于线程安全的并发容器的完整使用攻略: 什么是线程安全的并发容器? 线程安全并发容器是指在多线程环境下,多个线程可以同时访问容器中的元素,而不会出现数据不一致或程序崩溃等问题。在多线程编程中,线程安全的并发容器是非常重要的,因为多个线程同时访问容器,会出现线程争用的问题,导致数据不一致或程序崩溃。 如何实现线程安全的并发容器? 为了实现线程安全的并发容…

    Java 2023年5月12日
    00
  • java之如何定义USB接口

    当我们需要让一个设备(如鼠标、键盘、移动硬盘)和计算机之间进行数据传输时,可以通过USB接口来实现。在Java中,我们也可以定义USB接口,并通过它与外部设备进行数据传输交互。 以下是Java定义USB接口的攻略: 1. 概述 在Java中,我们可以通过编写USB接口类来定义USB设备与计算机之间的数据传输协议。该USB接口类可以有多个实现,每个实现都对应不…

    Java 2023年5月26日
    00
  • Java反射技术详解

    Java反射技术详解 什么是Java反射技术 Java反射技术是一种可以在运行时获取类的属性和方法的一种能力。通过Java反射技术,我们可以在运行时动态地创建对象、调用方法、获取属性以及修改属性。 如何使用Java反射技术 使用Java反射技术的第一步就是获取需要操作的类的Class对象。通过Class对象,我们可以获取这个类的所有属性和方法,并对它们进行操…

    Java 2023年5月26日
    00
  • 在Java8中如何避开空指针异常

    在Java8中,可以通过使用Optional类来避免空指针异常,Optional类是一个可以包含null或非null值的容器对象,在进行操作时可以先检查它是否为空,避免了程序出现NullPointerException异常的情况。下面我们来详细讲解如何使用Optional类避免空指针异常。 使用Optional类 创建Optional对象 可以使用ofNul…

    Java 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部