读书人

图解MyEclipse配备struts+hibernate+s

发布时间: 2012-10-14 14:55:07 作者: rapoo

图解MyEclipse配置struts+hibernate+spring+FreeMarker



右键单击左侧的空白区域 ,点击 new 按钮

图解MyEclipse配备struts+hibernate+spring+FreeMarker

单击“configure database driver”来配置数据库的驱动,你必须有mysql的jdbc驱动 ,没有的到mysql的官方网站上下载。

图解MyEclipse配备struts+hibernate+spring+FreeMarker

测试数据库配置是否成功。




1. ? ? 新建一个myeclipse的web工程


图解MyEclipse配备struts+hibernate+spring+FreeMarker

2. ? ? 引入Spring包
右键工程名

图解MyEclipse配备struts+hibernate+spring+FreeMarker


图解MyEclipse配备struts+hibernate+spring+FreeMarker


注意:这里为了省得以后再添加spring的相关包,所以一次性的选中了所有的包。选中
Copy选项,它会把这些包拷贝到/WebRoot/WEB-INF/lib目录下,方便以后的实际部署。
3. ? ? 添加hibernate包

图解MyEclipse配备struts+hibernate+spring+FreeMarker

系统会检测到该工程已经添加了Spring包,选择使用Spring的配置文件

图解MyEclipse配备struts+hibernate+spring+FreeMarker

点击 next

图解MyEclipse配备struts+hibernate+spring+FreeMarker

点击 next

图解MyEclipse配备struts+hibernate+spring+FreeMarker

点击 next

图解MyEclipse配备struts+hibernate+spring+FreeMarker

最后点击Finish按钮即可。
4切换到database explore视图,右键 点击 user 表的“Hibrnate Reverse Engineering”

图解MyEclipse配备struts+hibernate+spring+FreeMarker

弹出如下窗口

图解MyEclipse配备struts+hibernate+spring+FreeMarker

点击 “next”

图解MyEclipse配备struts+hibernate+spring+FreeMarker

再单击finish
? ? 在包视图中 可以看到 src下多了一个名为vo的package以及该包下的四个文件

图解MyEclipse配备struts+hibernate+spring+FreeMarker

为了更加直观地显示分层,我另建了一个名为dao的package,并把UserDAO.java移到dao中

图解MyEclipse配备struts+hibernate+spring+FreeMarker

同时注意在applicationContext.xml中把对UserDAO的引用部分也作相应修改。
5. ? ? 建立业务逻辑层代码
新建一个名为service的包,再在里面建立一个Service类,代码如下
package service;

import java.util.List;

import vo.User;
import dao.UserDAO;

public class Service {

? ? private UserDAO userDao;

? ? public UserDAO getUserDao() {
? ? ? ? return userDao;
? ? }

? ? public void setUserDao(UserDAO userDao) {
? ? ? ? this.userDao = userDao;
? ? }

? ? public boolean isValid(User user) {//判断用户是否合法

? ? ? ? List result = userDao.findByExample(user);

? ? ? ? if (result.size() > 0)
? ? ? ? ? ? ? return true;
? ? ? ? else
? ? ? ? ? ? ? return false;

? ? }

}
同时在applicationContext.xml中添加如下配置
<bean id="service" singleton="false"></bean>
? ? ? ? <property name="userDao"><br>? ? ? ? ? ? ? <ref bean="userDao"></ref><br>? ? ? ? </property>
? ?
6.配置UI层
添加struts包,方法同添加spring一样

图解MyEclipse配备struts+hibernate+spring+FreeMarker

配置struts-config.xml文件,在空白区域右键单击 new 一个 action ,actionForm ,jsp


图解MyEclipse配备struts+hibernate+spring+FreeMarker


图解MyEclipse配备struts+hibernate+spring+FreeMarker


图解MyEclipse配备struts+hibernate+spring+FreeMarker

下一步
对forward作设置,增加succeed转到welcome.jsp,fail转到login.jsp

在WebRoot目录下建立一个welcome.jsp文件,显示用户登录成功后的欢迎信息。
6. ? ? 把struts和spring连接起来
6.1修改struts-config.xml注意红色字体部分
<action></action>
? ? attribute="loginForm"
? ? input="/login.jsp"
? ? name="loginForm"
? ? path="/login"
? ? scope="request"
? ? type="org.springframework.web.struts.DelegatingActionProxy">
? ? <forward name="fail" path="/login.jsp"></forward>
? ? <forward name="succeed" path="/welcome.jsp"></forward>


再在strut-config.xml中添加如下代码
<plug-in classname="org.springframework.web.struts.ContextLoaderPlugIn"></plug-in>
<set-property property="contextConfigLocation" value="/WEB-INF/classes/applicationContext.xml"></set-property>
>
6.2修改applicationContext,增加以下内容
<bean name="/login"></bean>
? ? ? ? singleton="false">
? ? ? ? <property name="service"><br>? ? ? ? ? ? ? <ref bean="service"></ref><br>? ? ? ? </property>

6.3修改LoginAction.java部分代码,增加一个service变量,以及其 get/set方法(主要用于Spring IOC)。代码如下:
/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package web.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import web.form.LoginForm;
import service.Service;
import vo.User;

/**
* MyEclipse Struts Creation date: 09-27-2006
*
* XDoclet definition:
*
* @struts.action path="/login" name="loginForm" input="/login.jsp"
* ? ? ? ? ? scope="request" validate="true"
* @struts.action-forward name="fail" path="/login.jsp"
* @struts.action-forward name="succeed" path="/welcome.jsp"
*/
public class LoginAction extends Action {
? ? /*
? ? * Generated Methods
? ? */

? ? /**
? ? * Method execute
? ? *
? ? * @param mapping
? ? * @param form
? ? * @param request
? ? * @param response
? ? * @return ActionForward
? ? */

? ? private Service service;

? ? public void setService(Service service) {
? ? ? ? this.service = service;
? ? }

? ? public Service getService() {
? ? ? ? return service;
? ? }

? ? public ActionForward execute(ActionMapping mapping, ActionForm form,
? ? ? ? ? ? ? HttpServletRequest request, HttpServletResponse response) {
? ? ? ? LoginForm loginForm = (LoginForm) form;// TODO Auto-generated method
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? // stub
? ? ? ? User user = new User();
? ? ? ? user.setPassword(loginForm.getPassword());
? ? ? ? user.setUsername(loginForm.getUserName());
? ? ? ? if (service.isValid(user))
? ? ? ? ? ? ? return mapping.findForward("succeed");
? ? ? ? else
? ? ? ? ? ? ? return mapping.findForward("fail");
? ? }
}
至此一个简单的登录已经做成。剩下的工作就是打包并发布你的应用了。

读书人网 >Eclipse开发

热点推荐