jsp笔记一

jsp的页面元素

脚本

  1. <% %> 局部变量,java语句
  2. <%! %> 全局变量,定义方法
  3. <%=输出表达式 %>

通常,修改web.xml、配置文件、java 需要重启tomcat服务

如果是修改 jsphtmlcssjs,不需要重启

注释

  • html注释
  • java注释 // /.../
  • jsp注释 <%-- --%>

jsp指令

<@page  %>      定义页面的依赖属性,如脚本语言,error页面,缓存需求等
<@include %>        包含其他文件
<%taglib %>     引入标签库的定义,可以是自定义标签

page指定的属性

  1. language:jsp页面使用的脚本语言
  2. import: 导入类
  3. pageEncoding: jsp 文件自身编码
  4. contentType: 浏览器解析jsp的编码

jsp行为

JSP行为标签使用XML语法结构来控制servlet引擎。它能够动态插入一个文件,重用JavaBean组件,引导用户去另一个页面,为Java插件产生相关的HTML等等。
行为标签只有一种语法格式,它严格遵守XML标准:

<jsp:action_name attribute="value" />
语法 描述
jsp:include 用于当前页面中包含静态或动态资源
jsp:userBean 寻找和初始化一个javaBean组件
jsp:setProperty 设置JavaBean组件的值
jsp:getProperty 将JavaBean组件的值插入到output中
jsp:forward 从一个jsp文件向另一个文件传递一个包含用户请求的request对象
jsp:plugin 用于在生成的HTML页面中包含Apple和JavaBean对象
jsp:element 动态创建一个XML元素
jsp:attribute 定义动态创建的XML元素的属性
jsp:body 定义动态创建的XML元素的主体
jsp:text 用于封装模板数据

jsp隐含对象

JSP支持九个自动定义的变量,江湖人称隐含对象。

对象 描述
request 请求对象
response
out 向客户端输出内容
session
application
config
pageContext
page
Exception Exception类的对象,代表发生错误的JSP页面的对应的异常对象

session对象

方法 返回值类型 说明
setAttribute(String key,Object value) void 一键值对的形式保存对象值
getAttribute(String key) Object 通过键获取对象值
getID() String 获取sessionId
invalidate() void 设置session对象失效
setMaxInactiveInter void 设置session的有效期
removeAttribute(String key) void 移除session中的属性
  • Session 是在服务端保存用户信息,Cookie是在客户端保存用户信息。
  • Session 中保存的是对象,Cookie中保存的是字符串
  • Session 对象随会话结束而失效,Cookie则可以长期保存在客户端
  • Cookie 通常用于保存不重要的用户信息,重要的信息使用session保存

创建Cookie对象

	Cookie cookieName=new Cookie(String key,String value);

写入Cookie

Response.addCookie(cookieName)

读取Cookie

Cookie[] cookies=request.getCookies();
getCookies() 返回一个Cookie对象组(JSON格式,类似于字典)
getName() -> 获取键(key)
getValue() -> 获取值(Value)
所以取值时需要遍历数组

在读取Cookie时,为了避免空指针异常,在循环Cookie数组时先对数组进行非空判断
关键代码

	<%
		Cookie[] cookies = request.getCookies();
		String user=””;
		if(cookies != null){
		For(int i=0;i<cookies.length;i++ ){
			If(cookies[i].getName.equals(“user”)){
				User=cookies[i].getValue();
}
}
}
%>
方法 返回值类型 说明
setValue(String value) void 创建Cookie后,为Cookie赋值
getName() String 获取Cookie的名称
getValue() String 获取Cookie的值
getMaxAge() int 获取Cookie的有效期,以秒为单位
setMaxAge(int expiry) void 设置Cookie.....
  • Tip

通常情况下expiry参数应为大于0的整数,表示Cookie的有效时间。

如果设置expiry参数为0,表示删除Cookie

设置expiry参数为-1或不设置,表示Cookie会在当前窗口关闭后失效

application 内置对象与全局作用域

application对象常用方法(setAttribute(),getAttribute)

page作用域与 pageContext 对象

page作用域的数据只能在本页面中访问
,在该作用域内可以使用pageContext对象的setAttribute()和
getAttribute()方法来访问该类型作用域数据

不同作用域的对比

name Description
page作用域 只在当前页面有效,一旦离开当前页面,则该范围内创建的对象将无法访问
request作用域 在同一个请求范围内可以访问该范围内创建的对象,一旦请求失效,则创建的对象也失效
session作用域 在会话没有失效或者销毁前,都可以访问该范围内的对象
application作用域 在整个web应用服务没有停止前,都可以从application中进行数据的存取
原文地址:https://www.cnblogs.com/duoban/p/11536441.html