它和servle技能一样,都是SUN公司定义的一种用于开拓动态web资源的技能
JSP实际上便是Servlet
jsp运行事理
浏览器访问做事器上jsp页面
做事器中jsp-->翻译成.java文件-->编译成.class文件
jsp和servlet最佳利用办法
servlet:获取参数 处理逻辑 要求转发
jsp:html界面 数据回显
jsp的基本语法
jsp注释<%--注释内容--> 特点:安全,省流量
网页注释:<!-- 网页注释 --> 特点:不屈安,费流量
小脚本 <% java代码 %>
声明成员变量和方法 <%! %>
显示数据 <%= %>相称于out.print()
3个指令
(1)page
<%@page ...%>
session开关 默认开启
pageEncoding 设置本页面的编码格式
contextType: 等同于response.setContextType(\"大众text/html;charset=utf-8\公众);
errorPage: 如果页面中有缺点,则跳转到指定的资源。
isErrorPage:默认是关闭的 开启后可以利用exception工具来获取非常信息
(2)include
静态包含:把其它资源包含到当前页面中。
在翻译时就把两个文件合并
<%@ include file=\"大众/include/1.jsp\公众 %>
动态包含:不会合并文件,当代码实行到include时,才包含另一个文件的内容。
<jsp:include page=\"大众/include/1.jsp\公众></jsp:include>
(3)taglib
浸染:在JSP页面中导入JSTL标签库。更换jsp中的java代码片段。
<%@taglib uri=\公众http://java.sun.com/jsp/jstl/core\"大众 prefix=\"大众c\"大众 %>
6个动作
<jsp:include > 动态包含
<jsp:forward> 要求转发
<jsp:param> 设置要求参数
<jsp:forward page=\公众/7.jsp\"大众>
<jsp:param value=\"大众wanglong\"大众 name=\"大众username\"大众/>
<jsp:param value=\公众123\公众 name=\公众password\公众/>
</jsp:forward>
<jsp:useBean> 创建一个工具
<!-- 利用userbean标签创建一个工具
id表示创建工具的名字
class表示利用哪个类创建该工具
-->
<jsp:setProperty> 给指定的工具属性赋值
<jsp:getProperty> 取出指定工具的属性值
//name表示要赋值那个工具
jsp的9个内置工具
request
response
session
application
exception 获取非常信息 默认是关上的
page 当前servlet实例 this
config
out
pageContext(利用pageContext工具 往各个域中存值)
参数3表示向哪个域里存值
pageContext.setAttribute(\公众www\公众, \"大众request\公众,PageContext.REQUEST_SCOPE);
全域查找 域从小到大进行查找
<%=pageContext.findAttribute(\"大众www\公众) %>
EL表达式
一个书写规范,供应了java代码在jsp页面的简便书写办法
功能
1.获取存在4个浸染域中的数据
${u} 相称于 pageContext.findAttribute(\"大众u\"大众);
EL获取对付null这样的数据,在页面中表现为空字符串
判断空值的方法
关键词 empty
${empty u}
支持三目判断
${empty str3?\"大众我是前面的\公众:\"大众我是后面的\公众 }
获取工具的属性值 javaBean导航(工具导航)
内部就相称于调用了getUsername()方法
用点能获取的 用[]都能获取
用[]获取的 点获取不了
利用隐式工具 指定域找对应的值
${pageScope.xx}
${requestScope.xx }
${sessionScope.xx }
${applicationScope.xx }
获取表单提交的数据
${param.username }
${param.password }
${paramValues.hobby[0] }