JSP基础
来源:互联网 发布:网络爬虫实战 编辑:程序博客网 时间:2024/06/06 16:56
Jsp基础
1)Jsp的执行过程
tomcat服务器完成:jsp文件->翻译成java文件->编译成class字节码文件-> 构造类对象-> 调用方法
tomcat的work目录下存放jsp运行时的临时文件!!
2)Jsp语法:
1)jsp表达式:<%=变量或表达式%> 向浏览器输出变量或表达式计算的结果
2)jsp脚本: <% java代码 %> 执行java代码 原理:翻译到_jspService()方法中
3)jsp声明: <%! 变量或方法 %> 声明jsp的成员变量或成员方法
4)jsp注释: <%!– jsp注释 –%> 用于注释jsp代码,不会翻译到java文件中,也不会执行。
3)jsp的三大指令 3.1 include指令:用于包含其他页面。原理:先合并再翻译,叫静态包含 3.2 page指令:告诉tomcat服务器如何把jsp文件翻译成java文件 language: 翻译的动态语言。 import: 类导入 jsp文件编码问题: pageEncoding: 告诉tomcat服务器使用什么编码翻译jsp文件(jsp->java文件) contentType: tomcat服务器发送给浏览器的数据编码(tomcat服务器->浏览器) 异常错误相关的: errorPage: 指定当前jsp页面的错误处理页面。 isErorrPage: 指定当前页面是否为错误处理页面。false,不是错误处理页面,则不能使用 exception内置对象;true,是错误处理页面,可以使用exception内置对象。 配置全局的错误处理页面:
<!-- 全局错误处理页面配置 --> <error-page> <error-code>500</error-code> <location>/common/500.jsp</location> </error-page> <error-page> <error-code>404</error-code> <location>/common/404.html</location> </error-page>
session: 是否开启session功能。false,不能用session内置对象;true,可以使用session内 置对象。 buffer: jsp页面的缓存区大小。 isELIgnore: 是否忽略EL表达式。
Jsp的内置对象(重点)
2.1 什么是内置对象?
在jsp开发中,会频繁使用到一些对象
。例如HttpSession,ServletContext,ServletContext,HttpServletRequet。如果我们每次要使用这些对象都去创建这些对象就显示非常麻烦。所以Sun公司设计Jsp时,在jsp页面加载完毕之后就会自动帮开发者创建好这些对象,而开发者只需要直接使用这些对象调用方法即可!,这些创建好的对象就叫内置对象!!!!
举例: servlet: HttpSession session = request.getSession(true); (需要开发者做) jsp: tomcat服务器: HttpSession session = request.getSession(true);(不需要开发者做) 开发者做的: session.getId(); 2.2 9大内置对象 内置对象名 类型 request HttpServletRequest response HttpServletResponse config ServletConfig application ServletContext session HttpSession exception Throwable page Object(this) out JspWriter pageContext PageContext
pageContext对象
pageContext对象的类型是PageContext,叫jsp的上下文对象
1)可以获取其他八个内置对象
public class 01_hello_jsp { public void _jspService(request,response){ 创建内置对象 HttpSession session =....; ServletConfig config = ....; 把8个经常使用的内置对象封装到PageContext对象中 PageContext pageContext = 封装; 调用method1方法 method1(pageContext); } public void method1(PageContext pageContext){ 希望使用内置对象 从PageContext对象中获取其他8个内置对象 JspWriter out =pageContext.getOut(); HttpServletRequest rquest = pageContext.getRequest(); ........ } }
使用场景: 在自定义标签的时候,PageContext对象频繁使用到!!!
ServletContext context域
HttpServletRequet request域
HttpSession session域 –Servlet学习的
PageContext page域 –jsp学习的
作用: 保存数据和获取数据,用于共享数据 #保存数据 1)默认情况下,保存到page域 pageContext.setAttribute("name"); 2)可以向四个域对象保存数据 pageContext.setAttribute("name",域范围常量) #获取数据 1)默认情况下,从page域获取 pageContext.getAttribute("name") 2)可以从四个域中获取数据 pageContext.getAttribute("name",域范围常量) 域范围常量: PageContext.PAGE_SCOPE PageContext.REQUEST_SCOPE PageContext..SESSION_SCOPE PageContext.APPLICATION_SCOPE 3)自动在四个域中搜索数据 pageContext.findAttribute("name"); 顺序: page域 -> request域 -> session域- > context域(application域)
四个域对象:
pageContext page域
request request域
session session域
application context域
1)域对象作用: 保存数据 和 获取数据 ,用于数据共享。 2)域对象方法: setAttribute("name",Object) 保存数据 getAttribute("name") 获取数据 removeAttribute("name") 清除数据 3)域对象作用范围: page域: 只能在当前jsp页面中使用(当前页面) request域: 只能在同一个请求中使用(转发) session域: 只能在同一个会话(session对象)中使用(私有的) context域: 只能在同一个web应用中使用。(全局的)
- jsp基础
- jsp 基础
- JSP基础
- JSP基础
- JSP基础
- Jsp基础
- JSP基础!
- JSP基础
- JSP基础
- JSP基础
- JSP基础
- JSP基础
- JSP基础
- JSP基础
- JSP基础
- JSP基础
- jsp基础
- JSP基础
- linux系统下查看swap
- miniUI中的窗口关闭
- Volley 源码解析(一)
- Spring MVC 3.0 深入及对注解的详细讲解
- 多线程
- JSP基础
- IOS Dev Intro - NSOperation of Thread Series
- js里任意两个数之间的随机数函数
- html——新闻页面
- sbt-idea-入门及配置
- 思科无线AP配置之二(通过超级终端配置ap的ip地址篇)
- boost多平台编译方法
- sqlserver字段相同情况下另一字段实现自动增长
- 综合项目之乐学成语