首页 > 代码库 > JSP1

JSP1

一、JSP内置对象(剩余4个)
1.out
向网页输出内容 println("html内容")

2.config (对应于ServletConfig接口)
String getInitParameter(String name) 根据初始化参数名称获取初始化参数值
JSP页面的初始化参数在web.xml中配置

ServletContext getServletContext() 获取ServletContext对象

3.exception(页面异常对象)
要使用此内置对象,则必须在JSP页面的page指令中添加isErrorPage="true"属性。

4.page
page代表本JSP页面的实例化对象(JSP转化成Servlet的实例化对象)。

二:JSP常用指令
1.包含指令
静态包含指令:(先包含,后编译,可能会发生重复声明变量问题)
<%@ include file="要包含的页面"%>

动态包含指令:(先分别编译,后包含,解决了变量声明冲突的问题)
<jsp:include page="要包含的页面">
<jsp:param name="传递到包含页面的参数名" value="http://www.mamicode.com/参数值"/>
</jsp:include>

2.跳转指令
<jsp:forward page="要跳转的页面">
<jsp:param name="传递到跳转页面的参数名" value="http://www.mamicode.com/参数值"/>
</jsp:forward>
注意:此跳转指令为服务器端跳转。

三:EL(Expression Language)表达式语言
嵌入于JSP页面的表达式,访问属性的语法格式为:${属性名}
EL的内置对象:pageContext、pageScope、requestScope、sessionScope、
applicationScope、param、paramValues、initParam、cookie、header、headerValues。

1.使用EL输出属性
${属性名} 默认先访问pageContext范围的属性
pageContext > request > session > application
${pageScope.属性名}
${requestScope.属性名}
${sessionScope.属性名}
${applicationScope.属性名}

2.使用EL接收参数
${param.参数名} 接收一个参数
${paramValues.参数名[0]} 接收一组参数中提交上来的第一个
${initParam.全局参数名}
注意:全局参数在web.xml中配置
<context-param>
<param-name>country</param-name>
<param-value>China</param-value>
</context-param>

3.使用EL访问JSP内置对象(使用EL的pageContext内置对象来访问JSP的内置对象)
${pageContext.request}
${pageContext.session}
${pageContext.servletContext}
${pageContext.servletContext.contextPath} // 访问上下文路径
...
4.访问头信息和cookie
eg: ${cookie["JSESSIONID"].value }
${header["user-agent"] }
${headerValues["user-agent"][0]}

5.访问对象(Java对象)
先将对象存储于某个属性范围中,然后访问
eg: ${requestScope.属性名.对象的某个属性名}

6.访问集合
单值集合List
先将集合存储于某个属性范围中,然后访问
${requestScope.info[0]."集合中第一个对象的属性"}

Key-Value集合Map
先将Map集合存储于某个属性范围中,然后访问
${requestScope.info."map中的某个Key"}
${requestScope.info["map中的某个key"]} 

四:MVC设计模式
M(Model):模型层 主要用于处理数据(访问数据库Dao,Javabean)
V(View): 视图层 用于显示页面信息 (JSP)
C(Controller): 控制层 是模型层与视图层的桥梁。
视图层(V)发送请求到控制层(C),控制层(C)接收到请求后,调用模型层(M),
模型层(M)访问数据库,将请求的数据发给控制层(C),控制层根据情况选择跳
转的视图层(V)。


 


 


JSP1