0
点赞
收藏
分享

微信扫一扫

JSP RequestDispatcher servlet之间传参


介绍

RequestDispatcher可以向参数从一个seevlet传给另一个
大佬路过,小白写出来仅给另一个小白参考

目录结构

JSP RequestDispatcher servlet之间传参_html

web.xml

<?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>

index.html

提交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>

CalculatorServlet.java

接收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);

}
}

DisplayServlet.java

接收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);

}
}


举报

相关推荐

0 条评论