说明
这个手册只是为初学者制作的环境配置和快速开发的一些基本方法为的是广大爱好者能快速上手少走我走过的弯路里面没有任何关于java模式和其他相关的说明本人水平有限也没有能力去讨论关于模式设计和开发细节的一些内容
建议
如果你还不清楚struts和hibernate的一些基本原理希望能先去了解一下这方面的相关内容
推荐
《Hibernate中文手册》作者认为要学Hibernate看这个就足够了里面几乎包括了所有的细节不过可能不太适合快速入门
地址_docs/v/reference/zh cn/html_single/
关于struts的资料就很多了这里推荐一个可以下载一些入门教程的网站
地址
强烈建议入门的朋友先了解一下基本的原理!否则本文章可能对你没有任何帮助
相关工具下载(注意版本)
mysql
eclipse
myeclipse
&nb sp;tomcat
安装
关于tomcat和mysql的安装就不多说了需要注意的是最好保证你的 jdk是的版本并配置好你的环境变量不然可能会遇到一些问题
把eclipse解开再去安装刚下载的myeclipse在安装的时候需要把路径指定到刚才解开的eclipse上由于myeclipse是个收费软件所以需要注册不过一般按照Chinese的习惯去google一个注册码就可以了:}
开发环境部署
好了现在保证你的mysql和tomcat服务能够正常启动myeclipse能够正常打开(如果不能可以去找一下相关的说明或者给作者留言)下面我们就要开始真正的开始部署一个传说中的tomcat+struts+hibernate+mysql结构的工程了!(faint!前言就写的我好累)
首先在myeclipse里新建一个工程在左边的Package Exporler面版里点右键选择new>project…
在跳出菜单里选择MyEclipse>JEE Projects>Web Project
点击next后进入如下画面
工程名为test
结束后点击Finish
好了如果成功的话你就会在 Package Exporler里看到一个新的test工程!现在我们先配置一下数据库方面的东西首先在你的mysql 里建立一个数据库webases再在里面新建一个表admin里面三个字段分别为idnamepassword其中id为自动取值的主键(mysql具体的操作可以自己找资料不是本文涉及范围)
再回到myeclipse 选中window>Open Perspective>Other…
可以看到现在跳出一个名为Select Perspective的菜单在里面选中MyEclipse Databases Exporler可以看到现在到了下面的页面
按以上图示输入相关字段后点击Finish便建立了一个数据库连接在新出现的JDBC for Mysql上点右键选择Open connection…确认用户名和密码正确后点OK如果一切顺利的话你会看到下面的画面
这说明你已经和数据库建立了正确的连接现在我们再回到window>Open Perspective >Other…里的MyEclipse也就是我们刚进来的时候看到的画面
右键点击你刚建立的工程 test并选择MyEclipse>Add struts Capabilities…在跳出的菜单里按照如下输入并确定
好了现在你已经为你的工程增加了struts接下来和上面一样在右键工程后选择MyEclipse >Add Hibernate Capabilities…一路确定下来为你的工程添加Hibernate(为方便起见我们在选择路径时把HibernateSessionFactoryjava放在了src/com下面其实最好建立个单独的目录如 src/com/hibernate)
为了更好的演示我们不建立通常的登陆页面而是建立个注册页面选择 src目录下的hibernatecfgxml文件照如下填写并保存这样hibernate就为你建立了数据库的连接池
下面我们再选择WebRoot/WEBINF/strutsconfigxml文件在画面中点击右键选择new >Form Action and JSP如下填写
再选择JSP选项如下
最后选择Finish
再新建一个一个successjsp的页面
在刚才struts configxml文件里右键选择addAdmin选择Properties在菜单里选择Forwords再点add如下图填写
最后你的strutsconfigxml就是下面这个样子
下面我们转到hibernate换到刚才我们建立数据库的页面选择你的admin的表点右键选择Create Hibernate Mapping选择好打包路径后选择Finish如图
在你刚才选择的路径下(我为方便是src/com/yourcompanyname/)下新建立的文件 AdminDAOFactoryjava文件并输入以下内容
package comyourcompanyname;
import javautilIterator;
import orghibernateHibernateException;
import orghibernateQuery;
import orghibernateSession;
import orghibernateTransaction;
import comhibernateSessionFactory;
public class AdminDAOFactory {
Session session;
Transaction tx;
public void add(Admin admin) throws HibernateException {
/**
* Creation Date:
* TODO Add a new admin user
* @param An object of Admin
* @return void
* @author Coder Guo
*/
try {
session = SessionFactorycurrentSession();
tx = sessionbeginTransaction();
//Add a new admin
sessionsave(admin);
mit ();
}catch(HibernateException e){
throw e;
}finally{
if (tx!=null) {
txrollback();
}
SessionFactorycloseSession();
}
}
}
再打开comyourcompanystrutsaction下的AddAdminActionjava添加(其中如果有错误选中好按ctrl+shift+o自动添加包)
public class AddAdminAction extends Action {
// Instance Variables
// Methods
/**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
* @author Coder Guo
*/
public ActionForward execute(
ActionMapping mapping
ActionForm form
HttpServletRequest request
HttpServletResponse response) {
AddAdminForm addAdminForm = (AddAdminForm) form;
// TODO Add a new admin
Admin admin = new Admin();
adminsetName(addAdminFormgetName ());
adminsetPassword(addAdminFormgetPassword ());
AdminDAOFactory adminDAO = new AdminDAOFactory ();
adminDAOadd(admin);
return mappingfindForward(success);
}
}
再打开comyourcompanynamestrutsform下的AddAdminFormjava修改(如果有错误按照上面说的方法导入包)
public ActionErrors validate(
ActionMapping mapping
HttpServletRequest request) {
// TODO Autogenerated method stub
ActionErrors errors = new ActionErrors();
Session session = SessionFactorycurrentSession();
Transaction tx = sessionbeginTransaction ();
Query query = sessioncreateQuery(select admin from Admin as admin where adminname = + thisname + );
Iterator it = erate ();
if (ithasNext()){
errorsadd (addAdminerrnamenew ActionMessage(formaddAdminerrname));
}
mit();
SessionFactorycloseSession ();
return errors;
}
public void reset(ActionMapping mapping HttpServletRequest request) {
// TODO Autogenerated method stub
thisname=null;
thispassword=null;
}
再打开com\yourcompanyname\struts下的ApplicationResourceproperties在这里面添加错误信息
FormaddAdminerrname=err
最后(汗好累啊_!)打开addAdminjsp修改成如下
<%@ page contentType=text/html; charset=utf%>
<%@ page language=java%>
<%@ taglib uri=bean prefix=bean%>
<%@ taglib uri=html prefix=html%>
<script language = javascript>
<!
function check(){
if (loginFormuserNamevalue == || loginFormpasswordvalue == ){
alert(请输入完整的信息!);
loginFormuserNamefocus();
return false;
}
}
//>
</script>
<!DOCTYPE HTML PUBLIC //WC//DTD HTML Transitional//EN>
<html:html>
<head>
<html:base />
<title>loginjsp</title>
<link rel=stylesheet type=text/css>
<meta httpequiv=pragma content=no cache>
<meta httpequiv=cachecontrol content=no cache>
<meta httpequiv=expires content=>
<meta httpequiv=keywords content=keywordkeywordkeyword>
<meta http equiv=description content=This is my page>
</head>
<body>
<center>
<p> </p>
<p> </p>
<table width= border= cellpadding= cellspacing=>
<html:form action=/addAdmin focus=name method=GET>
<tr align=center valign=middle>
<td colspan= class=typt_normal>新增管理员</td>
</tr>
<tr>
<td width= align=center valign=middle class=typt_normal>名称 </td>
<td width= align=left><html:text property=name styleClass=text_s/><html:errors property=addAdminerrname/></td>
</tr>
<tr>
<td width= align=center valign=middle class=typt_normal>密码 </td>
<td width= align=left><html:password property=password styleClass=text_s/></td>
</tr>
<tr>
<td colspan= align=center valign=middle><html:submit value=提交 onclick=return check ();/><html:reset value=重置></html:reset></td>
</tr>
</html:form>
</table>
</center>
</body>
</html:html>
其中可以看到如何在struts的标签中使用javascript的方法
配置好myeclipse于tomcat的连接在window>Preferences做如下设定
在项目文件点右键->myeclipse->Add and remove project deployment如下图
好了我们的配置工作基本结束了在myeclipse上开启tomcat服务