Jsp基础
来源:互联网 发布:sql数据库查询语句 编辑:程序博客网 时间:2024/05/02 05:02
JSP语法基础
一: JSP的语法结构:
JSP页面结构
Html标记符
声明:变量、方法、类<%! %>
JAVA程序片<%%>
JAVA 表达式<%=%>
JSP标签、分为指令标签和动作标签
注释标签
二:声明<%! %>
a. 变量的声明
b. 方法的声明
c. 类的声明
在<%! %>中声明的变量、方法、类、在整个jsp文件内都有效!!
三Java程序段(Scriptle)
一个Jsp页面可以有多个Java程序段
语法格式如下:
<%Java程序段 %>
…..
<%Java程序段 %>
Scriptlet示例代码1:
<%@ page content="text/html; charset=Shift_JIS"%>
<HTML>
<BODY bgcolor=cyan><FONT size=1>
<%
String name = null;
if (request.getParameter("name") == null) {
%>
<%@ include file="error.html" %>
<%
} else {
foo.setName(request.getParameter("name"));
... ... ...
</BODY>
</HTML>
四:Java表达式
用户在页面输出信息语法格式如下:
<%= expression %>
示例:
<% a=12;b=a; c=a+b; %>
a=<%= a %><br>
b=<%= b %><br>
c=<%= c %><br>
五:注释
。HTML注释<!-- 注释内容 -->
。JSP注释<%-- 注释内容 --%>
<%程序段
/*多行注释内容
多行注释内容*/
程序段
//单行注释内容
程序段
%>
六:JSP标签
分为指令标签和动作标签
最常用的指令标签是Page指令和include指令
它们包含在<%@ %>卷标里。
示例:
<%@ page contentType="text/html; charset=Shift_JIS" %>
<%@ include file="/pages/global/jsp/template/html_import.jsp" %>
八种常用Page指令
Page
<% Page
[language = “java’]
[import = “{package.class | package.*},…”]
[contentType = “text/html;charset= Shift_JIS”]
[session=”true | fasle”]
[buffer = “none | 8kb | sizekb”]
[autoFlush = “ture | false”]
[isThreadSafe = “true | false”]
[info = “hello wicresoft”]
%>
包含指令include
静态嵌入的文件其实是主体文件的一部分,page指令的约束是有效的。
作用:分块,增强Jsp页面开发的管理性
七:JSP标签:动作标签
Include
Param
Forwoard
Plugin
useBean
<jsp:include>标签
例如:
<jsp:include page = “/friend/info/info.txt” %>
<jsp:include page = “hello.html”%>
<jsp:include page = “welcome.jsp’ %>
包含指令与包含标签的区别:
<%@ include file = “文件名”%>
<jsp:include page = “文件名“%>
指令标签的“包含指令include“,是将静态嵌入文件作为文件的一部分,所以文件和子文件其实是一一体。
动作标签的“include“,是动态的嵌入文件,子文件不必考虑主文件的属性。
指令标签在编译是就将子文件载入
动作标签在运行是,才将文件载入
动作标签:forward
JSP语法格式如下:
JSP 语法格式如下:
1.<jsp:forward page={"relativeURL" | "<%= expression %>"} />
2.<jsp:forward page={"relativeURL" | "<%= expression %>"} >
<jsp:param name="parameterName" value="{parameterValue | <%= expression %>}" />
[<jsp:param … />]
</jsp:forward>
(“[<jsp:param … />]”指可以有多个“<jsp:param/>”标记。)
<jsp:forward>例子
<%@ page contentType="text/html; charset=Shift_JIS" %><html>
<head>
<title>test</title>
</head>
<body>
<jsp:forward page="forwardTo.jsp">
<jsp:param name="userName“ value="riso"/>
</jsp:forward>
</body>
</html>
动作标签:plugin
使用“<jsp:plugin>“插入一个applet 或bean,必要的话还可以下载一个Java插件用与执行他
Jsp语法格式如下:
<jsp:plugin type="bean | applet" code="classFileName" codebase=“classFileDirectoryName“
… … 太多了,就不写了。
动作标签useBean
Jsp语法格式如下:
JSP 语法格式如下:
<jsp:usebean
id="beaninstancename"
scope="page|request|session|application"
class="package.class" |
type="package.class" |
class="package.class" type="package.class" |
beanname="" type="package.class"
/>
八.JSP内置对象
Jsp程序中8个默认的内置对象
对于他们而言,不用声明就可以直接使用,这8个对象分别是request、response、pageContext、session、application、out、config和page.
内置对象
类型
代表内容
范围
Request
依赖协议的java.servlet.ServletRequest 子类(例如,javax.servlet.HttpServletRequest)
触发服务调用的请求
request
response
依赖协议的java.servlet.ServletResponse 子类(例如,javax.servlet.HttpServletResponse)
对请求的应答
page
pageContext
Javax.servlet.jsp.PageContext
本 JSP 的页面上下文
page
session
Javax.servlet.http.HttpSession
为请求的客户创建的session对象
session
application
Javax.servlet.ServletContext
从 servlet 配置对象获得的 servlet 上下文(如在 getServletConfig() ,getContext()的调用中)
application
out
Javax.servlet.jsp.JspWriter
向输出流写入内容的对象
page
config
javax.servlet.ServletConfig
本 JSP 的 ServletConfig
page
page
java.1ang.Object
实现处理本页当前请求的类的实例
page
Rquest对象的方法
方法
描述
getAttribute
返回请求的给出名字的属性的值
getCharacterEncoding
返回为请求的输入进行编码的字符集合
getContentLength
返回请求实体数据的大小
getContenType
返回请求实体数据的 InternetMedia 类型
getlnputStream
返回在请求体中读取二进制数据的输入流
getParameter
返回包含指定参数的单独值的字符串
getParameterName
返回本次请求的参数名字
getParameterValues
返回作为字符串列举的指定参数的值
getProtocol
返回请求的协议和版本号
getReader
返回从请求体中读取的文本的缓存数据
getRealPath
返回运用替换规则从虚拟地址中获得的实际地址
getRemoteAddr
返回发送请求的接口程序的 IP 地址
getRemoteHost
返回发送请求的接口程序的完全限定的主机名
getScheme
返回发出请求的 URL 的机制
getServerName
返回接收请求的服务器的主机名
getServerPort
返回接收请求的端口
response对象的方法
getCharacterEncoding
返回用于MIME编码的字符集合
getCharacterEncoding
返回用于书写二进制应答数据的输出流
getWriter
返回用于格式化文本应答的打印程序
setContentLength
为应答设置内容长度
setContentType
为应答设置内容类型
addCookie
添加一个Cookie对象,用来保存客户端的用户信息
addHeader
添加HTTP文件头(Header),将会传送到客户端
containsHeader
判断指定的HTTP文件头是否存在
sendError
向客户端发送错误信息
setHeader
设定指定名字的HTTP文件头的值
sendRedirect
重定向客户端的地址
8.3、session对象
session在JSP程序中是一个内置的对象
每一个客户端都有一个session对象用来存放于这个客户端相关的数据。
在JSP的程序中,通常不用任何代码,就可以直接使用session对象。不过为了确认,可以加入以下代码,以表示需要启动session功能。
<%@page session=“true”%>
如果设置上述的session值为false,则说明禁用session功能。
session对象的类为HttpSession,它提供了很多使用的方法。
Session对象的方法
getCreationTime
返回会话创建的时间
getId
返回会话标识符
getLastAccessTime
返回客户端上一次发送携带会话账号的时间
getSessionContext
返回会话相连的上下文
getValue
返回和应用层数据中指定名字相联系的对象
getValueNames
返回和会话相连的应用层数据对象的名字
invalidate
使会话无效,并将其从上下文中移出
isNew
检查是否客户端参加了会话
putValue
将指定的对象和使用指定名字的会话应用层数据相连
removeValue
移去和会话应用层数据中指定名字相连的对象
8.4 application 对象的方法
对象
含义
getAttribute
以Object对象的形式返回对应名称的application对象的属性值
getAttributeNames
以Enumeration数据形式返回所有application对象的属性名称
getInitParameter
返回application某个属性的值
getServerInfo
获得当前版本的Servlet编译器的信息
setAttribute
设置某个application对象的某个属性值
8.5out 对象
out对象用于输出数据,它可以是javax.servlet.jsp.JspWriter的一个实例。out对象的范围是page。
从java.io.Writer拓展而来的公共抽象类JspWriter效仿了java.io.BufferedWriter和java.Io.PrintWriter中的某些功能。但是,不同之处在于它会在打印方法中抛出(throw) java.Io.IOException异常,而PrintWriter不这样做。
JSP中的out对象就是这种类型的。如果page指令选择了autoflush="true",那么当出现由于当前的操作不清空缓存而造成缓冲区溢出的情况时,这个类的所有I/O操作会自动清空缓冲区的内容。如果autoflush="false",那么当操作造成了缓冲区溢出时,这个类的所有的I/O操作将抛出一个IOException。
- jsp基础
- jsp 基础
- JSP基础
- JSP基础
- JSP基础
- Jsp基础
- JSP基础!
- JSP基础
- JSP基础
- JSP基础
- JSP基础
- JSP基础
- JSP基础
- JSP基础
- JSP基础
- JSP基础
- jsp基础
- JSP基础
- FAST_START_MTTR_TARGET能影响检查点吗。
- 机器人总动员 Wall-E 人工智能启示
- 脏读,不可重复读,幻读
- 求字符串的字节数(数字,字母,标点符号,汉字)
- 在同一台电脑上调试网页在IE6、IE7的相容性
- Jsp基础
- 测试
- log4net输出xml日志
- Comparable和Comparator
- 正则判断IP地址
- 正则判断MAC地址
- Borland传奇
- 高薪难聘软件开发工程师?
- 设计模式之观察者模式与其C++通用实现(上)