#JSP运行原理html
#JSP九大隐式对象java
JSP九大隐式对象,其中七个已经在Servlet中讲解过了,主要学习out与pageContextweb
###outexpress
<body><%out.write("hehe");response.getWriter().write("gaga");%></body>
缓存
###pageContextsession
- 使用pageContext能够访问别的三个域以及8大隐式对象,这种用法主要在自定义标签技术中使用
- 经过pageContext对象,能够直接将数据添加到别的三个域中,也能够直接从三个域中获取
- 使用
findAttribute
方法,直接查找各个域中是否有该属性(EL表达式)
- pageContext类中定义了forward方法和include方法来分别简化和替代RequestDispatcher.forward方法和include方法
- 方法接收的资源若是以“/”开头, “/”表明当前web应用
#JSP标签(JSP标准动做)架构
JSP经常使用标签:app
<jsp:include>标签
<jsp:forward>标签
<jsp:param>标签
###include标签jsp
<jsp:include>
标签用于把另一个资源的输出内容插入进当前JSP页面的输出内容之中,这种在JSP页面执行时的引入方式称之为动态引入<jsp:include page="relativeURL | <%=expression%>" flush="true|false" />
<jsp:include>
与include指令的比较<jsp:include>
标签是动态引入, <jsp:include>
标签涉及到的2个JSP页面会被翻译成2个servlet,这2个servlet的内容在执行时进行合并<jsp:include>
标签,仍是include指令,它们都会把两个JSP页面内容合并输出,因此这两个页面不要出现重复的HTML全局架构标签,不然输出给客户端的内容将会是一个格式混乱的HTML文档###<jsp:forward>
标签函数
<jsp:forward>
标签用于把请求转发给另一个资源<jsp:forward page="relativeURL | <%=expression%>" />
,
<jsp:param>
标签当使用<jsp:include>
和<jsp:forward>
标签引入或将请求转发给其它资源时,可使用<jsp:param>
标签向这个资源传递参数
语法1:
<jsp:include page="relativeURL | <%=expression%>"> <jsp:param name="parameterName" value="parameterValue|<%= expression %>" /> </jsp:include>
语法2:
<jsp:forward page="relativeURL | <%=expression%>"> <jsp:param name="parameterName" value="parameterValue|<%= expression %>" /> </jsp:include>
<jsp:param>
标签的name属性用于指定参数名,value属性用于指定参数值。在<jsp:include>
和<jsp:forward>
标签中可使用多个<jsp:param>
标签来传递多个参数
###映射JSP
<servlet> <servlet-name>SimpleJspServlet</servlet-name> <jsp-file>/jsp/simple.jsp</jsp-file> <load-on-startup>1</load-on-startup > </servlet> <servlet-mapping> <servlet-name>SimpleJspServlet</servlet-name> <url-pattern>/xxx/yyy.html</url-pattern> </servlet-mapping>
###如何查找JSP页面中的错误
###重点
###JavaBean相关标签
JavaBean是一个遵循特定写法的Java类,它一般具备以下特色
JavaBean在J2EE开发中,一般用于封装数据,对于遵循以上写法的JavaBean组件,其它程序能够经过反射技术实例化JavaBean对象,而且经过反射那些遵照命名规范的方法,从而获知JavaBean的属性,进而调用其属性保存数据
Javabean的属性
JSP中的JavaBean
<jsp:useBean>
标签:用于在JSP页面中查找或实例化一个JavaBean组件<jsp:setProperty>
标签:用于在JSP页面中设置一个JavaBean组件的属性<jsp:getProperty>
标签:用于在JSP页面中获取一个JavaBean组件的属性<jsp:useBean>标签
<jsp:useBean>
标签用于在指定的域范围内查找指定名称的JavaBean对象
<jsp:useBean id="beanName" class="package.class" scope="page|request|session|application"/>
<jsp:useBean>
执行原理
<jsp:useBean id="currentDate" class="java.util.Date"/>
带标签体的jsp:useBean标签
<jsp:useBean ...> Body </jsp:useBean>
<jsp:setProperty>
标签
<jsp:setProperty>
标签用于设置和访问JavaBean对象的属性。 <jsp:setProperty name="beanName" { property="propertyName" value="{string | <%= expression %>}" | property="propertyName" [ param="parameterName" ] | property= "*" }/>
<jsp:getProperty>
标签
<jsp:getProperty>
标签用于读取JavaBean对象的属性,也就是调用JavaBean对象的getter方法,而后将读取的属性值转换成字符串后插入进输出的响应正文中<jsp:getProperty name="beanInstanceName" property="PropertyName" />