当前位置:   article > 正文

JSP RequestDispatcher servlet之间传参_requestdispatcher 设置参数

requestdispatcher 设置参数

介绍

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

目录结构

在这里插入图片描述

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>

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

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>

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

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

    }
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

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

    }
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/431152
推荐阅读
相关标签
  

闽ICP备14008679号