今天下午去买了Logitech的光电专家新版键盘鼠标套装,感觉很不错,感谢勇明同学的推荐,所以连夜赶出这篇文章来回报他:)
上次提到同事提到了基本的技术问题我也没有回答上来,其实他的问题很简单:
<%@ taglib prefix="html" uri="http://jakarta.apache.org/struts/tags-html" %>
<%@ taglib prefix="bean" uri="http://jakarta.apache.org/struts/tags-bean" %>
<%@ taglib prefix="logic" uri="http://jakarta.apache.org/struts/tags-logic" %>
<%@ taglib prefix="nested" uri="http://jakarta.apache.org/struts/tags-nested" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt" %>
我们在jsp页面中只是用http打头的uri去引用这些标签库,但是没有在web.xml中引用任何的dtd,那么系统去哪里知道这些标签是怎么定义的呢?我就一下子被问倒了,这个还真是个问题,当时我就觉得应该是在某个jar中,但是我们的lib下面的jar好像又没有这样的jar,这些怎么办?
我这个google的粉丝当然是要到google去寻找答案了,开始使用的关键字少,没有抓到要点,而且用中文,在中文站点中没有找到可以使用的文章,所以后来我用了“jsp taglib uri = http”,这时候找到了一篇文章http://faq.javaranch.com/view?JstlTagLibDefinitions,这里解释了jstl标签库的使用方法也是像我们最后两行那样做一个定义,而所有的东西都在jstl.jar standard.jar这两个jar中,我用winrar打开了这两个jar,发现路径下面果然有java/sun/com/jstl/core,原来这个uri的写法对应了java的路径,这样就搞清楚了,那么struts的标签也就在struts.jar里面了。这个问题就解决了,关键的问题还是没有好好的把这些技术细节搞清楚。
附录:使用tag标签的方法(转载来的文章片断)
要使用tag标签,JSP程序员必须做2件事:
· 声明此tag标签的tag库
· 实现此tag标签
声明tag标签所在的tag库
如果要使用tag标签,则应用JSP的taglib指示符来指定其tag库(注意:taglib要在在使用此tag标签之前声明)
<%@ taglib uri=”/WEB-INF/tutorial-template.tld” prefix=”tt” %>
uri属性定义了唯一的标签库描述(以下简称TLD),它可以是直接是tld文件名或一个独一无二的名字。prefix是用来区别其它TLD中和本TLD中有重名的tag的一种手段。
TLD必须以.tld作为扩展名,并且存放在当前应用的WEB-INF目录或其子目录下。你可以通过它的文件名直接引用它,也可以通过别的方式间接地引用它。
以下taglib指示符直接引用一个TLD:
<%@ taglib uri=”/WEB-INF/tutorial-template.tld” prefix=”tt” %>
以下的taglib指示符通过一个逻辑名称间接地引用一个TLD:
<%@ taglib uri=”/tutorial-template” prefix=”tt” %>
如果是间接引用TLD的话,那你必须还要在web.xml中定义此逻辑名称与tld文件之间的映射,具体做法是在web.xml中加入一个名为taglib的元素:
<taglib>
<taglib-uri>/tutorial-template</taglib-uri>
<taglib-location>
/WEB-INF/tutorial-template.tld
</taglib-location>
</taglib>
文章来源:
http://blog.donews.com/crabhn/archive/2006/02/20/735226.aspx
Spring的和Struts结合的3中方式的区别,以及我们项目中的真实代码演示,终于把项目中比较重要的东西给理清楚了:)
文章来源:
http://blog.donews.com/crabhn/archive/2006/02/19/733527.aspx
我们做了一个预定系统,里面有散客、800代客下单,两者共享代码,所以代客下单利用一个session的attribute来作为是否是代客下单的标识(因为下单涉及到了好几张的页面),当然这个属性本来应该是跟着订单的信息的,但是因为是遗留代码上开始进行的开发,所以~~~
在用户退出系统的时候没有清空这个session变量,所以首先用800属性的角色登陆做了订单预定的动作,然后再用散客下单,发现散客的单也下成了代客下单。这个问题是在我们测试其他的问题的时候发现的,虽然bug发作的机会不大,但是它代表了一类的问题:就是session使用的随意性。不知道其他的项目组怎么做,反正我们在做开发的时候都不是很注意session的清空,有时候为了方便大量使用session,这样做一个是会出现bug,另外也会引发系统性能的下降。
当然这个不是一个有难度的问题,我想如果要解决也比较容易,session的使用往往都是跟着用户,对于某个用户最好是只有一个session变量跟着他,可以做一个比较复杂的对象,这样在用户退出的时候直接清空固定的一个session对象就可以解决了。
这个问题考虑得还不是很全面,不知道诸位看官有没有对于session使用一整套解决方案?恩,继续寻找答案中~~~
文章来源:
http://blog.donews.com/crabhn/archive/2006/02/18/730954.aspx
从来都有削发铭志(不知道这个词写对了没有,望指正),今天我来一个发blog铭志。
标题明确的表示了我的意思。
程序员的身边有很多的诱惑和打扰,比如创业浪潮、业务等等。也许是做程序太容易满足自己的成就感的需求,小小一个bug的找到,一个新功能的实现都能让程序员得到满足,然后就觉得自己什么都能做,什么都去试试,反而在各种新鲜的事物中迷失了自己本来的方向--技术。技术是程序员的立身之本,当然这个世界技术不能解决一切,但是程序员没有了技术,那真的就失去了一切。这个当然是个人的看法,也许你会觉得“程序员没有了技术就得到了一切”:)
而我很早就感觉到自己的技术太缺少研磨了,现在感觉什么都知道一点,但是深度不够,有时候同事问的基本的技术问题竟然发现完全没有注意过。真到到了应该好好深入技术的时候了,所以今年我决定放弃其他各个方面的爱好,专心把自己的注意力集中到技术这个点上来,突破自己的瓶颈,把自己的技术能力和设计能力真正地提高到一个高度。
所以在这里我列下今年应该做的事情,把它公布到blog中来也有一个督促自己来认真履行的作用:
1、开发语言:java、python要真正精通,熟悉各种特性(这个很基本,但是写了这么多年的java,连精通都成不上,真的比较丢脸*^_^*)
2、框架:Spring+Struts+Hibernate、django全面掌握,熟练使用。特别是Spring要好好体会其中的设计。
3、设计能力:掌握设计模式和企业开发中的设计模式,阅读掌握《设计模式》、《with out EJB》、《POEAA》
4、争取每天写一篇blog记录自己的学习心得,把自己的知识管理起来,并提高自己的表达能力。
文章来源:
http://blog.donews.com/crabhn/archive/2006/02/16/729589.aspx
今天到处都是玫瑰的影子,满街都是情侣。
孤单地走在街上有些不符合气氛。
所以,回来上网,问句:“你情人节快乐吗?”
说到情人节,我倒想起了baidu的传情来了,也没有具体用过这个冬冬,不过倒是一个代替玫瑰的好东西^_^
文章来源:
http://blog.donews.com/crabhn/archive/2006/02/14/726585.aspx