jsp
- jsp简介:JAVA server pages服务端页面
- jsp必须运行在服务器上
- jsp是在html中镶嵌了java代码
- 运行原理,服务器把jsp解释成servlet.java,并由类在work中执行
运行原理
- 服务器将.jsp文件翻译成了.java文件
- jvm将.java文件翻译成了.class文件
- 服务器实例化相应的_jspservlet对象并调用_jspService()
基本语法
//1. jsp指令
<%@ %>
//2. jsp模板元素:html代码
//作用:跟html作用一致
//3. jsp脚本片段
<% "java代码部分" %>
//作用书写java代码
//4. 表达式
<%= "变量" %>
//输出变量到页面
//5. jsp的声明
<%! "类的成员" %>
//在类中定义内容
//6. jsp的注释
<%!-- html注释 --%>
//java注释: //
/**...*/
<%- jsp独有注释 -%>
jsp中的page指令和include指令
- page指令
- language:指定jsp中的语言,默认是java,目前只有java
- contentType:response.setContentType(“text/html;charset=UTF-8”);
- 设置浏览器的解码方式
- pageEncoding:设置当前页面的encoding方式
- import:导包
- isErrorPage:是否设置成错误页面
- errorPage:设置错误页面
- include指令
- file:包含页面,静态包含
- 注,被包含的页面会包含在本页面编译
- file:设置被包含文件路径
jsp中的forward和include动作标签
- 格式:<jsp: >
- foroard:转发
- param:参数,可以带到新页面
- 通过request对象中获取.
- 不加参数,标签中不可有任何内容!
- <jsp:forward = “xxx.jsp”></jsp:forwrd>
- <jsp:forward = “xxx.jsp”>
-
- </jsp:forwrd>
- include:包含
- page:包含页面,动态包含,包含的页面会翻译和包含
- 当包含页面有动态内容建议使用
九大隐含对象
- 不需要new,就可以直接使用
- 服务器声明,创建,编译.jsp文件时添加
- pageContext
- 类型:javax.servlet.jsp.PageContext
- 作用:域对象
- request
- 类型:HttpServletRequest
- 作用:域对象
- servlet中获取方式,参数获取
- session
- 类型:HttpSession
- 作用:域对象
- servlet中获取方式:request.getSession();
- application
- 类型:servletContext
- 作用:域对象
- servlet中获取方式:getServletSontext();
- config
- 类型:ServletConfig
- 作用:与ServletConfig作用一致:获取Serlet名称,初始化参数,获取SerletContext对象
- servlet获取方式:get
- page
- 类型:Object 代表this
- 作用:调用当前类的信息
- out
- 类型:javax.servlet.jsp.JspWriter
- 作用:向浏览器响应数据
- Servlet实现:
- response
- 类型:HttpServletResponse
- 作用:和servlet中的作用一样
- exception
- 类型:java.long.Throwable;
- 当声明isErrorPage="true"时,表示本页面为错误页面,此对象会生成用来处理异常
jsp四大域对象
- pageContext
- request
- session
- application
- 能用小域,就不用大的域。
- 域对象共有的几个方法,类似于Map子类
- void setAttribute(String, Object value);
- Object getAttribute(String key);
- void removeAttribute(String key);