servlet和jsp之间的传值问题~

新人求助:servlet向JSP页面传值问题_java吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:539,226贴子:
新人求助:servlet向JSP页面传值问题收藏
request.getSession().setAttribute("ReservationA",ReservationA);RequestDispatcher dispatcher = request.getRequestDispatcher("ModifyReservation.jsp");dispatcher.forward(request, response);这样JSP页面接收不到啊,该怎么写?
java上海北大青鸟于达校区专注java,免试入学,专科保底,学历+技能,包就业!喜迎新春,更有一大拨免费试听课程来袭,点击预约试听名额~北大青鸟于达校区
不用GetSession也不行
到底哪里出问题了啊?
现在发现可以传递String类型变量 不能传递 实体对象 这又是为何呢?
用session存了,页面就不要转发了啊,jsp应该可以接收的.//存储到request 作用域request.setAttribute("ReservationA ", ReservationA );//转发request.getRequestDispatcher("ModifyReservation.jsp ").forward(request, response);或者session存response.sendRedirect("ModifyReservation.jsp");jsp接String str = (String)session.getAttribute("ReservationA ");
你怎么接收的 上代码
jsp页面:&c:forEach items="${furloughApplyList }" var="furloughApplyList" varStatus="stat"&
&tr &c:if test="${stat.count%2==0}"& style="background-color:lime"&/c:if&&
&th&${furloughApplyList.proposer }&/th&
&th&${furloughApplyList.dept }&/th&
&th&${furloughApplyList.applyDate }&/th&
&th&${furloughApplyList.startTime }&/th&
&th&${furloughApplyList.lastTime }&/th&
&th&${furloughApplyList.type }&/th&
&/c:forEach&
没事了…… 自己2……
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或比特客户端
您的位置:
详解大数据
详解大数据
详解大数据
详解大数据
Servlet与JSP间的传值问题
关键字:Web
  Servlet与JSP 之间的传值有两种情况:JSP -& Servlet, Servlet -& JSP。
  通过对象 request和 (不考虑 application)完成传值。
  一、JSP -& servlet
  JSP页面有3种方法向 servlet传值: form表单、URL
  1、对于该JSP页面 form表单的内容,如 标签,在 servlet可用 request.getParameter("username");获取。
  2、URL:比如这里的 标签的 href属性与
标签的 action属性的值 "JspServlet?action=toServlet",在 servlet同样用 request.getParameter("action")获取;所要注意的是这里的 url 要和 servlet在web.xml里的 标签的路径所对应。这部分后面会提到。
  3、java代码,servlet只能接到 session.setAttribute("testSession","Hello session")的内容,而接不到 request的内容。在 servlet里用 request.getSession().getAttribute("testSession")获取 session内容。
  二、Servlet
  1、关于 servlet,首先要提到它在 web.xml里的注册内容,如
  JspServlet1 com.demo.JspServletDemo JspServlet1 /JspServlet JspServlet2 com.demo.JspServletDemo JspServlet2 /admin/JspServlet
  假如 project name 是 jsp2servlet,则该 project根目录的 Context是 /jsp2servlet,在地址栏里显示是 http://localhost:8080/jsp2servlet/;
  在 project 根目录下有 admin目录,对应的 Context是/admin/jsp2servlet,在地址栏里显示是 http://localhost:8080/jsp2servlet/admin,
  在这两个目录下的 jsp 都想转到 com.demo.JspServletDemo类做处理,这时的 url需要在 web.xml注册两次。
  1)在 http://localhost:8080/jsp2servlet/ 目录下的 jsp 页面 JspServlet1,url应写为 "JspServlet"
  2)在 http://localhost:8080/jsp2servlet/admin/ 目录下的 jsp 页面访问 JspServlet2,url应写为 "admin/JspServlet"
  2、在 servlet直接用 request对象,得到发送来的请求内容;用 request.getSession(),得到 session对象,从而得到会话内容。
  这里的 request.getSession()的参数为 boolean 类型,该方法意思可理解为:
  session可以认为是每一个IE进程对应一个会话(新开一个IE进程就可以对应两个会话的),getSession都是返回当前用户的会话对象,参数的区别在于:
  参数为true (默认),则如果“当前用户的会话对象”为空(第一次访问时)则创建一个新的会话对象返回;
  参数为false,则如果“当前用户的会话对象”为空,则返回 null (即不自动创建会话对象)。
  利用这个方法可以判断 session是否过期,如下:
  if(request.getSession(false)==null) System.out.println("Session has been invalidated!"); else System.out.println("Session is active!");
  三、Servlet -& JSP
  从 servlet转到 jsp不外乎两种方法,重定向 和 url转发
  1、重定向 ( Redirect):是路径的跳转,内容和 url都改变。不允许带 request参数( session参数可以),即不允许在 servlet里给 request对象使用setAttribute方法传给下一页面。在 servlet里使用 response.sendRedirect(url) 方法。注意这里的 url前不带斜线 /,如 response.sendRedirect(”test.jsp“)
  2、url转发 ( Forward):是页面的跳转,页面内容发生改变,url不变。可以带 request和 session参数。在 servlet里使用 getServletConfig().getServletContext().getRequestDispatcher(url).forward(request, response)。而这里的 url前需要带斜线 /,如getServletConfig().getServletContext().getRequestDispatcher(”/test.jsp“).forward(request, response)
  String fr="good well"; request.setAttribute("test", fr); RequestDispatcher de=request.getRequestDispatcher("/test.jsp"); de.forward(request, response);
[ 责任编辑:jj ]
去年,手机江湖里的竞争格局还是…
甲骨文的云战略已经完成第一阶段…
软件信息化周刊
比特软件信息化周刊提供以数据库、操作系统和管理软件为重点的全面软件信息化产业热点、应用方案推荐、实用技巧分享等。以最新的软件资讯,最新的软件技巧,最新的软件与服务业内动态来为IT用户找到软捷径。
商务办公周刊
比特商务周刊是一个及行业资讯、深度分析、企业导购等为一体的综合性周刊。其中,与中国计量科学研究院合力打造的比特实验室可以为商业用户提供最权威的采购指南。是企业用户不可缺少的智选周刊!
比特网络周刊向企业网管员以及网络技术和产品使用者提供关于网络产业动态、技术热点、组网、建网、网络管理、网络运维等最新技术和实用技巧,帮助网管答疑解惑,成为网管好帮手。
服务器周刊
比特服务器周刊作为比特网的重点频道之一,主要关注x86服务器,RISC架构服务器以及高性能计算机行业的产品及发展动态。通过最独到的编辑观点和业界动态分析,让您第一时间了解服务器行业的趋势。
比特存储周刊长期以来,为读者提供企业存储领域高质量的原创内容,及时、全面的资讯、技术、方案以及案例文章,力求成为业界领先的存储媒体。比特存储周刊始终致力于用户的企业信息化建设、存储业务、数据保护与容灾构建以及数据管理部署等方面服务。
比特安全周刊通过专业的信息安全内容建设,为企业级用户打造最具商业价值的信息沟通平台,并为安全厂商提供多层面、多维度的媒体宣传手段。与其他同类网站信息安全内容相比,比特安全周刊运作模式更加独立,对信息安全界的动态新闻更新更快。
新闻中心热点推荐
新闻中心以独特视角精选一周内最具影响力的行业重大事件或圈内精彩故事,为企业级用户打造重点突出,可读性强,商业价值高的信息共享平台;同时为互联网、IT业界及通信厂商提供一条精准快捷,渗透力强,覆盖面广的媒体传播途径。
云计算周刊
比特云计算周刊关注云计算产业热点技术应用与趋势发展,全方位报道云计算领域最新动态。为用户与企业架设起沟通交流平台。包括IaaS、PaaS、SaaS各种不同的服务类型以及相关的安全与管理内容介绍。
CIO俱乐部周刊
比特CIO俱乐部周刊以大量高端CIO沙龙或专题研讨会以及对明星CIO的深入采访为依托,汇聚中国500强CIO的集体智慧。旨为中国杰出的CIO提供一个良好的互融互通 、促进交流的平台,并持续提供丰富的资讯和服务,探讨信息化建设,推动中国信息化发展引领CIO未来职业发展。
IT专家新闻邮件长期以来,以定向、分众、整合的商业模式,为企业IT专业人士以及IT系统采购决策者提供高质量的原创内容,包括IT新闻、评论、专家答疑、技巧和白皮书。此外,IT专家网还为读者提供包括咨询、社区、论坛、线下会议、读者沙龙等多种服务。
X周刊是一份IT人的技术娱乐周刊,给用户实时传递I最新T资讯、IT段子、技术技巧、畅销书籍,同时用户还能参与我们推荐的互动游戏,给广大的IT技术人士忙碌工作之余带来轻松休闲一刻。
微信扫一扫
关注Chinabyte本帖子已过去太久远了,不再提供回复功能。Servlet向JSP传值问题_java吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:539,227贴子:
Servlet向JSP传值问题收藏
Servlet中:request.setAttribute("ReportA",ReportA);request.setAttribute("ReservationB",ReservationA);RequestDispatcher dispatcher = request.getRequestDispatcher("ReportWrite.jsp");dispatcher.forward(request, response);
JSP中:Treservation ReservationB= (Treservation)request.getSession().getAttribute("ReservationB");Treport reportA= (Treport)request.getSession().getAttribute("reportA");检查收到的值一直是NULL啊! 求助~~
java上海北大青鸟于达校区专注java,免试入学,专科保底,学历+技能,包就业!喜迎新春,更有一大拨免费试听课程来袭,点击预约试听名额~北大青鸟于达校区
这样传值没有重定向 删掉getSession还是出不来 求助求助
现在发现的问题是: 传输String的值是可以的 但是传输自定义类 Treservation和Treport 就是null 请问为何?
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或JSP,servlet和数据库之间传值出现乱码的问题 - 推酷
JSP,servlet和数据库之间传值出现乱码的问题
最近困扰我很久的一个问题终于解决了,为他我头疼了好几天,问题是JSP通过servlet向数据库传值,查询显示在页面的时候出现了乱码,原先我数据库中有两行带有中文的数据,查询的时候倒是没有出现乱码,我debug一下,发现JSP和servlet中所有接受中文字符集的变量都没有出现乱码,我去数据库查看,所有添加的中文字符都是问号,问题发现了,我就百度什么原因,有人说改变tomcat字符集,通过更改server.xml文件的字符集来接受中文字符,
&Connector port=&8080& protocol=&HTTP/1.1&
connectionTimeout=&20000&
redirectPort=&8443&
URIEncoding=&UTF-8&/&
我试了一下还是没能解决问题,
如果通过servlet向数据库发送数据中包含中文,可以再servlet中设置
request.setCharacterEncoding(&UTF-8&);
response.setContentType(&text/charset=UTF-8&);
在页面时设置charset的字符集
&%@ page language=&java& contentType=&text/ charset=utf-8&
pageEncoding=&utf-8&%&
&meta http-equiv=&Content-Type& content=&text/ charset=utf-8&&
在web.xml文件定义编码,同时在SetCharacterEncodingFilter类里定义编码为utf-8
&filter-name&SetCharacterEncodingFilter&/filter-name&
&filter-class&com.bzu.servlet.SetCharacterEncodingFilter&/filter-class&
&filter-mapping&
&filter-name&SetCharacterEncodingFilter&/filter-name&
&url-pattern&/*&/url-pattern&
&/filter-mapping&
SetCharacterEncodingFilter类:
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding(&UTF-8&);//处理编码
response.setCharacterEncoding(&UTF-8&);//处理编码
chain.doFilter(request, response);//让过滤器执行下一个请求
public void destroy() {
public void init(FilterConfig arg0) throws ServletException {
方法五:在form表单里定义编码
accept-charset=&utf-8& onsubmit=&document.charset='utf-8';&
这些方法都试过了,还是出现了乱码。无奈,之后在群里请教大神,有一个大神说,在MySQL数据库里运行下面这一句话
show variables like '%char%';
我运行之后的结果是
大神说其中我这两个需要更改,
然后我就找到安装目录下的my.ini文件吧把下面几句话给成如下格式:
default-character-set=utf8
default-storage-engine=INNODB
之后重启MySQL,之后果真问题解决了。
附带群的qq号, 希望群里能帮助一下真正爱学习Java的同学
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致

我要回帖

 

随机推荐