赞
踩
RequestDispatcher可以向参数从一个seevlet传给另一个
大佬路过,小白写出来仅给另一个小白参考
<?xml version="1.0" encoding="UTF-8"?> <web-app version="3.1" 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_3_1.xsd"> <servlet> <servlet-name>CalculatorServlet</servlet-name> <servlet-class>CalculatorServlet</servlet-class> </servlet> <servlet> <servlet-name>DisplayServlet</servlet-name> <servlet-class>DisplayServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>CalculatorServlet</servlet-name> <url-pattern>/CalculatorServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>DisplayServlet</servlet-name> <url-pattern>/DisplayServlet</url-pattern> </servlet-mapping> <session-config> <session-timeout> 30 </session-timeout> </session-config> </web-app>
提交2个参数到 CalculatorServlet.java
<!DOCTYPE html> <html> <head> <title>TODO supply a title</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body> <form name="frm" method="get" action="CalculatorServlet"> <p align="center"> Calculation form </p> <table> <tr> <td><b>输入第一个数字:</b></td> <td><input type="text" name="number1" size="20"></td> </tr> <tr> <td><b>输入第二个数字:</b></td> <td><input type="text" name="number2" size="20"></td> </tr> <tr align="center"> <td colspan=2> <input type="Submit" value="加" name="b1"> </td> </tr> </table> </form> </body> </html>
接收index出来的2个参数,计算后发给 DisplayServlet.java
import java.io.IOException; import java.io.PrintWriter; import javax.servlet.RequestDispatcher; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class CalculatorServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { //获取两个参数 int num1 = Integer.parseInt(request.getParameter("number1")); int num2 = Integer.parseInt(request.getParameter("number2")); // 相加 int result = num1 + num2; // 将结果放到属性 result中,然后传给/DisplayServlet request.setAttribute("result", new Integer(result)); ServletContext contx = getServletConfig().getServletContext(); RequestDispatcher reqDispatcher = contx.getRequestDispatcher("/DisplayServlet"); reqDispatcher.forward(request, response); } }
接收CalculatorServlet.java 传的参数,并且输出
import java.io.IOException; import java.io.PrintWriter; import javax.servlet.RequestDispatcher; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class CalculatorServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { //获取两个参数 int num1 = Integer.parseInt(request.getParameter("number1")); int num2 = Integer.parseInt(request.getParameter("number2")); // 相加 int result = num1 + num2; // 将结果放到属性 result中,然后传给/DisplayServlet request.setAttribute("result", new Integer(result)); ServletContext contx = getServletConfig().getServletContext(); RequestDispatcher reqDispatcher = contx.getRequestDispatcher("/DisplayServlet"); reqDispatcher.forward(request, response); } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。