JSP技术
来源:互联网 发布:福建中锐网络 编辑:程序博客网 时间:2024/04/29 13:26
JSP技术
JSP是Java Server Page的缩写,它是Servlet的扩展。其目的是简化建立和管理动态网站的工作
1、JSP简介
在传统的网页HTML文件中加入Java程序片断和JSP标签,就构成了JSP网页。Java程序片断可以操纵数据库,重新定向网页以及发送E-mail等,实现建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,这样大大降低了对客户浏览器的要求,即使客户浏览器端不支持Java,也可以访问JSP网页
JSP的优点:把HTML编码和业务逻辑有效地分离。通常,JSP负责生成动态HTML页面,业务逻辑由其他可重用的组件(如:Servlet、Java Bean)和其他Java程序来实现,JSP可以通过Java程序片断访问这些业务组件
当Tomcat服务器接受到Web客户的一个JSP文件请求时,它对JSP文件进行语法分析并生成Java Servlet源文件,然后对其进行编译。一般情况下,Servlet源文件的生成和编译仅在初次调用JSP时发生。如果原始的JSP文件被更新,Tomcat服务器检测所做的更新,在执行它之前重新生成Servlet并进行编译
Tomcat把由JSP生成的Servlet源文件和类文件放于<CATALINA_HOME>/work目录下,通常情况下,如果修改了JSP文件,Tomcat会重新编译JSP,并把编译生成的新文件覆盖work目录下原来的旧文件
2、JSP的语法
JSP文件(扩展名为.jsp)可以包含如下内容:
JSP指令
JSP声明
Java程序片断
变量数据的Java表达式
隐含对象
2.1、JSP指令
JSP指令(在<%@和%>内的)用于设置和整个JSP网页相关的属性。JSP指令的一般语法形式为:
<%@ 指令名属性=”值”%>
1、page指令:page指令可以指定所使用的脚本语言、JSP代表的Servlet实现的接口以及导入的软件包
page指令的属性:
lauguage:指定文件所使用的脚本语言
method:指定Java程序片断所属的方法的名称
import:指定导入的Java软件包名或类名列表
context_type:指定响应结果的MIME类型
session:指定JSP页是否使用Session
errorPage:指定当发生异常时,客户请求被重新定向到那个网页
isErrorPage:表示此JSP网页是否为处理异常的网页
2、include指令
JSP可以通过include指令来包含其他文件,被包含的文件可以是JSP文件、HTML文件或文本文件
include指令的语法为:
<%@ include file=”relativeURL”%>
2.2、JSP声明
JSP声明(在<%!和%>内的)用于声明JSP代表的Servlet类的成员变量和方法,语法如下:
<%! declaration%>
2.3、Java程序片断
在JSP文件中,可以在<%和%>标记间直接嵌入任何有效地Java语言代码。这样嵌入的程序片断称为Scriptlet。如果在page指令中没有指定method属性,则生成的代码默认为service方法的主体
2.4、变量数据的Java表达式
JSP表达式标记为<%=和%>。该表达式的值会显示在网页上,int或float类型的值会自动转换成字符串加以显示
2.5、隐含对象
在编写JSP程序时,可以直接使用Servlet/JSP容器提供的隐含对象。使用这些对象的引用变量时不需要做任何变量声明
javax.servlet.HttpServletRequest request
javax.servlet.HttpServletRespponse response
javax.servlet.ServletContext application
javax.servlet.jsp.JspWriter out
javax.servlet.http.HttpSession session
java.lang.Exception exception
3、JSP与Cookie
Cookie是用户访问Web服务器时,服务器在用户硬盘上存放的信息
浏览器可以设置是否使用Cookie
一个Cookie包干一对Key/Value。下面的代码生成一个Cookie并将它写到用户的硬盘上:
Cookie theCookie=new Cookie(”cookieName”,”cookieValue”);
response.addCookie(theCookie);
如果服务器想从用户硬盘上获取Cookie,可以使用下面方法从客户请求中取得所有的Cookie:
Cookie cookies=request.gerCookies();
然后调用Cookie的getName方法获得Cookie的Key,调用Cookie的getValue方法获得Cookie的Value。还可以通过Cookie的setMaxAge(int expiry)方法来设置Cookie的有效期,超过有效期,Cookie就会失效
4、转发JSP请求
<jsp:forward>标签用于将客户请求重定向到其他的HTML文件、JSP文件或者Servlet文件。<jsp:forward>语法为:
<jsp:forward page=”重新定向的文件”/>
<jsp:forward>标签从一个JSP文件向另一个文件传递包含用户请求的request对象。如果JSP文件中包含<jsp:forward>标签,那么这个JSP文件中的所有输出数据都不会被发送到客户端,并且<jsp:forward>标签以下的代码不会被执行
5、JSP异常处理
像普通的Java程序一样,可以把异常引入到JSP中,如果在执行JSP的Java代码时发生异常,可以通过下面的指令将HTTP请求转发给另一个专门处理异常的网页:
<%@ page errorPage=”errorpage.jsp”%>
在处理异常的网页中可以直接访问exception隐含对象,获取详细的异常信息
6、部署JSP
部署JSP很简单,只需把jsp文件拷贝到webapp应用的根目录下即可。
部署Servlet时,必须在web.xml中加入<servlet>和<servlet-mapping>元素,其中<servlet-mapping>元素可以用来设定访问Servlet的<url-pattern>。事实上,也可以为JSP配置<servlet>和<servlet-mapping>元素,从而设定访问JSP的<url-pattern>
- JSP技术
- JSP技术~~~~~~~~~
- jsp技术
- 技术jsp
- JSP技术
- JSP技术
- JSP技术
- JSP技术
- JSP技术
- JSP技术
- JSP技术
- JSP技术
- JSP技术
- JSP技术
- jsp技术
- JSP技术
- JSP技术
- JSP技术
- 汉语的编程
- 转-c#写的一个词法分析器
- FZU 1538 神奇的数列
- 小记: 程序设计注意保持逻辑清晰
- SQL Server导出导入数据方法
- JSP技术
- ubuntu下mysql的使用
- 在Java程序中使用Oracle外部用户
- 怎一个“易”字能了得
- JFreeChart做的曲线图和饼图
- csdn blog
- 触发器-MSSQL常用操作
- Windows Mobile 上使用键盘钩子
- 汉语编程之——易语言