实行三 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>
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |