|
|
|
|
|
|
|
我的第一个兼职(个人体会)
|
2003年01月24日 19:22
|
|
|
|
我13号开始放假,接了一个小活,比较简单,就是给一个网站做一个网上商店和一个论坛。感觉网络上的资料比较多,再加上以前学习的时候也做过网上书店之类的小东西,所以就应承下来,估计3个星期能完成。 我开发时数据库采用Mysql,服务器采用Tomcat4.0.6,采用jsp/servlet+javabean,结构来写,开始的10天写得都很顺利。处理一些跟数据库相关的操作。可是到后来觉得对自己所写的东西很不满意,总是想找一些更好的方法来解决,一直不能静下来,渐渐地意识到自己的能力还是不够,尤其是对购销存的业务很不熟悉。很多时间都花在这上面,以至于最后都想放弃。不过我还是坚持下来了。 我在做的过程中发现很多问题。也跟我的一些同学讨论过。其中之一就是对于使用javabean来处理对数据库的数据的增删改查,这个bean里的数据有两个来源,一个是从页面得到的参数,一个是从数据库中查寻出来的数据。他们同时存在于bean中,我觉得有一点问题。我也看过其他人的代码,很多人处理的方式都不相同,但是没有发现一个比较好的。思路比较清晰的。按照一些人的说法,一个对象,或者说类也好,方法也好,功能尽量单一。一个方法解决一个问题。但是现在看来,我的javabean责任太重大了,不仅要处理进来的参数,对他们进行判断,看看满不满足要求,然后放进数据库中,还要处理从数据库中出来的数据,对他们处理后再在页面显示。他们太累了。我不忍心。 我再想如果能够写出这样的一个类就好了,专门处理从页面得到的数据,处理完了,然后再跟数据库交互,而从数据库中出来的数据也经由一个bean也好,servlet也好处理以后再交给页面显示。这样条理也许会清晰一些。 关于时间的处理,自己以前接触的少,现在做起实际的东西,好像什么都跟时间有关了,真受不了。最让我难以接受的是,做着做着,我发现随着时间问题,原来商品的价格是会变的。需求里可没这个东西。感觉javadoc在时间问题上讲的还是比较细的,又得学习新的东西。 最后想说的是关于中文显示的问题,我一直想找一个比较好的方法来解决,可是还是不理想,我一直以为banq前辈介绍的方法管用,就是在数据库的连接后面加上encode="iso8859_1"之类的,可是实际上还是出问题,我都傻眼了,同样的处理方式,这个地方没问题,哪个地方就有问题,郁闷啊,真想找个高手问问。也曾下了狠心想把这个问题彻底搞懂,下了一堆文档,还是看不懂。呵呵,没办法。 快过年了,少罗嗦几句,祝大家快乐,我在这里学到不少东西,向banq前辈和大伙表示感谢!woshiben 2003.1.24, heihei,我已经买到回家的票了!
|
|
|
|
|
|
Re: 我的第一个兼职(个人体会)
|
2003年01月26日 17:58
|
|
|
祝你旅途愉快。
关于你说的"我再想如果能够写出这样的一个类就好了,专门处理从页面得到的数据,处理完了,然后再跟数据库交互,而从数据库中出来的数据也经由一个bean也好,servlet也好处理以后再交给页面显示。这样条理也许会清晰一些。" 其实EJB的Entity Bean就是你说的这样的类,下次你会开始理解J2EE了,其实EJB+JSP是网上商店最好的解决方案了
|
|
|
|
|
|
Re: 我的第一个兼职(个人体会)
|
2003年01月27日 09:40
|
|
|
用DAO模式来处理业务逻辑的实现, 比如你要有一个定单类OrderDeal,有一个方法order(); 然后在这个方法里面调用OrderDealDAO中的相应方法,实现SQL永久保存。 这里有一点,你的order方法肯定要接收参数,好了,OrderBean出现了 你的方法应该是public void order(OrderBean); 这个bean只有setter,getter方法和业务数据,它们从jsp而来。 这样你的结构就比较清楚了。
我仍然坚持只在必须用EJB的时候才用它。 中文显示在tomcat4.X下可以修改server/lib/中的一个类,然后在Mysql中加上encodingCharater,再在jsp页面中保持gbk编码就可以了。
|
|
|
|
|
|
Re: 我的第一个兼职(个人体会)
|
2003年01月28日 09:25
|
|
|
哈哈,可能我比较后知后觉,或者说反应迟钝吧,我现在终于体会到EJB 的用处了。至少有一点,免除了不同数据库服务器切换时要增加许多DAO类了,更重要的一点是有助于自动化生成程序原型。
|
|
|
|
|
|
Re: 我的第一个兼职(个人体会)
|
2003年01月28日 11:16
|
|
|
|
前几天再java研究组织看到过用过滤器来判定使用者encoding,然后用这个encoding来设置request的encoding,只看了看,没试过,不知道可不可以:)
|
|
|
|
|
|
Re: 我的第一个兼职(个人体会)
|
2003年01月28日 13:26
|
|
|
|
我们这有人就是用filter的,是在tomcat环境中
|
|
|
|
|
|
Re: 我的第一个兼职(个人体会)
|
2003年01月28日 13:30
|
|
|
<web-app> <filter> <filter-name>Set Character Encoding</filter-name> <filter-class>filters.SetCharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>gb2312</param-value> </init-param> </filter> <filter-mapping> <filter-name>Set Character Encoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <servlet>...</servlet> </web-app>
|
|
|
|
|
|
Re: 我的第一个兼职(个人体会)
|
2003年01月28日 13:32
|
|
|
《?xml version="1.0" encoding="UTF-8"?》 《!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"》 《web-app》 《filter》 《filter-name》Set Character Encoding《/filter-name》 《filter-class》filters.SetCharacterEncodingFilter《/filter-class》 《init-param》 《param-name》encoding《/param-name》 《param-value》gb2312《/param-value》 《/init-param》 《/filter》 《filter-mapping》 《filter-name》Set Character Encoding《/filter-name》 《url-pattern》/*《/url-pattern》 《/filter-mapping》 《servlet》... 《/servlet》 《/web-app》
|
|
|
|
|
|
Re: 我的第一个兼职(个人体会)
|
2003年02月12日 17:55
|
|
|
|
对于各位的回复,表示感谢,祝大家新的一年天天进步,一起努力!
|
|
|
|
|
|
Re: 我的第一个兼职(个人体会)
|
2003年02月21日 16:58
|
|
|
|
我也用了,是用Resin在SOlaris环境下,JSP页面中就不用加encoding 了,效果很好
|
|
|
|
|
|
Re: 我的第一个兼职(个人体会)
|
2003年03月10日 15:29
|
|
|
|
|
|
|
|
|
Re: 我的第一个兼职(个人体会)
|
2003年03月11日 11:08
|
|
|
|
说来惭愧,因为诸多原因,这个竟然没有做完,不过作为初学,我个人觉得还是长进很多。尤其是应该常到论坛里看看,真的可以学到不少东西。我自己马上要毕业了,工作还没定,又要做论文。烦啊,但是无论怎样,会努力的。像说的是:工作一定努力,论文一定抓紧,对你(java),我从未放弃!
|
|
|
|