|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
再说说缺点:首先java功能强大的背后是其复杂性,就拿web来说,当今流行的框架有很多,什么struts,spring,jQuery等等,而这无疑增加了java的复杂性。js|编程|静态|教程|网页1、甚么是JSP
JSP(JavaServerPages)是由SunMicrosystems公司倡议、很多公司介入一同创建的一种静态网页手艺尺度,其网址为http://www.javasoft.com/products/jsp。在传统的网页HTML文件(*htm,*.html)中到场Java程序片断(Scriptlet)和JSP标志(tag),就组成了JSP网页(*.jsp)。Web服务器在碰到会见JSP网页的哀求时,起首实行个中的程序片断,然后将实行了局以HTML格局前往给客户。程序片断能够操纵数据库、从头定向网页和发送email等等,这就是创建静态网站所必要的功效。一切程序操纵都在服务器端实行,收集上传送给客户真个仅是失掉的了局,对客户扫瞄器的请求最低,能够完成无Plugin,无ActiveX,无JavaApplet,乃至无Frame。本文将先容使用JSP手艺开辟静态网页的办法,还将扼要剖析JSP手艺和Microsoft公司的ASP手艺的分歧的地方。
2、怎样安装和启动
为了实行JSP手艺,起首必要创建运转情况,这个历程相称复杂:
1、在http://java.sun.com/jdk/处下载JDK(Java2SDK、StandardEdition、v1.2.2)。
2、在http://java.sun.com/products/jsp/处下载JSWDK(JavaServerWebDevelopmentKit1.0.1)。Linux用户能够在ttp://jakarta.apache.org/处下载Tomcat3.0。
3、安装以WindowsNT情况为例,JDK的安装是起首运转下载失掉的jdk1_2_2-win.exe,然后修正体系情况参数,在PATH参数中到场[x:]jdk1.2.2in和增添新的情况参数CLASSPATH=[x:]jdk1.2.2lib ools.jar,个中[x:]是安装JDK的硬盘符(c:、d:等)。JSWDK的安装仅需将jswdk1_0_1-win.zip带目次开释到硬盘根目次下(c:、d:等),然后就能够在硬盘上找到jswdk-1.0.1目次。未来假如不想保存JSWDK,删除这个目次就能够了,没有任何体系文件和注册表遗留成绩。更具体的安装历程和Solaris/Unix和Linux下JDK、Tomcat的安装能够参考下载失掉的文件包中的安装申明。
4、启动以WindowsNT情况为例,在jswdk-1.0.1目次下实行startserver.bat,便可启动JSWDK中一个撑持JSP网页手艺的Web服务器。为了不与现有的Web服务器(比方IIS、PWS等)抵触,JSWDK的Web服务器利用了8080端口。在扫瞄器的地点栏中键进http://localhost:8080大概http://127.0.0.1:8080后,假如能看到JSWDK的接待页就申明JSP实行情况已建成,可进进下一步实行。要封闭Web服务器则运转stopserver.bat。
3、JSP复杂示例
JSWDK中包括的Web服务器的文档目次在缺省形态下为jswdk-1.0.1webpages,主文档在缺省形态下为index.html和index.jsp。也就是说会见http://localhost:8080即是会见jswdk-1.0.1webpagesindex.html。用文本编纂器,如Windows中的记事本(Notepad),创立一个文本文件hi.jsp,保留在jswdk-1.0.1webpages目次下,其内容以下:
<html>
<head>
<title>Hi-JSP实行</title>
</head>
<body>
<%
StringMsg="ThisJSPtest.";
out.print("HelloWorld!");
%>
<h2><%=Msg%></h2>
</body>
</html>
在扫瞄器的地点栏中键进http://localhost:8080/hi.jsp,JSWDK中的Web服务器会实行JSP文件顶用<%和%>括起来的Java程序语句,个中out.print是将笔墨输入到网页,语句<%=变量|表达式%>的感化是将JavaScriptlet中变量或表达式的值输入到网页,实行了局如。将变量Msg赋值为中笔墨符串,用<%=%>输入,大概用out.print输入中笔墨符串,则在英文版NT4及Redhat6.1下实行运转了局一般,而在中文NT4.0和中文98下,则反而会呈现乱码。
4、一致的网站界面
JSP撑持服务器真个文件包括,便可以在一个JSP文件中拔出多个其他文件,用来完成一致的网站界面。修正上述hi.jsp并另存为mypage.jsp:
<%@includefile="top.htm"%>
<%
StringMsg="ThisJSPtest.";
out.print("HelloWorld!");
%>
<h2><%=Msg%></h2>
<%@includefile="bot.htm"%>
用可视化HTML编纂器,比方FrontPage、Dreamweave等计划网站的框架布局,将计划好的框架布局文件支解成两个部分,下面一半保留为top.htm,上面一半保留为bot.htm,代码以下面所示:
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
<title>我的主页</title>
</head>
<body>
<tableborder="0"width="100%"cellpadding="4"cellspacing="0"align="center">
<tr>
<tdwidth="100%"colspan="2"bgcolor="#837ED1"align="center"><fontface="隶书"
color="#FFFF00"size=5>主页题目</font>
</td>
</tr>
<tr>
<tdbgcolor="#837ED1"width="15%"valign="top"align="center"><br>
<fontcolor="#FFFFFF">选项</font><p><fontcolor="#FFFFFF">选项</font></p>
<p><fontcolor="#FFFFFF">选项</font></p>
<p><fontcolor="#FFFFFF">......</font></p>
<p></p>
</td>
<tdwidth="85%"valign="top">
----------------------------------------------------------------------------------------------------------------
</td>
</tr>
</table>
</body>
</html>
在扫瞄器的地点栏中键进http://localhost:8080/mypage.jsp,失掉了局如。如许网站的界面就可以一致起来,而计划者能够会合精神在功效模块上处置用户登录、毗连数据库、发送email等等。每一个
JSP文件都有以下布局:
<%@includefile="top.htm"%>
<%
//完成某些功效
%>
<%@includefile="bot.htm"%>
保护网站的界面也绝对对照简单,只需修正top.htm和bot.htm,就可以影响到一切网页。
5、服务器参数设置
JSWDK的Web服务器参数保留在jswdk-1.0.1webserver.xml中,用Windows写字板翻开并编纂这个文件就能够修正缺省设置值。本节内容次要针对JSWDK,Linux下Tomcat的设置办法略有分歧。JSWDK缺省的文档目次是jswdk-1.0.1webpages,在此目次下能够创建子目次,比方jswdk-1.0.1webpages est,就可以在扫瞄器顶用http://localhost/test会见这个目次,为了使得这个子目次能实行JSP程序,还必需在webserver.xml中的<Service></Service>节到场:
<WebApplicationid="test"mapping="/test"docBase="webpages/test"/>
而且,还必需创建jswdk-1.0.1webpages estWEB-INF目次,并从jswdk-1.0.1webpagesWEB-INF目次中复制过去以下四个文件:mappings.properties、mime.properties、servlets.properties和webapp.properties。完成这些历程,才干关照JSWDK的Web服务器实行http://localhost/test中的JSP程序。
6、JavaBean
JSP网页吸惹人的中央之一就是能分离JavaBean手艺来扩大网页中程序的功效。JavaBean是一种Java类(class),经由过程封装属性和办法成为具有某种功效大概处置某个营业的对象。JavaBean被构造成为package(数据包)以便举行办理,实践上就是把一组JavaBean一同放在某某目次中,每一个类的界说前加上package某某,本例中为test。目次test必需放在体系情况CLASSPATH包括的目次下,体系才干找到个中的JavaBean。JSWDK在缺省形态下将jswdk-1.0.1webpagesWEB-INFjspeans到场CLASSPATH。创建本人的JavaBean和package时,就放在这个目次中也不掉为一种浅易的办法。上面先容一个复杂的JavaBean框架。用文本编纂器创立一个文本文件helloWorld.java,并保留在jswd
k-1.0.1webpagesWEB-INFjspeans est目次下,其内容以下:
packagetest;
publicclasshelloWorld{
publicStringname="Myfirstbean";
publicStringgetHi()
{
return"Hellofrom"+name;
}
}
helloWorld.java编纂好后,在DOS形态下,进进目次jswdk-1.0.1webpagesWEB-INFjspeans,用JDK的javac命令编译helloWorld.java以下:
javachelloWorld.java
注重,Java是辨别巨细写的,在程序中,编译命令行中字母的巨细写都不克不及写错。编译乐成就暗示创建了一个JavaBean。上面看怎样在JSP中利用这个JavaBean。用文本编纂器创立一个文本文件hi-bean.jsp,并保留在jswdk-1.0.1webpages est目次下,其内容以下:
<html>
<head>
<title>JavaBean实验</title>
</head>
<body>
<jsp:useBeanid="helloBean"scope="session"class="test.helloWorld"/>
<%=helloBean.getHi()%>
<hr>
<%
helloBean.name="JSP";
out.print(helloBean.getHi());
%>
</body>
</html>
在JSP网页中,利用<jsp:useBean.../>语法来创立JavaBean对象,并定名为helloBean。读者可从这个复杂的例子中看出设置、猎取JavaBean属性,和挪用JavaBean办法的做法。在扫瞄器的地点栏中键进http://localhost:8080/test/hi-bean.jsp,失掉了局如所示。注重,假如修正和从头编译了JavaBean程序,则必要封闭和从头启动JSWDK的Web服务器今后修正的了局才会无效。假如仅仅修正JSP文件,则不必从头启动JSWDK的Web服务器.固然,这仅仅完成了一个十分复杂的JavaBean框架,可是遵守这个框架能够计划出多种多样的JavaBean。比方,从JSP中会见数据一般就是经由过程JavaBean来完成的。
7、数据库毗连
数据库毗连对静态网站来讲是最为主要的部分,Java中毗连数据库的手艺是JDBC(JavaDatabaseConnectivity)。良多数据库体系带有JDBC驱动程序,Java程序就经由过程JDBC驱动程序与数据库相连,实行查询、提取数据等等操纵。Sun公司还开辟了JDBC-ODBCbridge,用此手艺Java程序就能够会见带有ODBC驱动程序的数据库,今朝年夜多半数据库体系都带有ODBC驱动程序,以是Java程序能会见诸如Oracle、Sybase、MSSQLServer和MSAccess等数据库。上面先容怎样用Access完成一个静态FAQ(罕见成绩及谜底)网站。
起首创建一个Access数据库faq.mdb,个中的表faqs有字段id(主动增量型,并设为主关头字)、subject(笔墨型,长度200)、answers(备注型)。这个表中能够寄存一些编程常识的罕见成绩及谜底,
如。
然后,在ControlPanel(把持面板)的ODBCDatasource模块中到场SystemDSN,取名faq,并指向faq.mdb。
创立一个JavaBean,名为faq.java,并保留在jswdk-1.0.1webpagesWEB-INFjspeans est目次下。faq.java的内容以下:
packagetest;
importjava.sql.*;
publicclassfaq{
StringsDBDriver="sun.jdbc.odbc.JdbcOdbcDriver";
StringsConnStr="jdbc:odbc:faq";
Connectionconn=null;
ResultSetrs=null;
publicfaq(){
try{
Class.forName(sDBDriver);
}
catch(java.lang.ClassNotFoundExceptione){
System.err.println("faq():"+e.getMessage());
}
}
publicResultSetexecuteQuery(Stringsql){
rs=null;
try{
conn=DriverManager.getConnection(sConnStr);
Statementstmt=conn.createStatement();
rs=stmt.executeQuery(sql);
}
catch(SQLExceptionex){
System.err.println("aq.executeQuery:"+ex.getMessage());
}
returnrs;
}
}
用上一节先容的办法编译faq.java今后,在jswdk-1.0.1webpages est目次下创立JSP文件faq.jsp,其内容以下:
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
<title>我的FAQ!</title>
</head>
<body>
<p><b>这是我的FAQ!</b></p>
<%@pagelanguage="java"import="java.sql.*"%>
<jsp:useBeanid="workM"scope="page"class="test.faq"/>
<%
ResultSetRS=workM.executeQuery("SELECT*FROMfaqs");
Stringtt;
while(RS.next()){
tt=RS.getString("Answer");
out.print("<LI>"+RS.getString("Subject")+"</LI>");
out.print("<pre>"+tt+"</pre>");
}
RS.close();
%>
在扫瞄器的地点栏中键进http://localhost:8080/test/faq.jsp,faq.jsp挪用JavaBean,从数据库中读出内容并输入,失掉了局如所示.限于篇幅,本文不克不及枚举JSP-JavaBean-JDBC/ODBC-数据库的庞大例子,读者能够从本文最初所保举的网址中找到并下载到数据库毗连典范。
8、手艺剖析
Microsoft公司的ASP手艺也是静态网页开辟手艺。JSP和ASP从情势上十分类似,ASP程序员一眼就可以认出<%%>和<%=%>。可是深切探求下往会发明它们良多的不同,个中最次要的有以下三点:
1、JSP的效力和平安性更高
ASP以源码情势寄存,以注释体例运转,每次ASP网页挪用都必要对源码举行注释,运转效力不高。别的,IIS的毛病曾使得很多网站源程序年夜暴光,包含笔者之前用ASP开辟的网站,ASP程序全体被人下载了往。JSP在实行之前先被编译成字节码(bytecode),字节码由Java假造机(JavaVirtualMachine)注释实行,比源码注释的效力高;服务器上另有字节码的Cache机制,能进步字节码的会见效力。第一次挪用JSP网页大概稍慢,由于它被编译成Cache,今后就快很多了。同时,JSP源程序不年夜大概被下载,出格是
JavaBean程序完整能够放到不合错误外的目次中。
2、JSP的组件(Component)体例更便利ASP经由过程COM来扩大庞大的功效,如文件上载、发送email和将营业处置大概庞大盘算分别出来成为自力可反复使用的模块。JSP经由过程JavaBean完成了一样的功效扩大。在开辟方面,COM的开辟远比JavaBean庞大和烦琐,学会ASP不难,但学会开辟COM可不复杂。而JavaBean就复杂多了,从本文上述示例中能够看出开辟JavaBean很便利。在保护方面,COM必需在服务器上注册,假如修正了COM程序,就必需从头注册,乃至必需关机和从头启动。JavaBean则不必要注册,放在CLASSPATH包括的目次中就好了。假如JavaBean举行了修正,则JSWDK和Tomcat如今还必要封闭和从头运转(但不是关机),但开辟者已允诺将在今后的版本中做到不必要封闭服务器。别的JavaBean是完整的OOP,能够针对分歧的营业处置功效便利地创建一整套可反复使用的对象库,比方用户权限把持、email主动复兴等等。
3、JSP的顺应平台更广
ASP今朝仅合用于NT和IIS。固然Unix下有ChiliSoft的插件来撑持ASP,可是ASP自己的功效无限,必需经由过程ASP+COM的组合来扩大,Unix下的COM完成起来十分坚苦。JSP则分歧,几近一切平台都撑持Java,JSP+JavaBean能够在一切平台下通行无阻。NT下IIS经由过程一个插件,比方JRUN(http://www3.allaire.com/products/jrun/)大概ServletExec(http://www.newatlanta.
com/),就可以撑持JSP。出名的Web服务器Apache已可以撑持JSP。因为Apache普遍使用在NT、Unix和Linux上,因而JSP有更普遍的运转平台。固然如今NT操纵体系占了很年夜的市场份额,可是在服务器方面Unix的上风仍旧很年夜,而新兴起的Linux更是来势不小。从一个平台移植到别的一个平台,JSP和JavaBean乃至不必从头编译,由于Java字节码都是尺度的与平台有关的。笔者将在NT下实行的JSP网页一成不变地拿到Linux下就运转起来了,感到十分中意。
9、结论
综上所述,JSP可谓是构建静态网站的一个利器,故保举给读者,祝福你们把握JSP,开辟出优异的网站。ASP程序员也请试一下,JSP里也有session、request、response/out等对象,亲身碰运气怎样。
附文
这里是关于JSP的主要参考材料,有乐趣的读者能够进一步浏览。
http://java.sun.com/products/jsp/faq.html
http://www.esperanto.org.nz/jsp/jspfaq.html
http://www.zdnet.com/pcweek/stories/news/0,4153,410709,00.html
http://developer.netscape.com/viewsource/kuslich_jsp
/kuslich_jsp.html
http://web2.java.sun.com/products/jsp/jsp-asp.html
http://www.asptoday.com/articles/19991022.htm
接待到临www.dukejava.com!
JavaServerPages(JSP)是基于Java的手艺,用于创立可撑持跨平台及跨Web服务器的静态网页。JSP可与微软的ActiveServerPages(ASP)相媲美,但JSP利用的是相似于HTML的标志和Java代码片断而不是用VBScript。当你利用不供应ASP当地撑持的Web服务器(比方Apache或Netscape服务器)时,你就能够思索利用JSP了。你固然也能够为这些服务器弄一个ASP附加软件模块,可是太高贵了。如今Sun公司其实不会因你利用JSP向你免费(固然未来大概要收),何况用于Solaris、Linux和Windows体系的组件都很简单取得。不要把JSP与服务器真个JavaScript言语弄混了。Web服务器主动将经由过程JSP天生的Java代码片断转换成Java片断(servlets)。JSP也可主动把持很多功效,如已往用Perl剧本编写功效程序或像ASP如许的服务器公用API(使用编程接口).我们即刻就要入手下手匡助你创建一个利用JSP手艺的网站典范了。
筹办好盘算机以利用JSP你必要Java2软件开辟工具箱(J2SDK),已往称之为Java开辟工具箱(JDK)、JavaServer收集开辟工具箱(JSWDK)、Tomcat,大概别的能撑持JSP的Web服务器。升阳公司为Windows、Solaris和Linux平台供应收费的J2SDK和JSWDK。假如你想在现有的Web服务器上利用JSP,而此服务器自己不撑持JSP和Java代码片断,能够试用Allaire公司的Jrun。它能够为Netscape的EnterpriseServer和FasttrackServer、微软的InternetInformationServer(IIS)和PersonalWebServer(PWS)、Apache和其他服务器充任Web服务器附件。你也能够利用Apache服务器的Java版,个中包括最新的JSWDK。下载并安装所需的软件今朝,版本号为1.2.2-001的J2SDK可下载版以可安装的回档文件情势呈现。这个约莫20MB的下载量软件可供应一个完全的Java开辟情况,让你制造任何基于Java而且使用了而尺度中心API的办理计划。实在,你的Web服务器利用JSP的独一前提是要有Java编纂器。要让Web服务器晓得编纂器的地位,必要JAVA_HOME情况变量设置为J2SDK安装目次。假如你已在Windows体系中举行了安装而且承受了默许目次,请将“setJAVA_HOME=C:1.2.2”增加到你的“autoexec.bat”文件中,然后从头启动。安装J2SDK后,下载并安装JSWDK大概是Tomcatβ版,即基于Java的ApacheWeb服务器的β版。你把JSWDK放在甚么中央是可有可无的,只需你今后能找到它就行。一般,将其放在顶层目次中,如许你在交换JSWDK或JSDK时无需删除另外一个软件。安装好这个文件后,筹办事情已停当,你能够入手下手JSP开辟事情了。准确地安装JSWDK后,请运转“startserver”剧本程序,以启动Web服务器,使其依照默许情形监听8080端口。你要在启动服务器以后检察您是不是已准确地安装了此工具,请加载一个JSP样本文件(http://locahost:8080/examples/jsp/)。假如你能乐成地运转这些样本文件,申明你已准确地安装了这个软件。假如你在用来启动服务器的把持台窗口中看到报错信息,你就必要做些修正。最常常产生的成绩是没有设置或不准确地设置了JAVA_HOME情况变量。要看到以后情况变量设置情形,要请在DOS提醒符下键进“set”设置。入手下手在注释JSP语法前,创立一个快速网页,显现目以后的日期和工夫,并然后将之其保留为sample.jsp:
<html>
<head>
<title>FirstPage</title>
</head>
<body>
<H3>Todayis:
<%=newjava.util.Date()%>
</H3>
</body>
</html>.
把这个文件和你一切的HTML和JSP页面放在JSWDK安装目次下的网页目次里。你能够从http://localhost:8080/sample.jsp加载此网页。该网页初次被会见时,Web服务器会把JSP编译成Java代码片断,如许你就可以够看到以后的日期和工夫了。你已下载、安装并设置好了开辟情况,你能够入手下手进修JSP语法并创立本人的基于JSP的办理计划了。
JSP基础语法
讲完安装成绩后,如今进进来会商JSP语法。一个投机倒把的举措是下载语法卡片。假如你不熟习Java编程,大概你想看一下Sun的指南。但是网页创立者其实不必要举行太多的Java开辟。除一些办法挪用,在你的JSP网页里应尽量罕用Java代码。记着以上提醒,我们起首来看一看JSP指令和剧本元素,以后我们会注释JavaBeans和隐含对象。共有五种JSP指令和剧本元素。在JSP1.0版中,年夜部分JSP被一个以“<%”开首和以“%>”开头的的标志括在个中。在更新的JSP1.1标准出台后,就有了与XML兼容的版本。JSP指令和剧本元素
Directives<%@directive%>
Declarations<%!declaration%>
Expressions<%=expression%>
CodeFragment/Scriptlet<%codefragment%>
Comments<%--comment--%>
指令
JSP指令是为JSP引擎而计划的。他们其实不间接发生任何可见输入,而只是告知引擎怎样处置其他JSP页面。这些指令一直被括在“<%@?%>”标志中。两个最主要的指令是“pagePage”和“Include”。“Taglib”指令不在会商之列,可是在用JSP1.1创立自界说标志可使用它。几近在一切JSP页面顶部城市看到“Page”指令。只管不是必需的,但它可让你指定:到那边查找起撑持感化的Java种别:
<%@pageimport="java.util.Date"%>,
呈现Java运转成绩时,将网上冲浪者引向那边:
<%@pageerrorPage="errorPage.jsp"%>,
另有你是不是必要办理用户的会话级信息,这些信息大概来自多个网页(鄙人面的JavaBeans一节将对此做进一步讲)述:
<%@pagesession="true"%>.
“Include”指令能够把你的内容分红更多可办理的元素,好比包含一个一般页面页眉或页脚的元素。包括的网页能够是一个流动的HTML页面或更多的JSP内容:
<%@includefile="filename.jsp"%>
声明
JSP声明用来让你界说页面级变量,以保留信息或界说JSP页面的其他部分大概必要的撑持办法。假如你发明代码太多,一般最好把它们写成一个自力的Java种别。声明一样平常都在“<%!?%>”标志中。必定要以分号(;)停止变量声明,由于任何内容都必需是无效的Java语句:
<%!inti=0;%>。
表达式
有了JSP表达式,表达式评价了局会被转换成一个字符串,而且被间接包含在输入页面以内。JSP表达式包括在“<%=?%>”标志中,没有分号,除非在加引号的字符串部分利用分号。
<%=i%>
<%="Hello"%>.
代码片断/剧本片断
代码片断/剧本片断(Scriptlets)JSP代码片断或剧本片断是嵌在“<%?%>”标志中的。这类Java代码在Web服务器呼应哀求时就会运转。在剧本片断四周多是原始的HTML或XML语句,在这些中央,代码片断可使你创立前提实行代码,或要用到别的一段代码的代码。比方,以下的代码组合利用表达式和代码片断,显现H1、H2、H3和H4标志中的字符串“Hello”。代码片断其实不范围于一行源代码:
<%for(inti=1;i<=4;i++){%>
<H<%=i%>>Hello</H<%=i%>>
<%}%>.
正文
最初一个次要的JSP元素是嵌进式正文。只管你一直能够在文件中到场HTML正文,但用户在检察页面源代码时会看到这些正文。假如你不想让用户看到它,你就应当将其嵌进“<%--?--%>”标志中:
<%--commentforserversideonly--%>.带JavaBean的JSP固然你能够把年夜段的代码放在剧本片断(scriptlet)内,可是尽年夜多半的Java代码属于可反复利用的名为JavaBea的组件。JavaBean相似于ActiveX控件:他们都能供应经常使用功效而且能够反复利用。JavaBean的值是经由过程一些属性取得的,你可经由过程这些属性会见JavaBean设置。以一团体来打例如,这团体就是一个JavaBean,这团体的名字、身份证号码和住址就是其属性。在JSP网站,你基础上就是经由过程玩“Connectthebeans)”来使你的网站静态化。假定JavaBean先于网站被创立出来,你必要做的第一件事就是告知JSP页面它将要用到一个“Bean”。你能够用“<jsp:useBean>”标志来做到这一点:
<jsp:useBeanid="localName"class="com.jguru.Person"scope="application"/>。“<jsp:useBean>”标志请求你用“id”属性来识判别Bean。这里你供应一个名字来JSP页面其他部分的Bean。除“id”属性,你还须告知网页面从那边查找Bean,大概它的Java种别名是甚么。这类种别属性供应确认Bean的功效,其他一些办法也能够做到这一点。最初一个必须的元素是“scope”属性。有了“scope”属性的匡助,你就可以告知Bean为单一页面(默许情形)[scope="page"]、为[scope="request"]哀求为会话[scope="session"],大概为全部使用程序[scope="application"]坚持留信息。有了会话局限,你就可以十分简单地在JSP网页面上保护购物车等项目。一旦你申明了一个JavaBean,你就能够会见它的属性来定制它。要取得属性值,请用“<jsp:getProperty>”标志。有了这个标志,你就可以指定将要用到的Bean称号(从useBean的"id"字段失掉)和你想失掉其值的属性。实践的值被放在输入中:
<jsp:getPropertyid="localName"property="name"/>。
要改动JavaBean属性,你必需利用“<jsp:setProperty>”标志。对这个标志,你必要再次辨认Bean和属性,以修正并分外供应新值。假如定名准确,这些值能够从一个已提交的表中间接取得:参数取得:
<jsp:setPropertyid="localName"property="*"/>;
能够从一个参数取得,但你必需间接定名属性和参数:
<jsp:setPropertyid="localName"property="serialNumber"value="string"/>
大概间接用一个名字称和值来设置:
<jsp:setPropertyid="localName"property="serialNumber"value=<%=expression%>.关于JavaBean的最初一件事:为了Web服务器能找到JavaBean,你必要将其种别文件放在一个特别地位。用JSWDK,最便利的地位是安装目次下的种别目次,如jswdk-1.0.1classes。
JSP隐含对象
与JSP语法相干的最初的元素是一些叫做“隐含对象”的工具。在JSP代码片断中,你能够使用这些隐含对象与JSP页面的代码片断实行情况发生互动。应只管少会见这些内置隐含对象。可是,在一某些情形下,会见隐含对象是可被承受的。若要充实使用隐含对象,就需懂得最新的JavaServletAPI。下表列出可用的隐含对象汇合。
隐含对象申明
request客户端哀求,包含从GET/POST哀求传送过去的参数
response网页传回客户真个反响
pageContext在此办理网页属性
session与哀求联系关系的会话
application代码片断的运转情况
out传送呼应的输入流
config代码片断设置对象
pageJSP网页自己
exception有错的网页中未被捕捉的破例
这些都是用来做甚么的,你又怎样来利用它们呢?基础上说,在你的剧本片断里,你能够用它们进进实行JSP代码的代码片断。用不着深切懂得太多的ServletAPI细节,我们来看看能用它们来做到的某些事变:你能够不必表达式,间接进进“Out”隐含对象,将某些内容输入到呼应中:
<%out.println("Hello");%>。
用不着把一个参数间接送到JavaBean,你能够从哀求对象猎取参数值:
<%Stringname=request.getParameter("name");out.println(name);%>.
在你用JSP举行开辟的过程当中,举行更多的开辟的过程当中,假如创立了JavaBeans或发明JSP文件中到场了太多的Java源代码,你就必要创立起撑持感化的Java分类(class)了,它能够帮忙你反复使用源代码并削减JSP网页编译工夫。当你必要创立Java分类文件时,你必需:将JDSWKinstallationin目次增加到PATH中。在autoexec.bat文件PATH行的开端,到场“C:1.2.2/bin”。
用这个命令将JAR文件复制到“jrelibext:”目次中:copyc:jswdk-1.0.1libservlet.jar
c:jdk1.2.2jrelibext.
创立一个JSP网站
如今该是把一切这些JSP语法派上用处的时分了。我们将创立一个网页,它有一个输出表单,可使用户输出一个股票代号以取得出以后股价(有20分钟)。假如输出有误,则显现报错网页。
quote.jsp
起首,用这个代码创立一个quote.jsp网页并将其保留在JSWDK安装目次下的网页目次中。年夜多半的网页是尺度的HTML,其间分布着JSP代码。第六行是一个网页唆使,暗示将把一切毛病发送到“errorPage.jsp”文中。第13到15行是一个剧本片断,次要申明只要供应“标记”参数才会显现表格。“If”代码段在
32到34行停止。第17行界说了要用的JavaBean,第18行从参数加载JavaBean的标记属性。第27行到29行显现Bean的属性。除"if"代码段,实践上其实不触及别的Java代码。
errorPage.jsp
下一步,将以下JSP源代码保留到网页目次中的“errorPage.jsp”文件中。“这是一个毛病网页”的提醒为第一行,它将isErrorPage网页提醒属性设置为真。上一页说了明毛病网页的地位,本页则申明这就是毛病网页。别的JSP文件中的JSP公用代码只要会见隐含破例对象才用到。网页只显现其值:
<%@pageisErrorPage="true"%>
<html>
<head>
<title>ErrorPage</title>
</head>
<body>
<h1>OurErrorPage</h1></font>
<!--PrintException-->
Wegotourselvesanexception:
<%=exception%>
<ahref="quote.jsp">Restart</a>
</body>
</html>。
Quotes.java
QuotesJavaBean
使用Yahoo资本来取得股票代价。必要将此资本保留到JSWDK安装目次下“classescomjguru”目次中的“quotes.java”文件中。请在此用JSDK中的Javac编纂器来编纂它。
你的第一个JSP网页。
创立了这两个JSP文件,创建了JavaBean资本文件并编纂了它后,你就能够从http://localhost:8080/quote.jsp加载“quote.jsp”文件以检察了局,假定你没有变动JSWDK安装设置,转而利用其余端口。这个网页固然能做得更大度,可是它已完成了必要完成的功效,而且很好地展现了JSP的功效。
J2ME在手机游戏开发的作用也是无用质疑的。至于桌面程序,可能有人说java不行,界面不好看,但是请看看NetBeans和Eclipse吧,他们都是利用java开发的,而他们的界面是多么的华丽,所以界面决不是java的缺点。还有一个不得不提的优点就是大多java人员都挂在嘴边的java的跨平台性,目前这确实也是java优点之一。 |
|