|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
那这个对象有什么意义?现在很多用javabean的人就不能保证对象有完整的意义,不成熟的使用模式等导致代码疯狂增长,调试维护的时间要得多得多。在说性能之前,先说说你这个比较的来历。据说微软为了证明。net比java好。js|创立|站点如今可使用一切这些JSP语法了。我们将创立一个Web页面,它有一个输出表单,用户能够输出一个股票代号以取得出以后股票代价(有20分钟提早)。假如输出有误,则显现毛病提醒页面。
quote.jsp
起首,用以下代码创立quote.jsp页面并将其保留在JSWDK安装目次下的Web目次中。年夜多半的页面是含JSP代码的尺度HTML。第六行是一个页面指令,标明将把一切毛病发送到“errorPage.jsp”文中。第13到15行是一个剧本段,次要申明仅当有“symbol”参数时才显现表格。“if”代码段在32到34行停止。第17行界说了所用的JavaBean,第18行依据参数加载其标记属性。第27行到29行显现bean的属性。除"if"段,实践上其实不触及别的Java代码。
<html>
<head>
<title>StockQuotes</title>
</head>
<body>
<%@pageerrorPage="errorPage.jsp"%>
<formaction="quote.jsp"
method="GET"><p>EnterSymbol:<inputsize="20"name="symbol"><input
type="submit"value="Submit"></p>
</form>
<%
if(request.getParameter("symbol")!=null){
%>
<jsp:useBeanid="quotes"scope="page"class="com.jguru.Quotes"/>
<jsp:setPropertyname="quotes"property="*"/>
<tableborder="1">
<tr>
<thalign="left">Symbol</th>
<thalign="left">Name</th>
<thalign="left">Price</th>
</tr>
<tr>
<td><jsp:getPropertyname="quotes"property="symbol"/></td>
<td><jsp:getPropertyname="quotes"property="name"/></td>
<td><jsp:getPropertyname="quotes"property="price"/></td>
</tr>
</table>
<%
}
%>
</body>
</html>
errorPage.jsp
下一步,将上面的JSP源代码保留到Web页脸孔录中的“errorPage.jsp”文件中。提醒“thisisanerrorpage”为第一行,它将页面指令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资本猎取股票代价。需将源代码Quotes.java保留到JSWDK安装目次下“classescomjguru”目次中的“quotes.java”文件中。从这一步起,将由JSDK中的Javac编译器来编译它。
packagecom.jguru;
importjava.util.*;
importjava.net.*;
importjava.io.*;
publicclassQuotes{
Stringsymbol;
Stringname;
Stringprice;
publicvoidsetSymbol(Stringsymbol){
this.symbol=symbol;
getSymbolValue(symbol);
}
publicStringgetSymbol(){
returnsymbol;
}
publicStringgetName(){
returnname;
}
publicStringgetPrice(){
returnprice;
}
privatevoidgetSymbolValue(Stringsymbol){
StringurlString=
"http://quote.yahoo.com/download/javasoft.beans?SYMBOLS="+
symbol+"&format=nl";
try{
URLurl=newURL(urlString);
URLConnectioncon=url.openConnection();
InputStreamis=con.getInputStream();
InputStreamReaderisr=newInputStreamReader(is);
BufferedReaderbr=newBufferedReader(isr);
Stringline=br.readLine();
StringTokenizertokenizer=newStringTokenizer(line,",");
name=tokenizer.nextToken();
name=name.substring(1,name.length()-2);//removequotes
price=tokenizer.nextToken();
price=price.substring(1,price.length()-2);//removequotes
}catch(IOExceptionexception){
System.err.println("IOException:"+exception);
}
}
}
当创立了这两个JSP文件,和创建了JavaBean源代码文件并将其编译后,你就能够从http://localhost:8080/quote.jsp装载“quote.jsp”文件以检察了局(假定你没有变动JSWDK设置以利用分歧的端口)。这个页面固然能够做得加倍大度,但它切实其实已到达了预定目标,同时很好地演示了JSP的功效。
什么时候上述的三种开发工具能和三为一,什么时候java的竞争力才更强,才有机会拉拢更多的程序员投入到对java的开发上,因为到时的开发工具将会比.net的更简单。还有一点也很关键,什么时候java推出的jsf能成为真正意义上的标准。 |
|