jsp

html:展示网页内容(静态)
动态网页中 有数据的交互
jsp:
本质是一个servlet
是一种动态网页的开发技术,它可以使用jsp标签在html网页中插入java代码
格式<% %>

jsp的执行原理:
1、翻译阶段,将jsp文件翻译成java文件
2、编译阶段,将java文件编译成class文件
3、执行阶段,将class就插入到html页面职工,并且返回给浏览器

jsp脚本(后期会被其他技术代替)

<% java代码 %>: java代码
<%= java代码或者数据 %> 在网页上输出
<%! %> 定义成员(成员变量 成员方法)

案例:循环打印表格
<table border="1px" width="80%">
<tr>
<td>name</td>
<td>age</td>
<td>gender</td>
</tr>
<%
for(int i = 0;i<5;i++){ %>
<tr>
<td><%=i%></td>
<td><%=i%></td>
<td><%=i%></td>
</tr>
<%
}
%>
</table>

jsp指令:声明jsp页面的一些属性和动作
格式:<%@指令名称 属性= 值 %>

指令:
page:
contentType:设置文件的mime类型 设置对应的响应流的编码
language:当前页面支持的语言 java
pageEncoding:当前页面的编码格式
如果以上两个编码同时设置,就各用个的
如果出现一个,就共同使用
如果不出现,使用服务器默认的编码(tomcat8以后:utf-8,tomcat7以及以前ISO8859-1)
import:导入java的jar包
errorPage:错误页面,入股当前页面出现错误 就跳转
isErrorPage:标注当前页面是否是 错误页面默认是false
include:静态包含(包含其他页面的源码)
只会产生一个java文件和一个class文件
taglib:导入jsp的标签库

jsp9个内置对象:(非常重要)
out:页面输出
request:请求
response:响应
session:会话
application:全局管理者
config:servletConfig
page:Object类型 代表当前对象
pageContext:当前页面的上下文对象(jsp才有)
exception:只有当前jsp页面设置为一个 错误页面才会有这个对象

4个域对象:
applicction:整个工程
session:一次会话(从浏览器打开到关闭)
request:一次请求
pageContext:当前页面

在能够满足条件的情况下 选用作用域小的

方法:setAttribute()
getAttribute()
removeAttribute()

案例:登录成功以后 在首页显示用户的名字

pageContext:
1、域对象
2、获取其他的内置对象
getXxx()
3、操作其他域对象
scope:用来描述要存储到哪个域中
setAttribute(key,value,scope)
getAttribute(key,scope)
scope的取值:
PageContext.REQUEST_SCOPE
PageContext.SESSION_SCOPE
PageContext.APPLICATION_SCOPE
4、便捷查找
findAttribute()
根据域的范围从小到大进行排查,如果查询到就返回结果 并且停止查询


jsp的动作标签:
<jsp:include>:动态包含
如果有对各界面,会产生多个java源文件和class文件
<jsp:forward>:请求转发


扩展: 在web.xml中配置 通用的错误页面

<error-page>
<error-code>404</error-code>
<location>/404.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/404.jsp</location>
</error-page>

注释:

jsp:<%-- --%>
html:<!-- -->

posted @ 2019-01-28 09:11  Hary520  阅读(206)  评论(0编辑  收藏  举报