zoukankan      html  css  js  c++  java
  • jsp与Servlet之间传值

    在写项目中经常会把后台服务端的数据传到前台页面上。jsp与Servlet之间传值分为四种,jsp向Servlet传值,反过来Servlet向jsp页面传值,jsp之间传值,Servlet之间传值。

    Servlet向jsp页面传值:

    一、

    利用request这个对象在Servlet中设置键值对,在jsp页面通过键获取值,

    request.setAttribute("key", value);
    
    
    key代表键,是一个字符串,jsp页面通过这个字符串可以获取值,注意key一定要一致

        <%
        String s =(String)request.getAttribute( "key ");
        %>
    
    
    注意通过request获取到的值是Object类型的需要强转,还有就是用这种方法不能用重定向到jsp页面,要用转发

    request.getRequestDispatcher("/…….jsp").forward(request, response);
    
    

    二、

    利用跳转Servlet:

    response.sendRedirect("/…….jsp?username="+username);
    
    
    jsp页面:

    <%
            String s = (String) request.getParameter("username");
        %>

    jsp页面向Servlet传值:

    一、

    通过超链接传值,jsp页面:

    <a href="AServlet?password=传输内容">文本</a>
    
    
    Servlet代码:

    String d = request.getParameter("password");
    
    

    二、

    通过form表单传值:

    jsp页面:

    <form action="LoginServlet">
        <input type="text" name="username">
        <input type="text" name="password">
        <input type="submit" value="登录">
    </form>

    Servlet代码:

            String username = request.getParameter("username");
            String password = request.getParameter("password");

    三、

    还可以通过java代码传值,不建议这么写,在后期维护很麻烦

    Servlet向Servlet之间传值:

    一、

    通过session对象,一个浏览器就是一个会话,使用两个浏览器无法获得值

            HttpSession session = request.getSession();
            session.setAttribute("user", user);
    先获取session对象在把值通过键值对传输

            HttpSession session = request.getSession();
            User user = (User) session.getAttribute("user");

    二、

    直接跳转,和Servlet向jsp页面传值一样在跳转文件后面添加值

    response.sendRedirect("BServlet?username=qu");
    
    
    接收:

    request.getParameter("username");
    
    

    jsp向jsp传值:

    传输:

    <%
    request.setAttribute("username","username");
    %>
    <jsp:forward page="demo2.jsp"/>
    接收:

    <%
    String username = (String)request.getAttribute("username");
    %>
    
    其实用的是java代码,注意要用转发

  • 相关阅读:
    HDU 5115 Dire Wolf (区间DP)
    HDU 4283 You Are the One(区间DP(最优出栈顺序))
    ZOJ 3469 Food Delivery(区间DP好题)
    LightOJ 1422 Halloween Costumes(区间DP)
    POJ 1651 Multiplication Puzzle(区间DP)
    NYOJ 石子合并(一)(区间DP)
    POJ 2955 Brackets(括号匹配一)
    POJ 1141 Brackets Sequence(括号匹配二)
    ZOJ 3537 Cake(凸包+区间DP)
    Graham求凸包模板
  • 原文地址:https://www.cnblogs.com/duzhentong/p/7816561.html
Copyright © 2011-2022 走看看