JAVA编程:JSP读取Text文件
那这个对象有什么意义?现在很多用javabean的人就不能保证对象有完整的意义,不成熟的使用模式等导致代码疯狂增长,调试维护的时间要得多得多。在说性能之前,先说说你这个比较的来历。据说微软为了证明。net比java好。js附有JSP源码(TextFileReader.jsp)及JavaBean(TextFileReader.java利用前需加以编译)
我们利用了较初期的jswdk,以是我们能够确信你也能够间接利用这些代码。
TextFileReader.java是一个bean,TextFileReader.jsp则是jsp文件。假如你也利用djswdk,并利用不异的libraryenvironment,可叫bean文件放在jswdk1-0eaexamplesjsp下的textfileaccess目次(你能够创立它),jsp文件放在jswdk1-0eaexamplesWeb-infjspbeanstextfileaccess目次,你也必需创立它。
我们利用的jsp文件其实不包括太多的java代码,次要的代码放在bean中。由此我们也能够看到JSP和JavaBean的基础接洽。
关于有履历的开辟者:
在"header"信息中我们要声名要利用、辨认哪个bean,并设置其属性。
起首,我们导进bean,假如你的jswdk设置准确并已将文件放在上述地位,那末找到resource应当没有成绩。page命令的意义是它将为全部jsp页面来举行导进。
<%@pageimport="textfileaccess.TextFileReader"%>
告知编译器我们将利用一个bean,和怎样辨认它,并举行初始化(instansiate)。scope指明被声名的对象对以后页无效。
<jsp:useBeanid="file_reader"class="textfileaccess.TextFileReader"scope="session"/>
然后我们决意要设置那些属性。这里是"FileName"。由于我们要利用Bean的setFileName办法。以是Bean的名字必需包括。
<jsp:setPropertyname="file_reader"property="FileName"/>
那就是header信息,如今我们入手下手实践的HTML页面。
<html>
<head><title>Readatextfile</title></head>
<bodybgcolor="white">
<fontsize=4>
如今我们入手下手编写一些Java剧本。起首反省文件名是不是已设置好。假如设好了,我们就显现文件,不然我们要转到另外一个页面。
<%if(file_reader.getFileName()!=""){%>
file_reader是一个bean,以是我们能够用Java类来存取它。:-)如今我们失掉文件称号!
文件称号是:<%out.println(file_reader.getFileName());%>:
文件内容,假如为空的话:
<%if(file_reader.getContent()!=null){%>
我们能够创建一个textarea(HTML)并用getRows()和getColumns()办法来调治到符合的地位。然后将文件内容放进。
<Form>
<TEXTAREArows=<%=file_reader.getRows()%>cols=<%=file_reader.getColumns()%>id=textarea1name=textarea1></FONT>
<%out.println(file_reader.getContent());%>
</TEXTAREA>
</Form>
假如文件为空,那末必定是产生了毛病,我们将失掉堕落信息:
<%}else{%>
<%out.println(file_reader.getErrorMessage());%>
<%}%>
重置一切值并前往主页:
<%file_reader.reset();%>
Doyouwantto<ahref="TextFileReader.jsp">lookatanotherfile</a>?
<%}else{%>
文件名为空,则显现堕落页面。
接待到场这里:ReadafileinJSP
这个示例在textarea中复杂地显现了文件内容?lt;p>
请填写你想看到甚么文件。并确信键进了完全的路径。<p>
创建带textboxbutton的form。注重我们不用界说form的action,由于利用了统一个页面。并注重textbox中要填进文件名字。
<formmethod=get></FONT>
FileName?<inputtype=textname=FileName></FONT>
<inputtype=submitvalue="Showit!">
</form>
<%}%>
</font>
</body>
</html>
jsp文件完成了。在细心看以下Bean中的Java代码。我假定你们中的年夜多半都熟习java,不然你怎样会到场JSP的行列。:-)
**************JSP代码:TextFileReader.jsp
<!--
TextFileReader.jsp
WrittenbyMartinLindahl
Copyright1999,w3it.com,distributedbyJSPea
-->
<%@pageimport="textfileaccess.TextFileReader"%>
<jsp:useBeanid="file_reader"class="textfileaccess.TextFileReader"scope="session"/>
<jsp:setPropertyname="file_reader"property="FileName"/>
<html>
<head><title>Readatextfile</title></head>
<bodybgcolor="white">
<fontsize=4>
<%if(file_reader.getFileName()!=""){%>
Thecontentofthefile<%out.println(file_reader.getFileName());%>:
<%if(file_reader.getContent()!=null){%>
<Form>
<TEXTAREArows=<%=file_reader.getRows()%>cols=<%=file_reader.getColumns()%>id=textarea1name=textarea1>
<%out.println(file_reader.getContent());%>
</TEXTAREA>
</Form>
<%}else{%>
<%out.println(file_reader.getErrorMessage());%>
<%}%>
<%file_reader.reset();%>
Doyouwantto<ahref="TextFileReader.jsp">lookatanotherfile</a>?
<%}else{%>
WelcometotheReadafileinJSPexample.
Theexamplesimplyshowsthefileinatextarea.<p>
Pleasefilloutwhatfileyouwanttolookat.Besuretotypethecompletepath.<p>
<formmethod=get>
FileName?<inputtype=textname=FileName>
<inputtype=submitvalue="Showit!">
</form>
<%}%>
</font>
</body>
</html>
**************JavaBeanTextFileReader.java
packagetextfileaccess;
importjava.io.*;
importjava.awt.event.*;
importjava.util.*;
/**
*TextFileReaderisabeanthatprovidesthebasicfunctionalityfor
*readingatextfile.
*/
publicclassTextFileReader{
privateStringfileName,errorMessage;
privateintcolumns,rowCount;
/**
*ConstructsaTextFileReader.
*/
publicTextFileReader(){
reset();
}
/**
*Resetsallthevariablesinthisbean.
*/
publicvoidreset(){
fileName="";
errorMessage="";
columns=0;
rowCount=0;
}
/**
*Setstheerrormessage,ifanerroroccurs.
*/
publicvoidsetErrorMessage(StringerrorMessage){
this.errorMessage=errorMessage;
}
/**
*Returnstheerrormessage,ifany.
*/
publicStringgetErrorMessage(){
returnerrorMessage;
}
/**
*Returnsthefilename.
*/
publicStringgetFileName(){
returnfileName;
}
/**
*Setsthefilename.
*/
publicvoidsetFileName(StringfileName){
this.fileName=fileName;
}
/**
*Returnstheamountofrowsinthefile.
*/
publicintgetRows(){
returnrowCount;
}
/**
*Returnsthemaximumamountofcolumnsinarow.
*/
publicintgetColumns(){
returncolumns;
}
/**
*ReturnsthecontentofthefileinaString.
*Ifanerroroccurs,likeifthefiledoesnotexists,nullisreturned.
*/
publicStringgetContent(){
Stringcontent="";
Filefile=newFile(fileName);
if(!file.exists()){
setErrorMessage("Error:Thefile"+fileName+"doesnotexists.");
returnnull;
}
elseif(file!=null){
try{
//CreateanBufferedReadersowecanreadalineatthetime.
BufferedReaderreader=newBufferedReader(newFileReader(file));
StringinLine=reader.readLine();
while(inLine!=null){
if(inLine.length()+1>columns)
columns=inLine.length()+1;
content+=(inLine+System.getProperty("line.separator"));
inLine=reader.readLine();
rowCount++;
}
returncontent;
}
catch(IOExceptione){
setErrorMessage("Errorreadingthefile:"+e.getMessage());
returnnull;
}
}
else{
setErrorMessage("Unknownerror!");
returnnull;
}
}
}
专门做了这个例子;而java的这个例子好像就是为了教学而写的,很多教学目的的例子是不考虑优化、性能的。 是一种语言,用以产生「小应用程序(Applet(s)) 一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。 一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从 是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言 那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧! 是一种突破用户端机器环境和CPU 是一种突破用户端机器环境和CPU 不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
页:
[1]