JAVA网站制作之html与jsp开辟分别手艺
还是要自己一点一点写代码,然后编译,改错再编译好那。还有最重要的是.net的编译环境非常好,你甚是不需要了解太多工具,对于简单的系统,你可以之了解一些语法就哦了。js在传统的JSP程序中,我们将HTML代码与Java代码夹杂在一同编写,如许固然便利,但同时也招致页面难以保护,HTML开辟职员和JSP开辟职员包袱减轻,我们能够将这类传统的手艺成为页面拉数据手艺。
如何才干做到将HTML开辟和JSP开辟分别呢?谜底就是利用Tag手艺,经由过程利用Tag手艺,我们就能够在页面程序中不呈现JSP代码,在必要数据的中央,人人先商定好标签,然后由Tag的背景处置程序往交换这些标签,显现数据。我称这类手艺叫做向页面推数据,页面只需界说好格局就好了。如许,我们可让HTML开辟职员专注于页面的表面,而Java程序员则不必剖析页面显现,专注于背景程序,年夜年夜进步了程序的可保护性和便利性。便于各程序员之间的合作开辟。
起首你要懂一些Tag手艺,然后才干浏览本文。上面是样例程序:
1、起首是交换字符串的replace函数
//交换字符串函数
//StringstrSource-源字符串
//StringstrFrom-要交换的子串
//StringstrTo-交换为的字符串
publicstaticStringreplace(StringstrSource,StringstrFrom,StringstrTo)
{
//假如要交换的子串为空,则间接前往源串
if(strFrom==null||strFrom.equals(""))
returnstrSource;
StringstrDest="";
//要交换的子串长度
intintFromLen=strFrom.length();
intintPos;
//轮回交换字符串
while((intPos=strSource.indexOf(strFrom))!=-1)
{
//猎取婚配字符串的右边子串
strDest=strDest+strSource.substring(0,intPos);
//加上交换后的子串
strDest=strDest+strTo;
//修正源串为婚配子串后的子串
strSource=strSource.substring(intPos+intFromLen);
}
//加上没有婚配的子串
strDest=strDest+strSource;
//前往
returnstrDest;
}
2、Tld文(MyBookTag.tld)界说你的标签
<?xmlversion="1.0"encoding="ISO-8859-1"?>
<!DOCTYPEtaglib
PUBLIC"-//SunMicrosystems,Inc.//DTDJSPTagLibrary1.2//EN"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name></short-name>
<tag>
<name>ListBook</name>
<tag-class>com.book.taglib.ListBookTag</tag-class>
<body-content>JSP</body-content>
</tag>
</taglib>
3、Tag的背景处置文件,卖力注释标签(ListBookTag.java)
packagecom.book.taglib;
importjava.util.*;
importjava.lang.*;
importcom.book.model.bookmodel;
importcom.book.utils.StringHelper;
importjavax.servlet.jsp.JspTagException;
importjavax.servlet.jsp.tagext.BodyTagSupport;
importjavax.servlet.jsp.tagext.BodyContent;
importjavax.servlet.jsp.PageContext;
importjavax.servlet.jsp.JspWriter;
importjavax.servlet.ServletRequest;
publicclassListBookTagextendsBodyTagSupport{
//标记入手下手地位实行
publicintdoStartTag(){
returnEVAL_BODY_BUFFERED;
}
//标记停止地位实行
publicintdoEndTag()throwsJspTagException{
intmax=0;
StringListBody=null;
intnumber=1;
//猎取页码信息,也就是request对象中的内容
StringserialNo=pageContext.getRequest().getParameter("serialNo");
//转换为整数
try{
number=Integer.parseInt(serialNo);
}
catch(Exceptione){
number=1;
}
if(number<1)
number=1;
//猎取保留在Session中的数据集,固然这里也能够从数据库中取数据
VectorbookVector=(Vector)pageContext.getSession().getAttribute("bookVector");
if(number*10<bookVector.size())
max=number*10;
else
max=bookVector.size();
if(bookVector.size()>0){
//猎取标签外部的内容
BodyContentbc=getBodyContent();
for(inti=(number-1)*10;i<max;i++){
//猎取一笔记录
bookmodelmodel=(bookmodel)bookVector.get(i);
if(model==null)
model=newbookmodel();
//交换内容(就是在这里输入数据的,交换)
Stringbody=bc.getString();
body=StringHelper.replace(body,"$_SerialNo",model.getBookid());
body=StringHelper.replace(body,"$_BookName",model.getBookname());
body=StringHelper.replace(body,"$_Author",model.getAuthor());
body=StringHelper.replace(body,"$_PHouse",model.getPhouse());
body=StringHelper.replace(body,"$_Price",model.getPrice().toString());
body=StringHelper.replace(body,"$_index",Integer.toString(i));
//向页面输入
try{
pageContext.getOut().print(body);
}
catch(Exceptione){
}
}
}
returnEVAL_PAGE;
}
}
4、JSP页面(BookList.jsp)
<%@pagecontentType="text/html;charset=GBK"%>
<%@tagliburi="/MyBookTag"prefix="MyBookTag"%>
<html>
<head>
<title>一个基于J2EE的图书DEMO</title>
<scriptlanguage="javascript">
functionreturnBack(){
document.form1.action="BookAdmin.jsp";
}
</script>
</head>
<bodybgcolor="#FFFFFF"text="#000000"leftmargin="0"topmargin="0">
<h2align="center"><fontface="黑体"color="#0000CC">图书列表</font></h2>
<formname="form1"method="post">
<tablewidth="750"border="1"cellspacing="0"align="center"cellpadding="3"bordercolor="#A5ABB6"bordercolordark="#ffffff">
<tralign="center">
<tdwidth="100"bgcolor="FEFBF4"height="41">序号</td>
<tdwidth="200"bgcolor="FEFBF4"height="41">图示称号</td>
<tdwidth="100"bgcolor="FEFBF4"height="41">图书作者</td>
<tdwidth="200"bgcolor="FEFBF4"height="41">出书社</td>
<tdwidth="50"bgcolor="FEFBF4"height="41">图书代价</td>
<tdwidth="100"bgcolor="FEFBF4"height="41">操纵</td>
</tr>
<!--这里利用标签手艺,假如不必,就贫苦了,信任您必定有感到-->
<MyBookTag:ListBook>
<tralign="center">
<tdwidth="100"height="19">$_SerialNo</td>
<tdwidth="200"height="19">$_BookName</td>
<tdwidth="100">$_Author</td>
<tdwidth="200">$_PHouse</td>
<tdwidth="50"height="19">$_Price</td>
<tdwidth="100"height="19"align="left">
<ahref="bookEditTable.jsp?ItemNo=$_index">
<fontcolor="#0000CC">编纂</font>
</a>
|<ahref="bookview.jsp?ItemNo=$_index">
<fontcolor="#FF0000">检察</font>
</a>
</td>
</tr>
</MyBookTag:ListBook>
</table>
<tablewidth="400"border="0">
<tr>
<tdwidth="100%"align="right">
<divalign="right">
<inputtype="submit"name="Submit"value="前往"class="annew1">
</div>
</td>
</tr>
</table>
</form>
<palign="left"></p>
</body>
</html
从一个编程语言的普及程度来将,一个好的IDE是至关中要的,而现在的java的IDE虽然已经很好了,但是和.net比起来还是稍微差一些的,这是个客观事实。java要想普及的更好。DE是必须加以改进的。 Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站 Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。 当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢? 有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想) 是一种使网页(Web Page)产生生动活泼画面的语言 另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。 学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。 如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。 是一种使网页(Web Page)产生生动活泼画面的语言 Java是一种计算机编程语言,拥有跨平台、面向对java 是一种使网页(Web Page)产生生动活泼画面的语言 学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。 你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢? 《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。 你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。 一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。 关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。 Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。 是一种突破用户端机器环境和CPU
页:
[1]
2