一、JSP向Servlet传值

JSP向Servlet传值的方式有三种:URL后面跟参数、form表单提交、在JSP内置对象Session设置值。

  • URL后面跟参数

    JSP文件:<a href="Receive?name=xiaoijing&password=123456">click me</a>

    Servlet文件:String name=request.getParameter("name");

    说明:href="Receive?name=xiaoijing&password=123456",Receive为请求的目的地(URL),"?"后面跟参数,name为参数名,xiaojing为参数值,多个参数用"&"隔开,在servlet中是通过request.getParameter("参数名")获取的,注意request.getParameter("参数名")获取的所有值都是字符串。

  • form表单提交

    JSP文件:         

<form action="Send" method="post">
    <input type="text" name="account" />
    <input type="submit" value="提交"/>
</form>

    Servlet文件:String account=request.getParameter("account");

     说明:<form action="Send" method="post">:action后面跟请求的目的地(URL),method请求方法常用的有get和post。<input type="text" name="account" />:传递的参数必须有name的属性,不然在servlet找不到该参数。

  • 在JSP内置对象Session设置值

    JSP文件:         

<%
  session.setAttribute("school", "dgut");
  request.setAttribute("name", "xiao");  //servlet无法获取该参数
%>

    Servlet文件:

        String school=(String) request.getSession().getAttribute("school");  

    说明:servlet只能接受到到session.setAttribute("school", "dgut")传来的值,无法接收到request.setAttribute("name", "xiao")传来的值,在servlet通过 request.getSession().getAttribute("school")获取参数值。

二、Servlet向JSP传值

servlet向JSP传值有两种方法:重定向和URL转发。

  • 重定向:

    servlet文件:     

response.sendRedirect("https://www.baidu.com");//重定向到web应用外部
response.sendRedirect("Receive");//重定向到web应用内部,URL前面没有“/”,默认在应用根目录下面
response.sendRedirect("/Monitor/Receive");//重定向到web应用内部,URL以根开头的,前面必须以应用开始

     说明:重定向是路径的跳转,重定向完成后,浏览器会重新发起新的请求,上一次的参数无法转发。

  • URL转发

     servlet文件:

String url="/JspGetServlet.jsp";//URL必须以“/”开头
//ServletContext sc=getServletContext();
//RequestDispatcher requestDispatcher=sc.getRequestDispatcher(url); //通过ServletContext 获取转发器
RequestDispatcher requestDispatcher=request.getRequestDispatcher(url);//通过request获取转发器
requestDispatcher.forward(request, response);

     JSP文件:   

<%=request.getParameter("account") %>   //通过内置对象request获取
${param.account}   //通过EL表达式获取

最新文章

  1. nginx本地转发
  2. GDUFE-OJ 1203x的y次方的最后三位数 快速幂
  3. nginx(一)
  4. 【2016-10-10】【坚持学习】【Day1】【观察者模式】
  5. JDBC题库
  6. Malek Dance Club(递推)
  7. hdu2476 区间dp
  8. IOS 时间 日历 处理集合
  9. 我的git常用命令
  10. 艾奇学院:66个信息流广告和SEM学习网址资源大放送!
  11. HTTPClient to use http/https protocol to send request
  12. template 与 host , item trigger的关系
  13. (Python基础)2 or 3?
  14. 自然语言处理工具python调用hanlp中文实体识别
  15. Mybatis -- 批量更新 -- updateBatch
  16. C#浮点数保留位数
  17. 2018.10.20 NOIP模拟 蛋糕(线段树+贪心/lis)
  18. Mono for Android - LocationServices not working
  19. Best MVC Practices 最佳的MVC实践
  20. (bc 1001) hdu 6015 skip the class

热门文章

  1. 有了这个BI工具,财务分析再也不用愁
  2. 【windows 访问控制】五、访问权限和访问掩码AcessMask
  3. Java课程设计---数据库工具类
  4. 操作Jexus
  5. 关于Web的一些知识,Web怎么构成?
  6. 十进制数转IEE754单精度浮点数以及浮点数转换的python实现
  7. springboot----一、SpringBoot简介
  8. os模块——关于在程序框中如何进行文件的查找和建立新的文件夹
  9. JavaScript基础之模块化默认导出:default
  10. ArcGIS热点分析