摘要:
在这篇由两部分组成的文章的第一部分中,我向您介绍了 tea 模板语言,还向您演示了 tea 是如何能够成为 jsp 技术的一种可行的替代方案。在第二部分中,您将探索如何将 tea 集成为模型-视图-控制器(model-view-controller (mvc))2 体系结构(尤其是 struts 应用程序)中的视图。
详细请见:
java/wa-tea1/index.shtml......
摘要:
上次说到java一步一步的web编程关于jsp与javabean
现在说servlet,由与内容多所以分几章来说
servlet〈一〉
它与别的cgi程序不同的是,它有强大的j2ee做后,配合jsp,javabean,连接ejb,
等更高一级的应用,这里慢慢说来,不同的servlet服务器配置,不同,现在就,语言本身study
这里有一些例子,先看看:
//hell......
谨防Java网络编程“陷阱”
大多数做过基于web的java编程的人都做过“翻页”.“提交”这种比较基本的工作.这些网络编程中不可缺少的步骤,通常都很容易实现.但不知你有没有过这样的经历:在一些特殊情况下,翻页出现了混乱,明明下一页应该是第5页,却翻到第3页;明明只提交了一次,却发现在购物车里提交了两次结果.千万别以为是自己眼花了,或者是遭病毒袭击了,这些就是我们编程中容易碰到的“陷阱”.下面我们就这两个问题分别进行讨论.
翻页中的“陷阱”
翻页有两种常用的实现方式:基于session的翻页与基于hidden的翻页.
1.将页号信息保存在session中
这是最常使用的方法.这种方法的初衷是利用session在页面之间传递信息,即将页号信息保存在session变量中.这样,上下翻页时,只需从session中取出当前页号,并进行相应的处理.当有不同的查询页面指向同一个结果页面时,可在不同的查询页面内将session内的页号值重置,可较好地实现复用.
很多人习惯采用如下实现方法:
假设有两个查询页面time.jsp与place.jsp,分别以时间与地点为查询条件,结果指向同一个显示页面result.jsp.在time.jsp与place.jsp中均有这样的语句:
<jsp:usebean id=“page” class=“page” scope=“session”>
</jsp:usebean>
<%page.setpagenum(1);%>
在result.jsp中有这样的语句:
下一页:<%page.nextpage();%>
上一页:<%page.previouspage();%>
在类page中,有这样的代码:
private int pagenum;
public void setpagenum(int i){
pagenum = i;
}
public void previouspage(){
pagenum --1;
}
public void nextpage(){
pagenum ++;
}
现在来看一看“陷阱”是怎么产生的.
当以时间为查询条件时,下翻到第5页,将此窗口命名为窗口1.此时重新打开一个窗口(ctrl+n方式),以地点为查询条件,下翻到第3页,将此窗口命名为窗口2.到目前为止,一切正常.但请注意:当再回到窗口1,并向下翻时,问题便出现了——原本应该是第6页,现在显示的却是第4页.
为什么呢?原因很简单:两个窗口共享一个session值,当窗口2切换回窗口1时,窗口1引用的pagenum值已被窗口2改变了....
下一页 摘要:
因为一直不信java竟会有不能混排显示多国语言的bug,这个周末研究了一下servlet、jsp的多国语言显示的问题,也就是servlet的多字符集问题,由于我对字符集的概念还不是很清晰所以写出的东西未必是准确的,我是这样理解java中的字符集的:在运行时,每个字符串对象中存储的都是编码为unicode内码的(我觉得所有的语言中都是有相应编码的,因为在计算机内部字符串总是用内码来表示......