通过Jsp或html页面以表单的形式提交Post请求传姓名年龄学号三个参数到HelloWorldServlet当中HelloWorldServlet获取Servlet context全局初始化参数context-param标签进行学校属性的初始化初始值为贵大。 随后将信息转发至ForwardServlet当中ForwardServlet获取Servlet参数初始化init-param进行班级属性的
首先,在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,在页面上打印出姓名、年龄、学号、学校和班级信息
原文地址: https://www.cveoy.top/t/topic/iYR7 著作权归作者所有。请勿转载和采集!