* JSP:
* 注释:
* 标记语言注释: <!-- -->
* 缺点:
1.会发送到客户端
2.不能注释Java代码
* jsp注释: <%-- --%>
* 优点:
1.不会发送到客户端
2.能注释Java代码
* 3大指令:
* 指令:配置JSP页面的属性或者导入一些额外的内容
* 格式:<%@ 指令名称 属性名="属性值" %>
* 分类:
page:配置JSP页面的属性
include:静态包含
taglib:导入额外的内容
* page指令:
language :指定jsp页面使用的语言。只有一个值 java
*import :导入软件包
*pageEncoding :设置页面编码
1.指定jsp文件的编码
2.告诉浏览器页面使用的编码格式
autoFlush:自动刷新
buffer:缓冲区大小
*errorPage:指定错误页面,当页面发生异常时,指定跳转的页面
* 一般在开发完成后,会在web.xml中通过<error-page>标签来配置整个项目的错误页面
<error-page>
<error-code>500</error-code>
<!-- <exception-type></exception-type> -->
<location>/500.jsp</location>
</error-page>
<!-- <error-page>
<error-code>404</error-code>
<location>/404.jsp</location>
</error-page>
-->
isErrorPage:是否是错误页面
true:是错误页面,可以使用内置对象exception
false:不是
* taglib:导入额外的内容,如:导入jstl标签
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
* include:静态包含
* 包含后,只会存在一个.class文件。
* 6个动作标签:
* 动作标签:替换Java代码。简化书写,提高可读性
<jsp:useBean> Person p = new Person()
使用一个ID和一个给定作用范围和同一ID的JavaBean相关联
<jsp:setProperty> p.setName("zhangsan")
设置JavaBean的属性值
<jsp:getProperty> String name = p.getName()
取得JavaBean的属性值
<jsp:include> 动态包含
请求时文件包含
* 多个.class字节码文件
<jsp:forward> 转发
接受用户输入并将请求分派给另一页面
<jsp:param> 传递请求参数
------------------------------------------------------------------------------------------------------
<%
Person p = new Person();
p.setName("张三");
String name = p.getName();
//request.getRequestDispatcher("").include(request, response);
//request.getRequestDispatcher("").forward(request, response);
%>
上面的标签可以替换为下面的
<jsp:useBean id="p1" class="cn.itcast.domain.Person" /><!-- 反射 -->
<!--
name对应的是setName方法
name---Name--setName
内省:通过字段名称,找到对应的setter和getter方法。
-->
<jsp:setProperty name="p1" property="name" value="李四"/>
<jsp:getProperty name="p1" property="name"/>
---------------------------------------------------------------------------------------------
<!-- 动态包含 -->
<!--
<jsp:include page="/hello.jsp" /> -->
--------------------------------------------------------------------------------------------------
<!-- 请求转发 -->
<jsp:forward page="/index.jsp">
<jsp:param name="msg" value="hehe"/>
</jsp:forward>
-------------------------------------------------------------------------------------------
* JavaBean:一种符合特定规范的Java类
1.私有所有成员变量
2.提供公共的访问方式 setter 或 getter
3.提供空参构造
domain
pojo
entity
beans
* 9个内置对象:
* 内置对象:在jsp转换后的.java文件的service方法中 声明好的 对象。在jsp中可以直接使用。
* 分类:
application:ServletContext
session:HttpSession
request:HttpServletRequest
pageCotext:PageCotext (页面域)
out:JspWriter
response:HttpServletResponse
config:ServletConfig
page:this
exception: Throwable
* pageCotext:
1.域对象:页面域
2.获取其他八个内置对象:可以在非jsp环境使用其他的内置对象。
* out和response.getWriter():
* 在使用对象向页面输出信息时,采用out