选择显示字体大小

实战留言簿(ejb,struts应用篇)

前言

  在上一篇 [j2ee] 实战开发ejb教程 里,我们学写了一个cmp的实体bean和sessionbean,sessionbean通过模型来操作实体bean,基于strutsjsp framework 在javabean中访问ejb,得出最终结果在jsp视图层中显示,虽然简单,但这也是基本的流程!在完成这篇教程之后,我就在思量如何再写一个完整的应用,恰好论坛中的深空小妖写了一个基于php的留言本!于是我就想到也写一篇留言本的文章吧,留言本虽然很简单,但它却是一个基础,增加管理回复等就相当于一个小型的bbs,稍做修改也可以将它变成一个文章发布系统!在我考虑之下,我决定写一个基于j2ee的留言本!用于此次教学的就是留言本的tech版,它相当简单,只具有留言和查看的功能!但是对初学者来说这却是最好的入门捷径!

广告

  在此tech版留言本的基础上我二次开发了它的商业版(数据库采用oracle9i)!在完成我的tech版后,大家可以根据我下面的提示来定制自己的商业版!
  1。商业版支持国际化功能,根据客户端ie语言自动切换相对应的语言信息资源,采用utf-8的编码!(利用struts的国际化功能)
  2。完整的后台管理功能,以管理员登陆留言本后,可对留言进行删除,编辑,回复(增加管理员权限的表,和实体bean)
  3。log写日志功能(利用log4j)
  4。数据库转为xml文件导入导出(看看jdom,会有不小的收获)
  5。上传下载功能(jspsmartupload.jar)
  6。留言查找功能(我的方法是再写出一个搜索的sessionbean,当然也可以看看lucene,一个开源的搜索引擎包)
  7。个性化设置(能完成以上的相信这个就不成问题)
  本人已经注册了j2eestudio.com的域名,希望能与志同道合的朋友共同合作,请pm我!ps又ps,如果有独立服务器的朋友帮忙最好!

相关知识

  本篇立足于初学者,因此对一些相关概念的东西我会提一下,更具体的当然希望你在完成本教程后去google上搜一下,这样印像更深刻!
  j2ee:适用于创建服务器应用程序和服务的java 2平台企业版(java 2 platform enterprise edition,j2ee
  ejb:商业组件的部署环境,在ejb server中提供了分布式计算环境中组件需要的所有服务,例如组件生命周期的管理、数据库连接的管理、分布式事务的支持、组件的命名服务等等。
  weblogic:bea公司出品的j2ee平台应用服务器,全面支持j2ee标准,从6.0版开始率先支持ejb2.0规范,内置jdk为1.3.1版,虽然目前该产品已经出到了8.1,但我仍对小巧的6.1sp2版本情有独钟,基本上能满足我学习和工作的需要,不过它的软肋就是jdk的版本太低,虽然也可以自己将jdk的版本换成jdk1.4.x,但是或多或少会出现些问题,也因由此,我的struts一直使用的是1.1-b1版,因为在此后的正式版无法在weblogic6.1上运行!不得不说是遗憾!!
  strutsstruts是采用java servlet/javaserver pages技术,开发web应用程序的开放源码的framework。struts是apache.org开源组织jakarta项目的一部分,在论坛中见到有人说它最终会被淘汰,其实鼓吹这种论点的早就见到过,struts也许的确不算是最高效的jsp framework,学起来有些困难,但当你真正掌握,你才会发现它的灵活与强大,也甚至有人说sun的jsp幸亏有struts这颗救命稻草,不然早就完了一说呢,不管怎么说,struts已经有了相当广泛的商业应用,而且网上的资料也很多,希望大家认真学学,大家可以到官方网站上看看
http://jakarta.apache.org/struts
题外话:struts1.1允许多个控制文件,不像我们原来为了写一个控制文件经常check in/out啦!可我选择weblogic6.1就没法用struts1.1郁闷呀!
  jsp:这个相信不用我说了吧,它可以像aspphp那种写法,将控制语句代码夹杂在html代码中间,相对于比较复杂的jsp页面,比如jive论坛的jsp页面吧,你就会明白,看了就会犯晕,所以我们完全可以把控制语句交给struts来处理,这样我们在页面中看到的就是干净“代码”,更利于团体合作,发挥各人所才,程序员可以专心致志的写代码,而网页设计师则可以设计漂亮的页面!

相关工具


mysql今次学习版的数据库就用它了。
weblogic6.1sp2:我已经介绍n次了吧,呵呵,相关配置看看我以前的贴子。
jbuilder7:ejbjsp全在这里搞定啦!
struts1.1-b1:去下载吧,不过我会提供一个经我修改支持中文的struts.jar
struts console:struts-config.xml的好工具,真是太方便了
mysql.jar:提供连接mysql的jdbc驱动
平台搭建请参看我以前的相关贴子,一些工具包我会试着找空间下载的,ok,今天暂到这里,明天我们进入代码实战篇!有什么问题请pm我

建库篇



建立后台数据库
  在最初的时候,我并没有打算用到数据库,我以xml为数据源,但遇到点麻烦,当初为了支持国际化的留言,必须使xml的编码使用utf-8,但是在struts中操作xml文件时,始终是以ansi写入的,最后我引入了jdom来操作写入xml文件,可以直接指定xml的编码格式获得成功,而且jdom操作xml真的是相当方便,大家可以到它的官方网站去看看http://www.jdom.org。在完成之后,以我对xml有限的理解,我认为它作为数据信息描述、交换、存诸是强项,但真的把它用作数据服务在性能上也许是瓶颈,因为它在内存中不断增大,虽说手头上的资料有xml数据服务器一说,但没有进一步作研究,所以我改换mysql做为数据库服务。mysql真的很小巧好用,不过我不知道如何在mysql里更改数据库的编码,在oracle里是可以直接指定数据库的默认编码,也就是我存入的utf-8编码格式的信息在oracle里可以正常显示,但在mysql里就做不到了,它们都是“乱码",而且取出来也是乱码,我只有在数据库连接池里转码一次,使取出数据的都是正常的!不过此次tech版不涉及国际化功能,不必伤此脑筋,让我们看看数据库表的设计吧!

  像上次一样,我使用navicat工具在mysql中建立了guestbook的数据库,并且建立了留言所使用的book表.



接下来就是设计book表中的字段,下面是基本的信息,大家也可以根据自己的需要自行修改
id(留言自动编号,主键)
name(留言姓名,varchar,不允许为空)
email(留言者电邮,varchar,允许为空)
qq(留言者qq号码,varchar,允许为空)
posttime(留言提交时间,datetime,不允许为空)
comment(留言内容,varchar,不允许为空)
ip(留言者ip,varchar,不允许为空)


下面是我用navicat导出的sql脚本!

/*
mysql backup
source host: localhost
source server version: 4.0.12-nt
source database: guestbook
date: 2003-09-14 15:09:17
*/

use guestbook ;
#----------------------------
# table structure for book
#----------------------------
create table book (
id int(11) not null auto_increment,
name varchar(100) not null,
email varchar(50),
qq varchar(50),
posttime datetime not null default


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons