它和servle技能一样,都是SUN公司定义的一种用于开拓动态web资源的技能

JSP实际上便是Servlet

jsp运行事理

jsp竖导航栏jsp的运行道理和根本语法 Vue.js

浏览器访问做事器上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] }