Servlet向jsp传值:
request.setAttribute(String ,objiect)
string--自定义字符串,用于取值的标记,
objiect--传递的对象,可以是常量,也可以是某个对象或对象集合,如果objiect没有值,在客户端输出的时候,会出现空白
Jsp中取值:
----如果是对象集合:则使用<c:foreach item="String" var="object">进行循环取值输出
-----如果是某个对象:直接用EL表达式${String}
-----如果是常量:${常量}
解决页面转发时候的传值,可以用session对象。session是jsp的一个内置对象,是类httpsesion 创建的
jsp含有8个内置对象()
jsp前一个部分,内置java脚本,<%//java程序%>。该方式在企业中已经很少使用。
而主流方式:采用MVC三层架构方式。把界面代码与java代码分开
session可以实现不同页面跳转的时候传值。
传递值的生命周期--
--从创建参数开始
--结束:
-----关闭浏览器
-----超时,默认30分钟
------根据程序移除参数
原理:
--创建session,服务器端与客户端生成一个一对一联系的session的ID。
--当结束session的时候将收回session的ID。
因此,并不是系统中使用的越多越好----建议适量使用。web应用程序部署到服务器后,访问用户是不会限量的,当用户的访问量剧增,服务器会为这些用户分配session的ID,session的ID会存入服务器内存中,就会加大服务器的负荷量。
session对象的使用方法:
需要创建使用HTTPSession来session对象,
设置参数:
session.setAttribute(String,Objiect)
Jsp中的取值与request对象的方式一致
如果在servlet中取参数值
----如果objiect传递的是String类型的,session.getAttribute(String).toString()或者强制类型转换(String)session.getAttribute(String)
-----如果是对象,就必须强制类型转换
(类名)session.getAttribute(String)
-----如果在提取参数值之前,没有设置参数值(之前的页面中,没有传过来值),的到的值为null
移除参数值:
session.removeAttribute(String),移除之后,此session对象就为空了。
应用:登录的验证
在设计的过程中,在需要验证的页面最开始,提取session的值,如果有参数值,则放行,如果参数值为null,则跳转到登录界面
web.xml是Javaweb的核心,启动Tomcat服务的时候,要加载工程的第一步就是解析工程的web.xml文件。
注意:在web.xml文件中,<session-config></session-config>是由Javaweb规定的一个标签,其中的属性session-timeout是设置session对象的有效时间,单位为:分钟。注意和HTML中js的settimeout的单位区分开:为:毫秒。