Java Web实行三:Servlet入门

打印 上一主题 下一主题

主题 556|帖子 556|积分 1668

实行三   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
  1. package com.xxx.servlet;
  2. import javax.servlet.*;
  3. import javax.servlet.annotation.WebServlet;
  4. import javax.servlet.http.*;
  5. import java.io.IOException;
  6. import java.io.PrintWriter;
  7. @WebServlet("/ser01")
  8. public class TestServlet extends HttpServlet {
  9.     // 重写 init() 方法
  10.     @Override
  11.     public void init() throws ServletException {
  12.         // 初始化代码
  13.         System.out.println("TestServlet 初始化");
  14.         // 可以在这里加载资源或执行其他初始化操作
  15.     }
  16.     // 重写 service() 方法(或者单独重写 doGet() 和 doPost())
  17.     // 注意:通常我们不会直接重写 service() 方法,除非需要处理所有类型的请求
  18.     @Override
  19.     protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  20.         // 服务端代码
  21.         System.out.println("TestServlet service() 方法被调用");
  22.         // 根据请求类型调用 doGet 或 doPost
  23.         super.service(req, resp); // 调用父类的 service 方法,它会根据请求方法调用 doGet 或 doPost
  24.     }
  25.     // 重写 destroy() 方法
  26.     @Override
  27.     public void destroy() {
  28.         // 销毁代码
  29.         System.out.println("TestServlet 销毁");
  30.         // 可以在这里释放资源或执行其他清理操作
  31.     }
  32. }
复制代码
Server.xml
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  3.          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4.          xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
  5.          version="4.0">
  6.     <servlet>
  7.         <servlet-name>HelloServlet</servlet-name>
  8.         <servlet-class>com.xxx.servlet.HelloServlet</servlet-class>
  9.     </servlet>
  10.     <servlet-mapping>
  11.         <servlet-name>HelloServlet</servlet-name>
  12.         <url-pattern>/HelloServlet</url-pattern>
  13.     </servlet-mapping>
  14. </web-app>
复制代码
HelloServlet.java
  1. package com.xxx.servlet;
  2. import javax.servlet.*;
  3. import javax.servlet.annotation.WebServlet;
  4. import javax.servlet.http.*;
  5. import java.io.IOException;
  6. import java.io.PrintWriter;
  7. //@WebServlet("/HelloServlet")
  8. public class HelloServlet extends HttpServlet {
  9.     @Override
  10.     protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  11.         processRequest(req, resp, "GET");
  12.         // 处理 GET 请求
  13.         System.out.println("HelloServlet doGet() 方法被调用");
  14.         resp.setContentType("text/html");
  15.         PrintWriter out = resp.getWriter();
  16.         out.println("<html><body>");
  17.         out.println("<h1>HelloServlet GET 请求处理</h1>");
  18.         out.println("</body></html>");
  19.     }
  20.     @Override
  21.     protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  22.         processRequest(req, resp, "POST");
  23.         System.out.println("HelloServlet doPost() 方法被调用");
  24.         resp.setContentType("text/html");
  25.         PrintWriter out = resp.getWriter();
  26.         out.println("<html><body>");
  27.         out.println("<h1>HelloServlet POST 请求处理</h1>");
  28.         out.println("</body></html>");
  29.     }
  30.     private void processRequest(HttpServletRequest req, HttpServletResponse resp, String method) throws ServletException, IOException {
  31.         resp.setContentType("text/html;charset=UTF-8");
  32.     }
  33. }
复制代码
Test.html
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <title>Form for GET and POST Requests</title>
  6. </head>
  7. <body>
  8. <h2></h2>
  9. <form action="HelloServlet" method="post">
  10.     <label for="studentIdPost">学号:</label>
  11.     <input type="text" id="studentIdPost" name="studentIPost" required><br>
  12.     <label for="namePost">姓名:</label>
  13.     <input type="text" id="namePost" name="namePost" required><br>
  14.     <input type="submit" value="post">
  15. </form>
  16. <form action="HelloServlet" method="get">
  17.     <label for="studentIdGet">学号:</label>
  18.     <input type="text" id="studentIdGet" name="studentIdGet" required><br>
  19.     <label for="nameGet">姓名:</label>
  20.     <input type="text" id="nameGet" name="nameGet" required><br>
  21.    
  22.     <input type="submit" value="get">
  23. </form>
  24. </body>
  25. </html>
复制代码





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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

星球的眼睛

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表