1.实现接口:/student/add(post请求), 使用postman请求,发送参数【name:张三, age:18】, 返回提示消息【添加成功】。2、实现接口:/student/list(ge



import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

@WebServlet("/student/add")
public class Test01 extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        req.setCharacterEncoding("UTF-8");
        String name =  req.getParameter("name");
        Integer age = Integer.valueOf(req.getParameter("age"));

        ServletContext context = getServletContext();
        context.setAttribute("name", name);
        context.setAttribute("age", age);
        resp.sendRedirect(req.getContextPath() + "/student/list");


        System.out.println("添加成功!");

    }
}

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Spliterator;

@WebServlet("/student/list")
public class Test02 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {


        ServletContext context = getServletContext();
        String name = (String) context.getAttribute("name");
        Integer age = (Integer) context.getAttribute("age");
        resp.setContentType("text/plain");
        resp.setCharacterEncoding("UTF-8");
        resp.getWriter().println("name: " + name + ", age: " + age);
    }
}

定义了两个 Servlet 类:Test01 和 Test02

Test01 类继承自 HttpServlet 类,并使用了 @WebServlet 注解,指定了该 Servlet 的 URL 模式为 /student/add。在 doPost 方法中,代码首先设置了请求的字符编码为 UTF-8,然后从请求参数中获取了 name 和 age 的值。接下来,代码获取了一个 ServletContext 对象,并将获取到的 name 和 age 值作为属性存储在该对象中。最后,代码使用 sendRedirect 方法将客户端重定向到 /student/list 路径。

Test02 类也继承自 HttpServlet 类,并使用了 @WebServlet 注解,指定了该 Servlet 的 URL 模式为 /student/list。在 doGet 方法中,代码首先获取了一个 ServletContext 对象,然后从该对象中获取了两个属性:name 和 age。接下来,代码设置了响应的内容类型和字符编码,并使用 getWriter 方法获取了一个 PrintWriter 对象。最后,代码使用该对象的 println 方法向客户端发送了一条文本消息,包含了从 ServletContext 对象中获取的 name 和 age 属性的值。

这两个 Servlet 类可以协同工作:当客户端向 /student/add 路径发送 POST 请求时,服务器会调用 Test01#doPost() 方法处理该请求;当客户端被重定向到 /student/list 路径时,服务器会调用 Test02#doGet() 方法处理该请求。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值