首先,在JSP或HTML页面中,创建一个表单,设置表单的method为POST,并设置表单的action为HelloWorldServlet的URL地址。

<form action="HelloWorldServlet" method="post">
    <label for="name">姓名:</label>
    <input type="text" name="name" id="name"><br>
    <label for="age">年龄:</label>
    <input type="text" name="age" id="age"><br>
    <label for="studentId">学号:</label>
    <input type="text" name="studentId" id="studentId"><br>
    <input type="submit" value="提交">
</form>

接下来,在HelloWorldServlet中,获取ServletContext的全局初始化参数,并将其设置为学校属性的初始值。

@WebServlet("/HelloWorldServlet")
public class HelloWorldServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        ServletContext servletContext = getServletContext();
        String school = servletContext.getInitParameter("school");
        
        String name = request.getParameter("name");
        String age = request.getParameter("age");
        String studentId = request.getParameter("studentId");
        
        request.setAttribute("name", name);
        request.setAttribute("age", age);
        request.setAttribute("studentId", studentId);
        request.setAttribute("school", school);
        
        RequestDispatcher dispatcher = request.getRequestDispatcher("/ForwardServlet");
        dispatcher.forward(request, response);
    }
}

接着,在web.xml文件中配置ServletContext的全局初始化参数。

<context-param>
    <param-name>school</param-name>
    <param-value>贵大</param-value>
</context-param>

然后,创建ForwardServlet,并在其init方法中获取Servlet参数并将其设置为班级属性的初始值。

@WebServlet("/ForwardServlet")
public class ForwardServlet extends HttpServlet {
    private String className;
    
    public void init() {
        className = getServletConfig().getInitParameter("className");
    }
    
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String name = (String) request.getAttribute("name");
        String age = (String) request.getAttribute("age");
        String studentId = (String) request.getAttribute("studentId");
        String school = (String) request.getAttribute("school");
        
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<body>");
        out.println("姓名:" + name + "<br>");
        out.println("年龄:" + age + "<br>");
        out.println("学号:" + studentId + "<br>");
        out.println("学校:" + school + "<br>");
        out.println("班级:" + className + "<br>");
        out.println("</body>");
        out.println("</html>");
    }
}

最后,在web.xml文件中配置ForwardServlet的Servlet参数。

<servlet>
    <servlet-name>ForwardServlet</servlet-name>
    <servlet-class>com.example.ForwardServlet</servlet-class>
    <init-param>
        <param-name>className</param-name>
        <param-value>班级名</param-value>
    </init-param>
</servlet>

<servlet-mapping>
    <servlet-name>ForwardServlet</servlet-name>
    <url-pattern>/ForwardServlet</url-pattern>
</servlet-mapping>

这样,当提交表单时,表单的数据会被传递到HelloWorldServlet,然后转发到ForwardServlet,在页面上打印出姓名、年龄、学号、学校和班级信息

通过Jsp或html页面以表单的形式提交Post请求传姓名年龄学号三个参数到HelloWorldServlet当中HelloWorldServlet获取Servlet context全局初始化参数context-param标签进行学校属性的初始化初始值为贵大。 随后将信息转发至ForwardServlet当中ForwardServlet获取Servlet参数初始化init-param进行班级属性的

原文地址: https://www.cveoy.top/t/topic/iYR7 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录