学习记录 jsp
来源:互联网 发布:上传文件夹到linux 编辑:程序博客网 时间:2024/03/29 15:37
Jsp
用来开发动态资源。可同时加载html代码和java代码,运行在服务器中。
Jsp执行过程:
1.浏览器访问jsp,服务器接收请求并将jsp文件翻译为java文件(tomcat存在work目录下)。
2.服务器将java文件编译为class字节码文件。
3.服务器构造该字节码文件对象。
4.服务器调用对象中方法,返回内容到浏览器。
Jsp与servlet
Jsp继承HttpJspBase而HttpJspBase又继承HttpServlet。
Jsp能做servlet能做的和不能做的。
语法
<%=变量或表达式%>jsp表达式:向浏览器打印变量或表达式的值。原理out.print(“”)
<%java代码%> jsp脚本:执行java代码。原理是将java代码拷贝到_jspService中执行。当中需要穿插html代码时需要先结束jsp脚本。
<%! 变量或方法%> jsp声明:声明jsp变量或方法。
Jsp内置对象
Jsp页面加载时自动创建的对象,方便开发者调用对象方法。共有九种。
以session为例
不需HttpSession session = request.getSession(true);创建sess对象。
只需session.getId();直接调用get方法。
out对象通过getWrite方法返回printWriter对象,会先写入缓存区直到缓存区已满或缓存区刷新或关闭或jsp页面执行完毕时缓存内容向外写出。
pageContext对象:PageContext类
获取其他八个内置对象用以在页面之间数据传输。在el表达式和自定义标签中频繁使用。
JspWriter out=pageContext.getOut();
HttpSession session=pageContext.getSession();
本身也是域对象,可以保存和读取数据。
pageContext.setAttribute(“name”,”value”,PageContext.PAGE_SCOPE);(默认)
pageContext.setAttribute(“name”,”value”,PageContext.SESSION_SCOPE);
pageContext.setAttribute(“name”,”value”,PageContext.REQUEST_SCOPE);
pageContext.setAttribute(“name”,”value”,PageContext.APPLICATION_SCOPE);
pageContext.getAttribute(“name”,”value”,PageContext.PAGE_SCOPE);(默认)
pageContext.getAttribute(“name”,”value”,PageContext.SESSION_SCOPE);
pageContext.getAttribute(“name”,”value”,PageContext.REQUEST_SCOPE);
pageContext.getAttribute(“name”,”value”,PageContext.APPLICATION_SCOPE);
page域:只能在本页中使用。
request域:只能在一个请求中使用。
Session域:只能在同一个会话中使用。
Application域:只能在同一个应用中使用。
pageContext.findAttribute(“name”);自动在四个域中搜索数据。
优先级page>request>session>application
Jsp三指令
<% include file=”uri”%>
把被包含页面翻译到包含页面中,合并翻译成java源文件,在编译运行,又称静态包含。被包含页面不需要html、head、body等全局html标签。另外此处uri默认项目根目录。
<%@ page %>
<%@ page
Language=”java” 服务器翻译jsp的语言
Import=”java.util.*” 导包,多个包用,隔开
pageEncoding=”utf-8” 服务器翻译jsp的编码
contentType=”text/html;charset=utf-8” 服务器响应浏览器的数据类型和编发方式,不 写会参考pageEncoding编码方式
ErrorPage 指定当前jsp页面错误处理页面
isErrorPage true是错误处理页,可exception内置对象 false不是错误处理页,不可exception内置对
> 象。在web.xml中可配置全局错误处理页。
<%@ taglib uri=”uri” prefix=”prefixOfTag”>
EL表达式
可以替换掉jsp表达式,用以向浏览器输出域对象中的变量值和表达式的结果
语法:${变量或表达式}
可是从四个域(pageScope/requestScope/sessionScope/applicationScope)中获取${name}
也可以指定域${pageScope.name}
EL表达式
${1+2}
${1>2}
${1>2&&1<2}
${1>2||1<2}
${empty name} null或空字符串都可以判断
- jsp学习记录
- 学习记录 jsp
- jsp学习记录
- JSP javabean 学习记录 一
- JSP javabean 学习记录 二
- 学习 Jsp 的一点记录
- JSP会话跟踪学习记录
- jsp学习的一些记录心得
- jsp页面学习记录(一)
- jsp页面学习记录(二)
- jsp页面学习记录(三)
- 【转载】JSP会话跟踪学习记录
- servlet+jsp上传过程(学习记录)
- jsp记录
- jsp记录
- jsp学习之旅的错误记录01
- JSP学习(当年做的知识记录)
- springBoot 学习记录(四)- 访问jsp页面
- Matlab中几种括号的区别
- Simplify Path
- android四种启动lanuchMode
- 动画效果
- 高德地图aMap.moveCamera(CameraUpdateFactory.zoomTo(15));方法不起作用。
- 学习记录 jsp
- [BZOJ1010]玩具装箱:DP决策单调性
- Prime Number CodeForces
- [LeetCode]60. Permutation Sequence
- 一个项目中的多个类中可以包含main()
- #define 高级用法(Ex) __FILE__ __FUNCTION__ __LINE__
- UNIX 进程--多任务原理
- MyEclipse快捷键大全
- 类初始化的顺序问题