tomcat/JavaWeb的一些简单数据传输

声明:文章仅限自身学习/总结,若有不足欢迎指正.

共享数据:页面与后台共享

在Web中数据在不同的文件中相互传输的方式最简单的就是通过会话域进行数据的共享,在jsp文件中session.setAttribute("[String]",[Object])/session.getAttribute("[String]")来设置和获得名字为[String]的数据信息[Object],

例如: 

<%session.setAttribute("cont",1);%>//设置参数cont,其内容为1的Object型
<%Object i = session.getAttribute("cont");%>//得到参数cont,其内容为1的Object型,可进行强转为int型

其相应在java文件中则是httpServletRequest.getSession().setAttribut("[String]",[Object])/httpServletRequest.getSession().getAttribut("[String]")来设置和获得名字为[String]的数据信息[Object].

req.getSession().setAttribute("cont", i);
Object i = req.getSession().getAttribute("cont");

除了这个最常用的会话域,其他还包括

页面域pageContext.setAttribute(“username”,”zhangsan”);

请求域request.setAttribute(“username”,”zhangsan”);

应用域application.setAttribute(“username”,”zhangsan”);.

会话域虽然方便,但也仅限于数据比较少的情况,否则一但数据多起来,而且还没有进行系统的管理的话,则会造成各种信息混乱的情况,因此临时产生的信息则可通过页面域或请求域的方式进行处理.

 

数据上传:页面给后台数据

如果想通过访问页面.jsp时将数据传输给后台.java文件信息的话:例如在超链接后加上"?cont=xxx".

这种方式的特点是一次性,如果想再次利用则需要.java进行收集信息并保存到合适的区域,

并且这种方式传输,内容只能从页面传输给后台,java文件,而不能反向

例如通过超链接方式::

<a href="Change?cont=<%=i%>&modo=<%=s1%>" >按钮</a>

其中的&作为分隔符是需要稍微注意一下的地方,如果不在意这点的话则很有可能填写成其他符号,比如说逗号,导致数据传输出现问题

而通过<form><input></form>标签则需要利用:

<input type="hidden" name="cont" value=<%=s%> >

其中hidden则是隐藏信息,name的内容则是参数名,value则是具体信息内容,这里s是参数的具体内容,建议使用变量,再此之前进行数据类型和内容的规定.

后台.java文件中取信息则是利用getParameter:

String cont = req.getParameter("cont");

如果其中实际内容是int类型,则可以通过Integer.parseInt(cont);将字符串解析成int格式的数据,以方便后续计算

 

数据转交:后台与后台传输

数据转交是后台与后台之间的数据交互

在doGet/doPost方法中利用httpServletRequest.getRequestDispatcher("[/]服务文件名")创建RequestDispatcher转发器,再用转发器进行数据转发:

//设置共享数据
httpServletRequest.setAttribute("参数名",参数内容);
//获取转发器,转发给"服务文件名"
RequestDispatcher rd=httpServletRequest.getRequestDispatcher("[/]服务文件名");
//实现转发
rd.forward(httpServletRequest,httpServletReponse);

这个数据转交的特点在于不仅将自身得到的数据全部转交,而且还能添加新的数据进入httpServletRequest

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值