当前位置:首页 » 《关注互联网》 » 正文

Java Web实验三:Servlet入门

5 人参与  2024年09月30日 18:00  分类 : 《关注互联网》  评论

点击全文阅读


实验三   Servlet入门

一、实验目的

1.学会 Servlet的创建、配置及运行方法;

2.掌握Servlet的生命周期。

二、实验内容

1.在IDE中编写一个Servlet类TestServlet,重写init()方法,service()(或者doGet(),doPost())方法,destroy()方法;

2.正确配置该Servlet类TestServlet;

3.启动Tomcat服务器,通过浏览器访问该Servlet类TestServlet,观察init()方法,service()(或者doGet(),doPost())方法,destroy()方法的执行顺序,执行的次数以及执行的时机,示例如下图所示:

4.编写一个类HelloServlet继承于HttpServlet,分别重写doGet(),doPost()方法,编写一个html页面form.html,在该页面提供两个个按钮分别按照get和post方式访问该HelloServlet,观察两种方法调用的不同,如下图所示:

三、实验源代码、运行截图

TestServlet.java

package com.xxx.servlet;import javax.servlet.*;import javax.servlet.annotation.WebServlet;import javax.servlet.http.*;import java.io.IOException;import java.io.PrintWriter;@WebServlet("/ser01")public class TestServlet extends HttpServlet {    // 重写 init() 方法    @Override    public void init() throws ServletException {        // 初始化代码        System.out.println("TestServlet 初始化");        // 可以在这里加载资源或执行其他初始化操作    }    // 重写 service() 方法(或者单独重写 doGet() 和 doPost())    // 注意:通常我们不会直接重写 service() 方法,除非需要处理所有类型的请求    @Override    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {        // 服务端代码        System.out.println("TestServlet service() 方法被调用");        // 根据请求类型调用 doGet 或 doPost        super.service(req, resp); // 调用父类的 service 方法,它会根据请求方法调用 doGet 或 doPost    }    // 重写 destroy() 方法    @Override    public void destroy() {        // 销毁代码        System.out.println("TestServlet 销毁");        // 可以在这里释放资源或执行其他清理操作    }}

Server.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">    <servlet>        <servlet-name>HelloServlet</servlet-name>        <servlet-class>com.xxx.servlet.HelloServlet</servlet-class>     </servlet>    <servlet-mapping>        <servlet-name>HelloServlet</servlet-name>        <url-pattern>/HelloServlet</url-pattern>    </servlet-mapping></web-app>

HelloServlet.java

package com.xxx.servlet;import javax.servlet.*;import javax.servlet.annotation.WebServlet;import javax.servlet.http.*;import java.io.IOException;import java.io.PrintWriter;//@WebServlet("/HelloServlet")public class HelloServlet extends HttpServlet {    @Override    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {        processRequest(req, resp, "GET");        // 处理 GET 请求        System.out.println("HelloServlet doGet() 方法被调用");        resp.setContentType("text/html");        PrintWriter out = resp.getWriter();        out.println("<html><body>");        out.println("<h1>HelloServlet GET 请求处理</h1>");        out.println("</body></html>");    }    @Override    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {        processRequest(req, resp, "POST");        System.out.println("HelloServlet doPost() 方法被调用");        resp.setContentType("text/html");        PrintWriter out = resp.getWriter();        out.println("<html><body>");        out.println("<h1>HelloServlet POST 请求处理</h1>");        out.println("</body></html>");    }    private void processRequest(HttpServletRequest req, HttpServletResponse resp, String method) throws ServletException, IOException {        resp.setContentType("text/html;charset=UTF-8");    }}

Test.html

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Form for GET and POST Requests</title></head><body><h2></h2><form action="HelloServlet" method="post">    <label for="studentIdPost">学号:</label>    <input type="text" id="studentIdPost" name="studentIPost" required><br>    <label for="namePost">姓名:</label>    <input type="text" id="namePost" name="namePost" required><br>    <input type="submit" value="post"></form><form action="HelloServlet" method="get">    <label for="studentIdGet">学号:</label>    <input type="text" id="studentIdGet" name="studentIdGet" required><br>    <label for="nameGet">姓名:</label>    <input type="text" id="nameGet" name="nameGet" required><br>        <input type="submit" value="get"></form></body></html>


点击全文阅读


本文链接:http://zhangshiyu.com/post/166737.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1