怎么实现JSP编译不支持xmlhttp对象“webxml”属性

如何实现JSP页面控件的不可编辑——disabled&readonly
很多时候,页面上的一些项目是不能够进行编辑的。这时候,我们可以用2种方法来实现。
1.设置readonly属性
&td align="left"&
&input type="text" id="usrId" name="usrId"
value="${form.usrId}" readonly
设置readonly属性后,控件的背景色和未设置该属性的控件背景色是一样的。因此,为了更好的界面友好性,我们修改上面的代码
type="text" id="usrId" name="usrId" value="${form.usrId}"
style="background:#FFFF00"
readonly属性用于input,textarea等。
2.设置disabled属性
disabled属性适用于所有控件,例如input,textarea,select等。且设置后背景色为灰色,点击控件不能得到焦点。
&input type="text" id="usrId" name="usrId"
value="${form.usrId}" disabled
3.readonly和 &
disabled的区别
&& readonly没有背景色
disabled有
&& readonly可以获得焦点
disabled不能
&& readonly可以在action中获得值
disabled不能 &
要想在Form提交后,让设置了disabled属性的属性值能在action中得到,那么我们需要在form提交前设置disabled =
4.如果页面上需要设置disabled属性的控件比较多,那么可以Form中onload下面的function
function disableOcx()
&&& var form =
document.forms[0];
&&& for (var i =
0; i & form. ++i) {
&&& var element
= form.elements[i];
(element.name) {
(element.nodeName == "INPUT") {
if(element.name != 'return'){
element.disabled="true";
&&&&&&&&&&&
element.readOnly =
&&& else if
(element.nodeName == "SELECT") {
element.disabled =
&&& else if
(element.nodeName == "TEXTAREA") {
element.disabled =
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。JQuery验证jsp页面属性是否为空的实例代码.需要的朋友可以过来参考下,希望对大家有所帮助 说明:验证是否为空的前提首先要保证是在提交form之前验证的,如果验证结果有为空的项那么限制表单不能提交,并且提示验证错误信息,验证页面属性都不为空的情况下表单正常提交,这部分属于JS部分的东西,与后台业务逻辑层和控制层基本没有任何关系. 限制提交的方法可以是在form标签里限制,也可以是在submit按钮上添加onclick事件限制: &form action=&..& method
JBuilder2005实战JSP之登录页面实现方法, 需要的朋友可以参考下 通过File-&New...-&Web-&双击JSP图标,弹出创建JSP向导的对话框,如下图所示: 图 3 通过向导创建login.jsp ·Web module:如果一个工程下有多个Web模块,你可以通过这儿指定JSP所要加入到的Web模块,因为我们的工程中只有一个webModule,所以是向导将默认设置为webModule. ·Name :键入JSP文件名,你可以键入.jsp后缀,也可以不写后缀,直接键入l
jsp:plugin Action 使您能插入所需的特定的浏览器的OBJECT或EMBED元素来指定浏览器运行一个JAVA Applet所需的插件. 语法: &jsp:plugin type=&bean|applet& code=&classFileName& codebase=&classFileDirectoryName& [ name=&instanceName& ] [ archive=&URIToAr
Taglib指令,其实就是定义一个标签库以及自定义标签的前缀,其中的具体的实现方式,我们不过多介绍,我们给大家从宏观的角度以及解决其中的疑难点,感兴趣的朋友可以了解下,或许对你学习jsp有所帮助 Taglib指令介绍 Taglib指令,其实就是定义一个标签库以及自定义标签的前缀. 比如struts中支持的标签库,html标签库.bean标签库.logic标签库. 其中的具体的实现方式,我们不过多介绍,我们给大家从宏观的角度以及解决其中的疑难点,后面会大家介绍相应的学习资料. 除了struts的标
6.1 JSP 简介 6.1.1 JSP的需求和优点 生成内容与表示相分离: 虽然JSP的实质是Servlet,但与Servlet相比,内容生成与表示相分离是JSP的一个优点,这是Servlet无法解决的. Servlet用out.println()一句一句地输出,比如下面的一段简单程序 Out.println(&html&);------- 当整个网页内容非常多且复杂的时候,就会有很多out.println()输出HTML标记.这样写起程序来会很烦和容易出错.JSP则很好地解决了这个
ANT通配符有三种: 通配符 说明 ? 匹配任何单字符 * 匹配0或者任意数量的字符 ** 匹配0或者更多的目录 例子: URL路径 说明 /app/*.x 匹配(Matches)所有在app路径下的.x文件 /app/p?ttern 匹配(Matches) /app/pattern 和 /app/pXttern,但是不包括/app/pttern /**/example 匹配(Matches) /app/example, /app/foo/example, 和 /example /app/**/
Coreseek 4.1 参考手册 / Sphinx 2.0.1-beta Sphinx–强大的开源全文检索引擎,Coreseek–免费开源的中文全文检索引擎 版权 (C)
Andrew Aksyonoff 版权 (C)
Sphinx Technologies Inc,
选择软件(Coreseek), nzinfo, &li.monan(&, HonestQia
JSP JavaBean的setProperty属性使用实例. 1.包: package PaintB /** * * @author lucifer */ public class PaintBrush { private String curcolor = &red&; public String getColor(){ } public void setColor(String color){ curcolor = } }
有关于JSP页面中pageEncoding和contentType属性. JSP要经过两次的&编码&,第一阶段会用pageEncoding,第二阶段会用utf-8至utf-8,第三阶段就是由Tomcat出来的网页, 用的是contentType. 关于JSP页面中的pageEncoding和contentType两种属性的区别: pageEncoding是jsp文件本身的编码 contentType的charset是指服务器发送给客户端时的内容编码 JSP要经过两次的&编码&
关于JSP页面中的pageEncoding和contentType两种属性的区别: pageEncoding是jsp文件本身的编码 contentType的charset是指服务器发送给客户端时的内容编码 JSP要经过两次的&编码&,第一阶段会用pageEncoding,第二阶段会用utf-8至utf-8,第三阶段就是由Tomcat出来的网页, 用的是contentType. 第一阶段是jsp编译成.java,它会根据pageEncoding的设定读取jsp,结果是由指定的编码方案翻译
jsp文件中charset和pageEncoding的区别: contentType的charset是指服务器发送给客户端时的内容编码,contentType里的charset=utf-8是指示页面的输出方式为utf-8 在JSP标准的语法中,如果 pageEncoding属性存在,那么JSP页面的字符编码方式就由pageEncoding决定,否则就由contentType属性中的 charset决定,如果charset也不存在,JSP页面的字符编码方式就采用默认的ISO-8859-1 page
前两个星期在弄一个简单的登录系统,下面是一些小问题,记录在案! 今天遇到一个问题,在测试我写的js逻辑的时候,死活报错,我在我逻辑开始的时候写上一句alert(&hello&),也不起作用,总是爆出下面的逻辑某处有错,后来发现,在下面的逻辑中,我使用到了jsp的变量,但是这个jsp的变量是空的,于是转换成js的时候就完全变成一个空白,注意是空白不是空格,比如我这样写var u=&%=name%&;,如果这个name为空的话,这一句就会被解析成:var u=;,而不是var
ExtTag 网站 : /p/exttag/ Summary ExtTag为ExtJS的 JSP标签库,以便在IDE中获得良好的编辑支持. Entironment 1. extjs3.0.0 2. jsp2.0 3. java5.0 Install 1. 将exttag.jar添加到 Web应用的/WEB-INF/lib目录 2. 将ext-3.0.0添加到Web应用的根目录(可在web.xml中配置ext-home初始化参数) Usage 标签库使用
这篇文章主要介绍了jsp中使用javabean的实例,同时介绍了相关属性,需要的朋友可以参考下 test.jsp中的代码如下所示 &%@ page language = &java& import=&test.SimpleB& %& &html& &head& &title&JSP中使用 Java Bean的测试&/title& &/head& &body& &jsp:
Window 工具包提供了一种典型的布局机制,比如说在一个容器中确定部件元素的位置.在AWT 和 Swing都有布局管理器,而在VisualWorks Smalltalk中有wrapper.本文将介绍一种JSP模板机制,它允许布局被封装和重新利用.JSP模板最小化了布局改变所造成的影响,这里我们将鼓励大家采用封装模块化设计. 尽管 Web开发工具的改进非常迅速,但是它们仍然落后于图形用户界面(GUI)工具包(Swing 和 VisualWorks Smalltalk).例如,在传统的GUI工具包
11.1 概述 JavaServer Pages(JSP)使得我们能够分离页面的静态HTML和动态部分.HTML可以用任何通常使用的Web制作工具编写,编写方式也和原来的一样:动态部分的代码放入特殊标记之内,大部分以&&%&开始,以&%&&结束.例如,下面是一个JSP页面的片断,如果我们用http://host/OrderConfirmation.jsp?title=Core+Web+Programming这个URL打开该页面,则结果显示&Th
下整合IIS+TOMCAT详细的配置如下 windows2003 + IIS6 + Tomcat5.配置 下整合IIS+TOMCAT详细的配置如下: 1.安装JDK,(我安装在 D:\java)设置环境变量[CLASSPATH.JAVA_HOME.Path](根据自己的JDK安装路径设置) &我的电脑&-&点右键-&&属性&-&&高级&-&&环境变量&-&&qu
这篇文章主要介绍了jsp简单自定义标签的forEach遍历及转义字符,需要的朋友可以参考下 接着昨天的,如果&forEach&中的items类型是map或者Collection类型的,怎样使用增强for循环: 首先还是创建一个标签处理器类,定义两个属性,S Object items: 因为items要迭代各种集合,所以要使用O 然后重写setter方法: 声明一个成员变量,集合类型的, 和上面两个属性是不相同的,这个是用在类里的, 在items的setter方法
jsp提供了的9个内置对象,很多朋友对此不是很了解,下面jsp的9大内置对象方法说明,需要的朋友可以参考下 jsp提供了的9个内置对象,下面jsp的9大内置对象方法说明 内置对象 类型 作用域 request javax.servlet.http.HttpServletRequest request response javax.servlet.http.HttpServletResponse response pageContext javax.servlet.jsp.PageContext
?jsp:plugin Action 使您能插入所需的特定的浏览器的OBJECT或EMBED元素来指定浏览器运行一个JAVA Applet所需的插件. 语法: &jsp:plugin type=&bean|applet& code=&classFileName& codebase=&classFileDirectoryName& [ name=&instanceName& ] [ archive=&URIToA
这方面的教程网上很多,多数是copy之后又copy,以至于有些细节一直含糊不清,也导致我走了许多弯路,今天脚本之家小编特为大家整理了一些方法,经测试正常运行jsp 大家都了解在MS家族中iis作为internet服务器可谓是赫赫有名,简单,方便. 而且相关的web程序(asp,asp.net)也是比比皆是. 我们希望java开发的web程序可以和iis共存(共同使用80端口发布). 这方面的教程网上很多,多数是copy之后又copy,以至于有些细节一直含糊不清,也导致我走了许多弯路.在此留个脚印
Page 指令 定义JSP文件中的全局属性. JSP 语法 &%@ page [ language=&java& ] [ extends=&package.class& ] [ import=&{package.class | package.*}, ...& ] [ session=&true | false& ] [ buffer=&none | 8kb | sizekb& ] [ autoFlu
我们一般将Tomcat与Apache或IIS配合使用,让Apache对网站的静态页面请求提供服务,而Tomcat作为专用的JSP引擎,提供JSP解析,以得到更好的性能. 一.IIS用于ASP程序的处理,但是想要它可以处理JSP和php呢?最容易想到的就是JSP安装TOMCAT就好了,TOMCAT默认的端口是8080,默认安装好后的成功页面:http://127.0.0.1:8080/index.php用Apache就好了,配置好了就可以了.有集成了Mysql和MysqlAdmin的App
这篇文章主要介绍了JSP编译指令page.include,有需要的朋友可以参考一下 1. JSP指令 分类:1).page 2).include 3).taglib 语法: &%@ 指令名称 属性1=&值1& .....%& 2. Page编译指令: o 作用:利用Page编译指令可以设置JSP的页面属性.通常位于JSP页面的顶端,对同一个页面可以有多个page指令. o page指令语法格式: &%@page [language=&Java&]
很多人在开发中遇到过这样的问题:一个表,有自己编号,内容,上级编号,如何用这些数据在jsp中构造一个树? 做树并不复杂,但我们通常做的是2层或3层,那样的数据一般来自多个表,比如:部门,员工 然而这种自连接的表,其没有确定的层次,可能是无限多级 比如:a是b的上级,b是c的上级,c是d的上级... 每个上级有几个下级,下级的层次,都是动态的 解决这个问题,其实主要用到js的知识 可以使用div的innerHTML属性 当然也可以用table,用append的方法 下面就用div的innerHTM
预备知识: 1.字节和unicode Java内核是unicode的,就连class文件也是,但是很多媒体,包括文件/流的保存方式 是使用字节流的. 因此Java要对这些字节流经行转化.char是unicode的,而byte是字节. Java中byte/char互转的函数在sun.io的包中间有.其中ByteToCharConverter类是中调度, 可以用来告诉你,你用的Convertor.其中两个很常用的静态函数是 public static ByteToCharConverter getD
随着WEB技术的发展,WEB内容从一些静态的页到内容丰富的动态页.对于广大WEB开发人员来讲动态页面的生成是一个挑战.有许多的方法来试图解决这个问题,如plug-in技术及基于服务器端的APIs等方法,但存在的一个问题是这些方法是针对某个特定的web服务器,如Microsoft提供的ASP技术就只针对它的IIS及Personal web服务器. 目前用于生成动态网页较为流行的方法有CGI.PHP及JavaServer Page(JSP)技术等.其中:CGI通过访问其它应用程序来获取信息并返回给浏
JSP 自定义标签 方法总结,比较详细,大家可以参考学习下. 一.基本概念: 1.标签(Tag): 标签是一种XML元素,通过标签可以使JSP网页变得简洁并且易于维护,还可以方便地实现同一个JSP文件支持多种语言版本.由于标签是XML元素,所以它的名称和属性都是大小写敏感的 2.标签库(Tag library): 由一系列功能相似.逻辑上互相联系的标签构成的集合称为标签库. 3.标签库描述文件(Tag Library Descriptor): 标签库描述文件是一个XML文件,这个文件提供了标签库
表单与操作页面分离,按钮按下,click 或者onclick事件触发,传递一个唯一性的参数至子页面JSP,感兴趣的朋友可以了解下 表单与操作页面分离 按钮按下,click 或者onclick事件触发 传递一个唯一性的参数至子页面JSP, 子页面内,负责查询与判断逻辑, JSP:FORWARD尝试过,直接报错 &script type=&text/JavaScript&& function tigger() { var f_application =1; &jsp:fo
1.预安装好windows 2003 打好sp2以上补丁 安装好IIS6.0 并选择asp和.net支持.IIS默认支持asp.net 1.1 asp.net 2.0可以在网上下载 安装. 2.安装php.mysql及mssql.网上很多正确介绍.这里就不讲了.重点讲jsp的环境搭配. 3.1.安装JAVA 2 SDK 我装在D:\JDK目录下. 接下来设置环境变量,这一步很重要,别忘了: JAVA_HOME = D:\JDK CLASSPATH = D:\JDK\LIB\tools.D
第一步:----安装J2SDK: 到SUN官方站点()下载J2SDK的安装文件:j2sdk-1_4_2_04-windows-i586-p.exe,下载之后安装好J2SDK:安装完之后,设置环境变量:我的电脑---属性---高级---环境变量: 选择---系统变量(S): 设置JAVA_HOME环境变量: 单击---新建,在变量名中输入:JAVA_HOME 在变量值中输入:D:\Java (假设J2SDK安装在目录D:\Java下,反正就是J2SDK的安装目
从去年9月份,我就开始着手学JSP,以前也只有一点程序的意识,一路上摸索过来,经过了很多磨难,终于有一天,我就像一个旱鸭子学会游泳一样,心里无比高兴,熬了几天夜,终于写成了这个纯JSP的文章发布程序. 相信下面的几则小知识对向我这样水平的菜鸟有一定的帮助! ============================================================================== 1.传递表单参数: String name = new String(request
由于在login.jsp的表单中通过action属性指定switch.jsp为响应的JSP文件,当用户在login.jsp中选定登录用户,输入密码提交表单后,客户端将向服务器发送一个HTTP请求,服务器即调用switch.jsp来响应这个请求 表单中用户名和密码两组件的数据将通过HTTP请求传给服务器的switch.jsp,服务器将这些信息封装在request对象中传给switch.jsp,所以switch.jsp可通过request.getParameter(String paraName)来
jsp:useBean Action 的使用 一. 语法: &jsp:useBean id=&beanInstanceName& scope=&page|request|session|application& { class=&package.class& | type=&package.class& | class=&package.class& type=&package.class&
随着Web技术的发展和电子商务时代的到来,人们不再满足于建立各种静态地发布信息的网站,更多的时候需要能与用户进行交互,并能提供后台数据库的管理和控制等服务的动态网站. 动态网站开发技术 早期的动态网站开发技术使用的是CGI-BIN接口.开发人员编写与接口相关的单独的程序和基于Web的应用程序,后者通过Web服务器来调用前者.这种开发技术存在着严重的扩展性问题--每一个新的CGI程序要求在服务器上新增一个进程.如果多个用户并发地访问该程序,这些进程将耗尽该Web服务器所有的可用资源,直至其崩溃.
在传送参数时,经常会碰到向后台传送一些相同属性的参数,最好的选择是采用数组的方式,下面有个不错的示例,大家可以参考下 我们在传送参数时,经常会碰到向后台传送一些相同属性的参数,最好的选择是采用数组的方式.当我们向后台传送时只需要在javascript中正常定义并使用数组,将其作为参数向后台传递: var arry= new Array(); arry[0] = &102&; arry[1] = &103&; arry[2] = &104&; ur
一.前期准备情况 1.一个安装好的WIN2000服务器,注意:如果预装了IIS,请先将IIS服务停掉或禁用. 2.下栽软件 APACHE:版本:1.3.22 --apache_1.3.22-win32-x86.msi JDK:版本: 1.3 --j2sdk1_3_0-win.exe PHP: 版本: 4.0.4 --php4.0.4pl1-win32.zip MYSQL: 版本:3.23.32 --mysql-3.23.32-win.zip TOMCAT:版本: 4.0.4 --jakarta-
JSP actions 使用您可以动态的插入一个文件,重用JavaBeans组件,前进到另一个页面,或为Java 插件生成一个HTML.可以使用的action 有: (1) jsp:include --在页面被请求时包含进一个文件. (2) jsp:useBean--找到或实例化一个JavaBean. (3) jsp:setProperty--设置一个JavaBean属性. (4) jsp:getProperty--将JavaBean的属性插入到输出. (5) jsp:forward--让请求者
一.JFreeChart的介绍与获取 JFreeChart开发包是一个开源的Java图形开发包,它从柱形图,饼形图,到雷达图,蜡烛图等等无所不包,可以在c/s,b/s,甚至是实时环境都能一显身手. 当前的JFreeChart的最新版本为jfreechart-1.0.11.zip.可以到http://www.jfree.org/jfreechart/index.html找到 二.JFreeChart的基本使用 不论创建的是什么图,JFreeChart都遵循以下的这个使用步骤: 1.建立Datase
怎样自己定制标签(Custom Tag) (整理的学习笔记) 怎样自己定制标签(Custom Tag) (整理的学习笔记) 步骤1.创建一个Tag handler class(标记处理器类) package javax.servlet.jsp.tagext 开发空Body的标签处理器类-----&1)implements Tag 2)extends TagSupport 空Body的标签处理器类需要覆盖方法: doStartTag() 返回值:Tag.SKIP_BODY doEndTag() 返
Java Server Page(简称JSP),和ASP.PHP一样都是网络编程语言,只不过在JSP页面中插入的脚本代码是Java语句片段.要利用JSP编写应用,首先,必须要有一个能执行JSP脚本的Web服务器,可以在原有的Apache.IIS或PWS服务器的基础上建立,不过有许多技术上的问题.建议刚接触JSP的虫们,还是白手起家,直接安装一个专门支持JSP的Web服务器,以免节外生枝,这里给大家介绍的是Tomcat 3.1. 熟悉网络编程的人都知道,在网络编程中要是没有数据库的支持,一件很简单
使用定制化的标签 尽管你可以在JSP页面中植入Java代码并在服务器方执行,但是,JSP也支持使用定制标签来插入动态内容,它有一种机制可以让你在JSP页面中插入你自己的.与HTML类似的标签.换句话说,你的JSP网页能够使用插入Java代码的简单标签语法产生动态的内容.但定制标签的用处不是很大. 创建一个定制标签比在JSP网页中使用简单的scriptlet要复杂得多,因为定制标签需要用几个步骤来把你的Java组件和JSP代码连接起来.不过,定制标签在分发和重复使用的时候就非常简单了.对定制标签的
Servlet与JSP 之间的传值有两种情况:JSP -& Servlet, Servlet -& JSP,需要的朋友可以了解下 Servlet与JSP 之间的传值有两种情况:JSP -& Servlet, Servlet -& JSP. 通过对象 request和 session (不考虑 application)完成传值. 一.JSP -& servlet JSP页面有3种方法向 servlet传值: form表单.URL &!-- JSP page --&
jsp中的base标签与meta标签对于一些新手朋友们来说还是有些陌生,下文整理了一些,不会的朋友可以参考下 &%@ page language=&java& import=&java.util.*& pageEncoding=&utf-8&%& &!-- 定义jsp的编码,还有引入的java文件 --& &% String path = request.getContextPath(); //得到当前的项目名字.
循环集合操作在使用过程中很频繁,本文整理了一些常用的,感觉还不错,喜欢的朋友可以收集下 第一种:struts1.2循环遍历元素,name是结果集.引用标签库&%@ taglib uri=&http://struts.apache.org/tags-logic& prefix=&logic& %& &logic:iterate&主要用来处理在页面上输出集合类,集合一般来说是下列之一: 1. java对象的数组 2. ArrayList.Vect
有时候可能要对自己布局好的页面不让用户更改边框的大小,这样我们可以在frame里面添加noresize=&noresize&属性就可以实现其中的功能 &%@ page language=&java& import=&java.util.*& pageEncoding=&utf-8&%& &!DOCTYPE HTML PUBLIC &-//W3C//DTD HTML 4.01 Transitional
JSP内置对象:Request和Response的简单介绍及使用,需要的朋友可以参考一下 JSP内置对象之request对象 客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应.它是HttpServletRequest类的实例. 序号 方 法 说 明 1 object getAttribute(String name) 返回指定属性的属性值 2 Enumeration getAttributeNames() 返回所有可用属性名的枚举 3 String getC
执行模板 这里所讨论的模板将在三种定制标签下执行: Template: insert Template: put Template: get insert 标签中包含一个模板,但是在包含之前,put 标签存储有一些信息--name, URI和Boolean 值(用来指定将内容是包含还是直接显示)--关于模板所包含的内容.在template:get中包含(或显示)了指定的内容,随后将访问这些信息. template:put 把Bean 存储在请求区域(但并不直接存储),因为如果两个模板使用了相同的
首先下载我们要用到的程序: php-4.3.0-installer下载地址: [url]http://www.php.net/get/php-4.3.0-installer.exe/from/cn.php.net[/url] mysql下载地址: [url]http://www.onlinedown.net/mysql.htm[/url] myodbc下载地址: [url]http://www.onlinedown.net/myodbc.htm[/url] perl解析软件下载地址: [url]
这篇文章主要介绍了jsp页面使用网络路径访问图片的乱码问题的解决方法 ,需要的朋友可以参考下 使用jsp页面展示网络路径的图片出现乱码问题,如图: 需要在tomcat的server.xml配置文件中添加一个属性:URIEncoding=&UTF-8& ,修改之后为: &Connector port=&8080& protocol=&HTTP/1.1& maxThreads=&150& connectionTimeout=
Copyright (C) , All Rights Reserved.
版权所有 闽ICP备号
processed in 0.054 (s). 9 q(s)如何手工编译Servlet和JSP文件教程步骤 | 红颜丽人
如何手工编译Servlet和JSP文件教程步骤,集成开发环境的使用(eclipse)在给开发人员的开发工作带来很多便利,但是也向用户屏蔽了很多具体的编译操作流程和细节,我们在感受开发工具带来的“智能”的时候,也常有“傻瓜式”感受。这篇文章试图“追本溯源”手动编译Servlet和JSP文件,讨论手工编译Servlet和JSP页面的方法以及步骤,但愿可以加深大家对相关技术的理解。
(1)手工编译Servlet和JSP文件说明
在本例使用的操作系统为CentOS 5.4,使用的Tomcat Servlet/JSP容器的为5.5.28,JDK的版本是OpenJDK 1.6.0。为便于测试,假设存在如下目录,以下是目录说明:
/codolio:存放用于编译的Servlet源文件以及JSP页面;
/codolio/dist:存放生成的目标文件,如Servlet class文件、由JSP转换来的Servlet源文件等;
/codolio/libs:存放编译过程中依赖的jar和class文件。
(2)手动编译Servlet
Servlet的本质就是一个普通的Java类,一般来讲,该类继承了javax.servlet.http.HttpServlet类。因此,编译Servlet遵从编译一般java类的规则,具体的操作步骤如下:
编写Servlet源码文件
假设已编写名为ServletTest.java的Servlet,其包为test.servlet。并把其放置在/codolio/下,该Servlet的路径为/codolio/test/servlet/ServletTest.java。该Servlet的源文件代码如下:
package test.
import java.io.IOE
import javax.servlet.RequestD
import javax.servlet.ServletC
import javax.servlet.ServletE
import javax.servlet.http.HttpS
import javax.servlet.http.HttpServletR
import javax.servlet.http.HttpServletR
* Servlet implementation class ServletTest
public class ServletTest extends HttpServlet {
private static final long serialVersionUID = 1L;
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType(“text/ charset=utf8″);
request.setAttribute(“message”, ”This is the message from servlet ServletTest”);
ServletContext sc = this.getServletContext();
RequestDispatcher dispatcher = sc.getRequestDispatcher(“/index.jsp”);
dispatcher.forward(request, response);
手工编译Servlet
当前工作目录为/codolio,使用以下命令行进行编译该Servlet:javac -d dist -cp libs/servlet-api.jar test/servlet/ServletTest.java。该命令的具体解释如下:
(1)-d &dir&:javac的选项,用于指定生成的类文件的位置;
(2)-cp &路径&或者-classpath &路径&:javac的选项,用于指定查找用户类文件和注释处理程序的位置。在编译Servlet的时候,应该清楚Servlet依赖于$CATALINA_HOME/common/lib/servlet-api.jar包。为了编译方便,将该JAR包复制到/codolio/libs目录下。另外,还可以在CLASSPATH环境变量中添加该包的搜索路径来指定该JAR包,使用如下命令行:export CLASSPATH=$CLASSPATH:/codolio/libs/servlet-api.jar。
在编译完成后,在/codolio/dist/test/servlet目录下生成ServletTest.class文件,该文件即为编译完成后的Servlet。
(3)手工编译JSP
Tomcat默认使用JspServlet来完成JSP页面的转换、编译和执行工作。在处理JSP页面时,一般分作两步来处理:(1)将JSP页面转换成相应的Servlet(2)编译转换后的Servlet源文件为class文件。在$CATALINA_HOME/conf/web.xml部署描述符中存在如下配置:
&servlet-name&jsp&/servlet-name&
&servlet-class&org.apache.jasper.servlet.JspServlet&/servlet-class&
&init-param&
&param-name&fork&/param-name&
&param-value&false&/param-value&
&/init-param&
&init-param&
&param-name&xpoweredBy&/param-name&
&param-value&false&/param-value&
&/init-param&
&load-on-startup&3&/load-on-startup&
&/servlet&
&servlet-mapping&
&servlet-name&jsp&/servlet-name&
&url-pattern&*.jsp&/url-pattern&
&/servlet-mapping&
&servlet-mapping&
&servlet-name&jsp&/servlet-name&
&url-pattern&*.jspx&/url-pattern&
&/servlet-mapping&
Tomcat中,提供了一个名为JspC的类,位于$CATALINA_HOME/common/lib/jasper-compiler.jar包中,JspC是一个命令行JSP编译工具。虽然JSP页面经常位于一个容器运行环境中,但是有些时候由一个JSP页面来创建一个单纯的Servlet也很有用。JspC将由JSP页面向Servlet转换的核心过程封装在一个程序中,该程序不依赖于servlet引擎,并且允许你将JSP页面转换为一个等价的Java Servlet。
JspC类依赖于多个JAR包,在Tomcat 5.5.28目录结构中,其名称和位置列表如下:
commons-el.jar:位于$CATALINA_HOME/common/lib/下;
jasper-compiler.jar 位于$CATALINA_HOME/common/lib/下;
jasper-compiler-jdt.jar 位于$CATALINA_HOME/common/lib/下;
jasper-runtime.jar 位于$CATALINA_HOME/common/lib下;
jsp-api.jar 位于$CATALINA_HOME/common/lib下;
servlet-api.jar 位于$CATALINA_HOME/common/lib下;
ant.jar 该包可能需要另外下载,可以到Apache的官方网站或者别的链接上去下载。
在使用JspC进行JSP页面的转换、编译过程中,需要保证上述JAR包在CLASSPATH的搜索路径中。为了方便起见,将上述JAR包复制到/codolio/libs目录下。可以使用export命令或者使用java -cp参数来指定类的搜索路径,方法同上。
假设当前工作目录为/codolio,在该目录下存在一个名为test.jsp的JSP测试页面。在命令行中使用如下命令:java -cp libs/ant.jar:libs/commons-el.jar:libs/jasper-compiler.jar:libs/jasper-compiler-jdt.jar:libs/jasper-runtime.jar:libs/jsp-api.jar:libs/servlet-api.jar org.apache.jasper.JspC -compile -v -d dist -uriroot ./ -webxml dist/web.xml test.jsp。该命令的具体解释如下:
(1)-cp:指定类的搜索目录;
(2)-p &name&:目标package的名称;
(3)-c &name&:目标class的名称;
(4)-uriroot &dir&:将要被处理的页面的根目录,默认为包含JspC的目录;
(5)-webxml &file&:可以自动生成一个相关的web.xml;
(6)-v:输出详细信息;
(7)-compile:编译生成的Servlet;
(8)-classpath:覆盖java.class.path系统属性;
(9)-source &version&:设置编译器的-source参数,默认为1.4;
(10)-target &version&:设置编译器的-target参数,默认为1.4。
命令执行结束以后,在/codolio/dist目录下会生成由JSP页面转换而来的Servlet源文件和由Servlet编译而来的class文件,并在/codolio/dist目录下生成相应的web.xml部署描述符。
现在,手工编译Servlet和JSP的工作基本完成了。
本文链接地址:
本条目发布于 。属于
分类。作者是 。

我要回帖

更多关于 php 不支持xml 的文章

 

随机推荐