JSP技术总结
JSPjsp 的全换是 java server pages。Java 的服务器页面。 jsp 的主要作用是代替 Servlet 程序回传html 页面的数据。Servlet技术产生后,在使用时最麻烦的是使用大量的out.print语句输出页面。JSP就是用来将Servlet中负责输出显示的语句抽取出来。SP是一个以.jsp为后缀的文件,该文件中主要是HTML和少量的java代码。JSP文件会被容器
JSP
- jsp 的全换是 java server pages。Java 的服务器页面。 jsp 的主要作用是代替 Servlet 程序回传html 页面的数据。
- Servlet技术产生后,在使用时最麻烦的是使用大量的out.print语句输出页面。JSP就是用来将Servlet中负责输出显示的语句抽取出来。
- JSP是一个以.jsp为后缀的文件,该文件中主要是HTML和少量的java代码。JSP文件会被容器转换成一个Servlet类,然后执行。
JSP编写规范
JSP页面中的HTML代码
JSP页面中的HTML包括HTML标记、CSS、JavaScript,像编写HTML页面一样编写即可,作用是控制页面在浏览器中显示的效果。
JSP中的注释
<!--这是html注释-->
<%--这是jsp注释--%>
JSP页面中的java代码
JSP页面中的java代码包括JSP表达式、JSP小脚本、JSP声明,编写在页面的任意位置,控制页面中可变内容的产生
JSP指令
page指令
在JSP页面中,经常需要对页面的某些特性进行描述,例如页面的编码方式、JSP页面采用的语言,这时可以使用page指令来实现。格式如下:
<%@ page 属性名1="属性名1" 属性名2="属性名2" ...%>
page指令的常用属性
属性名 | 取值范围 | 描述 |
---|---|---|
language | java | 指明解释该JSP文件采用的语言,默认java |
import | 任何包名、类名 | 指定JSP页面翻译成的Servlet源文件中导入的包或类 |
session | true false | 指明JSP内是否内置Session对象 |
isErrorPage | true false | 指明该页面是否为错误处理页面 |
errorpage | 某个JSP页面的相对路径 | 指定一个错误页面,如果该JSP程序抛出一个未捕获的异常,则转到指定的页面 |
contextType | 有效的文档类型 | 客户端浏览器根据该属性判断文档内容 |
pageEnCoding | 当前页面 | 指定页面的编码格式 |
include指令
有时需要在JSP页面静态包含一个文件,例如HTML文件,文本文件,这时可以使用include指令实现。格式如下:
<%@ include file="被包含的文件地址"%>
include指令只有一个file属性,该属性用来指定插入到JSP页面目标位置的文件资源,一般不以“/”开头,而是使用绝对路径。
JSP指令练习:在JSP页面输出当前系统时间
date.jsp
<%@ page import="java.io.PrintWriter" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<% response.getWriter().println(new java.util.Date().toLocaleString());%>
</body>
</html>
include.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
欢迎你:当前时间为:
<%@include file="date.jsp"%>
</body>
</html>
JSP表达式及代码块
表达式
表达式脚本的格式是:<%=表达式%>
表达式脚本的作用是: jsp 页面上输出数据。
表达式脚本的特点:
1、所有的表达式脚本都会被翻译到_jspService() 方法中
2、表达式脚本都会被翻译成为 out.print()输出到页面上
3、由于表达式脚本翻译的内容都在_jspService() 方法中,所以_jspService()方法中的对象都可以直接使用。
4、表达式脚本中的表达式不能以分号结束。
<%=12 %> <br>
<%=12.12 %> <br>
<%="我是字符串" %> <br>
<%=map%> <br>
<%=request.getParameter("username")%>
代码块
代码脚本的格式是:
<% java 语句 %>
代码脚本的作用是:可以在 jsp 页面中,编写我们自己需要的功能(写的是 java 语句)。
代码脚本的特点是:
1、代码脚本翻译之后都在_jspService 方法中
2、代码脚本由于翻译到_jspService()方法中,所以在_jspService()方法中的现有对象都可以直接使用。
3、还可以由多个代码脚本块组合完成一个完整的 java 语句。
4、代码脚本还可以和表达式脚本一起组合使用,在 jsp 页面上输出数据
JSP隐式对象
9大内置对象
名称 | 描述 |
---|---|
out | 用于页面输出 |
request | 得到用户请求信息 |
response | 服务器向客户端的回应信息 |
config | 服务器配置,可以取得初始化参数 |
session | 用来保存用户的信息 |
application | 所有用户共享的信息 |
page | 指当前页面转换后的Servlet实例 |
pageContext | JSP的页面容器 |
exception | 表示JSP页面所发生的异常,在错误页面才起作用 |
4大作用域对象
名称 | 描述 |
---|---|
pageContext | 当前 jsp 页面范围内有效 |
request | 一次请求内有效 |
session | 一个会话范围内有效(打开浏览器访问服务器,直到关闭浏览器) |
application | 整个 web 工程范围内都有效(只要 web 工程不停止,数据都在) |
四个域在使用的时候,优先顺序分别是,他们从小到大的范围的顺序。
pageContext ====>>> request ====>>> session ====>>> application
jsp 的常用标签
- jsp 静态包含
<%@ include file=""%> 就是静态包含 file 属性指定你要包含的 jsp 页面的路径 地址中第一个斜杠 / 表示为 http://ip:port/工程路径/ 映射到代码的 web 目录–%>
<%@ include file="/include/footer.jsp"%> - jsp 动态包含
<%-- <jsp:include page=""></jsp:include> 这是动态包含 page 属性是指定你要包含的 jsp 页面的路径 动态包含也可以像静态包含一样。把被包含的内容执行输出到包含位置–%>
<jsp:include page="/include/footer.jsp"> <jsp:param name=“username” value=“bbj”/> <jsp:param name=“password” value=“root”/> </jsp:include> - jsp 转发
<%–<jsp:forward page=""></jsp:forward> 是请求转发标签,它的功能就是请求转发 page 属性设置请求转发的路径 --%>
<jsp:forward page="/scope2.jsp"></jsp:forward>
在 jsp 页面中输出九九乘法口诀表
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
<style type="text/css">
table{ width: 650px; }
</style> <
/head>
<body>
<h1 align="center">九九乘法口诀表</h1>
<table align="center">
<%-- 外层循环遍历行 --%>
<% for (int i = 1; i <= 9; i++) { %>
<tr>
<%-- 内层循环遍历单元格 --%>
<% for (int j = 1; j <= i ; j++) { %>
<td>
<%=j + "x" + i + "=" + (i*j)%>
</td>
<% } %>
</tr>
<% } %>
</table>
</body> </html>
更多推荐
所有评论(0)