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代码,注意要用转发

  • 相关阅读:
    我们如何监视所有 Spring Boot 微服务?
    如何使用 Spring Boot 实现异常处理?
    如何使用 Spring Boot 实现分页和排序?
    如何集成 Spring Boot 和 ActiveMQ?
    如何实现 Spring Boot 应用程序的安全性?
    Spring Boot 中的监视器是什么?
    如何重新加载 Spring Boot 上的更改,而无需重新启动服务器?
    Spring 和 SpringBoot 有什么不同?
    Spring Boot 有哪些优点?
    如何在不使用BasePACKAGE过滤器的情况下排除程序包?
  • 原文地址:https://www.cnblogs.com/duzhentong/p/7816561.html
Copyright © 2011-2022 走看看