关于seam是什么,以及优缺点网络上有很多讲解,我这里是从学习及使用seam的角度说起。1:前期准备(只适用于windowsXP环境下)eclipse:下载地址是,下载的版本是eclipse-jee-ganymede-SR1-win32.zip。jbossAplicationServer:下载地址是,下载的版本是5.0.0.GA,下载的文件是jboss-5.0.0.GA-jdk6.zip。jbossseam:下载地址是,下载的版本是2.1.1.GA,下载的文件是jboss-seam-2.1.1.GA.zip。【20091001】jboss-seam-2.2.0.GAjbosstools:下载的地址是,下载的版本是3.0.0.CR1,下载的文件是JBossTools-3.0.0.CR1-R200812191611-ALL-win32.zip。mySQL:下载的地址是,下载的版本是5.1.30,下载的文件是mysql-noinstall-5.1.30-win32.zip。为了使用mySql还下载了MySQLGUITools和MySQLConnectorsoMySQLGUITools的下载地址是,下载的版本是5.0-r15,下载的文件是mysql-gui-tools-noinstall-5.0-r15-win32.zip。oMySQLConnectors的下载地址是,下载的版本是5.1.7,下载的文件是mysql-connector-java-5.1.7.zip。2:环境的配置这里说的环境是指在windowsXP下,用eclipse开发seam的环境。eclipse的seam插件配置,配置插件的最简单办法是直接把下载的内容拷贝到eclipse的目录下,但这样做的缺点是如果你所使用的插件比较多的话,不利于日后的插件维护,所以建议按照如下方法来安装eclipse的插件o在C:\eclipse下创建一个名叫links的文件夹(名字必须叫links)o在C:\eclipse下创建一个名叫otherPlugins的文件夹(名字可以任意)o把上面的JBossTools-3.0.0.CR1-R200812191611-ALL-win32.zip文件,借压缩到JBossTools-3.0.0.CR1-R200812191611-ALL-win32文件夹下后,拷贝到otherPlugins下o在C:\eclipse\links下创建一个jbosstool.txt文件(名字可以任意)在这个jbosstool.txt文件里添加如下内容:path=C:/eclipse/otherPlugins/JBossTools-3.0.0.CR1-R200812191611-ALL-win32,JBossSeam从头学到脚之1---事前准备及配置JBossSeam从头学到脚之2---创建工程1:创建一个seam工程,工程类型选择如下图即path后面记入的是jbosstool插件的路径。o这里想强调的是JBossTools-3.0.0.CR1-R200812191611-ALL-win32文件夹下必须是eclipse文件夹才行,结构请参照下面的示意图。C:\eclipse||—links||-jbosstool.txt||-otherPlugins||-JBossTools-3.0.0.CR1-R200812191611-ALL-win32||-eclipse※“C:\eclipse”是我的eclipse的主目录设置好jbosstools插件后,运行eclipse就可以开始了。END2:点击“Next”按钮,进入下一步3:在“ProjectName”里输入,“helloworld”设置“TargetRuntime”,点击“New”按钮4:点击“Next”按钮5:点击“Finish”按钮。然后开始设置“TargetServer”,同样点击“New”按钮6:点击“Finish”按钮,结束设定。最后“Configuration”中选择“DynamicWebProjectwithSeam2.1(technologypreview)”。最终的画面如下图所示7:点击“Next”8:点击“Next”9:点击“Next”10:这里要配置“SeamRuntime”,点击“Add”按钮,并作如下选择11:设置好后,点击“Finish”按钮。“Deployas”,我们选择“EAR”。接下来设置数据库,这里我是用的是mySQL首先,在“DatabaseType”里选择“MySQL5(InnoDB)”然后,在“Connectionprofile”中,点击“New”按钮,来设置数据库的连接配置。第一个画面如下选择:12:点击“Next”按钮13:点击新建的按钮后,出现下图,这里选择“5.1”。14:然后点击“JarList”,并正确选择mySQL的类库15:然后点击“OK”按钮16:把数据库名字,改成自己设置好的名字,这里我设置的是“studyseamdb”,如下图所示17:如果没问题,点击“TestConnection”按钮,我们会得到下面的成功画面18:没问题的话,点击“Finish”按钮,完成配置。在下面的画面,继续点击“Finish”按钮来完成配置19:大致的界面如下图所示20:如果有java错误的话,把所有工程都重新编译一遍。我这里最后还有一个错误没有清除掉,如下图21:启动jboss服务,如下图22:启动好后,如果一切正常,在浏览器地址栏中输入,可以得到以下画面ENDJBossSeam从头学到脚之3---支持多国语言(utf8)时遇到的问题及解决办法Q1:如果在home.xhtml里面输入了中文,或者日文,会发现页面将会出错?A1:解决办法,在eclipse里用文本方式打开文件,然后设置该文件的encoding为utf-8,这样就不会出错了。Q2:如何让提交的多国语言内容能够正常显示在页面上?A2:修改jboss的server.xml文件,我的jboss版本是5.0.0,启动的是default模式,该文件就在jboss-5.0.0.GA\server\default\deploy\jbossweb.sar\server.xml,打开server.xml后,找到port=8080的Connector部分,需要添加上URIEncoding=UTF-8。Q3:mysql如何支持多国语言?A3:这里我是用的是图形工具,要把charset设置成utf8。如果是用sql语句创建表,就要加上CHARACTERSETutf8COLLATEutf8_general_ci。JBossSeam从头学到脚之4---如何支持国际化设置“如何支持国际化设置”这个标题不知道合适不合适,姑且这么叫吧。好多网站都提供了语言的选择,如google,觉得比较人性化,就在seam中寻找了一下相关课题,学习了一下。具体实现方法如下(使用的工程是“JBossSeam从头学到脚之2---创建工程”中的helloworld工程):1:把messages_en.properties文件复制一下,把复制的副本改个名字叫messages_zh_CN.properties,这是为了实现中文,这个文件在helloworld/src下面。2:在messages_zh_CN.properties文件里面添加一个property,Name是ChangeLanguage,对应的value是“多国语言设置”;3:在messages_en.properties文件里面添加一个property,Name是ChangeLanguage,对应的value是“ChangeLanguage”;4:修改faces-config.xml文件,修改后的内容如下Xml代码1.?xmlversion=1.0encoding=UTF-8?2.3.faces-config4.xmlns=:xsi=:schemaLocation=://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd7.version=1.28.application9.view-handlercom.sun.facelets.FaceletViewHandler/view-handler10.locale-config11.default-localeen/default-locale12.supported-localeen/supported-locale13.supported-localezh_CN/supported-locale14./locale-config15./application16.17./faces-config5:我把这个功能加到login.xhtml文件中,在这个文件的form里,追加如下内容:Xhtml代码1.……2.……3.xmlns:f=:h=……6.……7.f:loadBundlebasename=messagesvar=msgs/8.h:selectOneMenuvalue=#{localeSelector.localeString}9.f:selectItemsvalue=#{localeSelector.supportedLocales}/10./h:selectOneMenu11.h:commandButtonaction=#{localeSelector.select}value=#{msgs['ChangeLanguage']}/12.……13.……---updateon2009/01/14#{msgs['ChangeLanguage']}中的msgs是前面定义好的变量,这里也可以不用事先定义,而直接用默认的messages也可以,即#{messages['ChangeLanguage']}。6:然后启动jbossserver,访问地址是,具体图示如下:ENDJBossSeam从头学到脚之5---eclipse中,registration例子的实现文章分类:Java编程学习的最好途径还是多看例子,从中吸取知识点。registration是seam官方的例子,功能比较简单,但可以大致了解一下seam的工作原理。该例子是在seam路径下的“~~~\examples\registration”下面的步骤是让这个例子,是在我的开发环境(eclipse+jbosstools)中布置成功(环境的详细说明可以看我前面的文章)。具体步骤如下:1:在eclipse里,新建一个“SeamWebProject”,project名称是registra