servlet和jsp之间传值的方式
来源:互联网 发布:取石子java 编辑:程序博客网 时间:2024/05/16 06:38
web.xml中servlet的配置
<servlet> <servlet-name>ServletName</servlet-name> <servlet-class>xxxpackage.xxxServlet</servlet-class> <!--Servlet的类--> <init-param> <!--初始化一个变量,可看成全局变量,可省略--> <param-name>参数名称</param-name> <!--变量名称--> <param-value>参数值</param-value> <!--变量值--> </init-param></servlet><servlet-mapping> <servlet-name>ServletName</servlet-name> <url-pattern>/aaa/xxx</url-pattern> <!--映射的url路径 --></servlet-mapping>
1.JSP传值给Servlet
JSP传值给Servlet有几种形式:Form表单传值,url传值,其他方式传值
a、form表单传值:
<form name="myForm" method="post" action="actionname"><input name="username"type="text" /> <input name="password"type="password" /></form>//action里面也可以传参数,在method=get下,form表单只接收表单元素”name“属性和相应的”value“。想要通过在action中自己写?的形式传值,method的值必须是=post如:action="actionname?pass=11"
在点击提交按钮的时候,数据就会提交到后台,让actionname这个action去处理:
request.getParameter("username")
b、url传值:
<a href="/myServlet?param1=aa&m2=bb" ,在后台你直接用request.getParameter("param1")得到aa的值
c、java代码传值:
java片段代码,servlet只能接到 session.setAttribute("testSession","Hello session")的内容,而接不到 request的内容。在 servlet里用 request.getSession().getAttribute("testSession")获取 session内容。
2.Servlet传值给Jsp
1、url方式
(1)redirect 方式
response.sendRedirect(“/a.jsp”);
页面的路径是相对路径。
sendRedirect可以将页面跳转到任何页面,不局限于本web应用中,如:response.sendRedirect(http://www.ycul.com);
跳转后浏览器地址栏变化。
这种方式要传值出去的话,只能在url中带parameter或者放在session中,无法使用request.setAttribute来传递。
(2) forward方式
request.getRequestDispatcher(“/a.jsp”).forward(request, response);
或
getServletContext().getRequestDispatcher(“/a.jsp”).forward(request, response);
页面的路径是相对路径。
forward方式只能跳转到本web应用中的页面上。
跳转后浏览器地址栏不会变化。
使用这种方式跳转,传值可以使用三种方法:url中带parameter,session,request.setAttribute
//将需要转发或发送的地址进行转码操作。这样在目标页面更好取值,以免乱码产生//设置session范围属性request.getSession().setAttribute("china", "李静");//设置request范围属性request.setAttribute("n", "肖人");String url = "forward/success.jsp?first=传递第一个参数&second=传递第二个参数";url = new String(url.getBytes("UTF-8"),"ISO8859-1"); //客户端跳转。只有session范围的属性及url中参数会被传递下去response.sendRedirect(url);//服务器端跳转。request对象、url中的参数会被传递下去request.getRequestDispatcher(url).forward(request, response);success.jsp:<!-- 取得在servlet中设置的session范围属性值 --><%= "session中取得的属性值"+ session.getAttribute("china") %><br/><%= "request中取得的属性值"+ request.getAttribute("n") %><br/><!-- 取得通过url传递的参数的值。并进行解码。否则会乱码 --><%="url中第一个参数:"+ new String(request.getParameter("first").getBytes("ISO8859-1"),"UTF-8") %><br/>
//jsp页面:通常使用EL表达式接收如:如${num},${sessionScope.userphone}等形式
阅读全文
0 0
- servlet和jsp之间传值的方式
- JSP与servlet之间的传值方式
- JSP与servlet之间的传值方式
- JSP与servlet之间的传值方式
- JSP与servlet之间的传值方式
- servlet和jsp之间的相互传值
- jsp和Servlet之间传值出现乱码的解决方案
- jsp和Servlet之间传值出现乱码的解决方案
- jsp和Servlet之间传值出现乱码的解决方案
- jsp和servlet之间传值
- jsp和servlet之间传值问题
- Servlet与JSP之间的传值
- servlet与JSP之间的传值
- Jsp与Servlet之间的传值
- Jsp与Servlet之间的传值
- JSP与Servlet之间的传值
- Struts2 jsp页面和Action之间的传值方式
- jsp和servlet的之间的关系
- Mysql中的排序规则utf8_unicode_ci、utf8_general_ci的区别总结
- 极乐技术周报(第三十期)
- Python <Windows 使用Django 搭建第一个web项目 2>
- C语言程序设计:现代方法
- eclipse环境下创建一个纯净的springmvc+mybatis+spring的
- servlet和jsp之间传值的方式
- 用c++写一个链栈
- R语言编程技术(4)
- linux安装Nvidia显卡驱动
- Java 字节流与字符流
- QT5帮助文档使用
- iOS11 UITbleView适配的一些问题及解决方法
- Ajax-Http请求
- R vs. Python,数据分析中谁与争锋?