注意:这里为了省得以后再添加spring的相关包,所以一次性的选中了所有的包。选中
Copy选项,它会把这些包拷贝到/WebRoot/WEB-INF/lib目录下,方便以后的实际部署。
3.添加hibernate包
系统会检测到该工程已经添加了Spring包,选择使用Spring的配置文件
点击 next
点击 next
点击 next
最后点击Finish按钮即可。
4切换到database explore视图,右键 点击 user 表的“Hibrnate Reverse Engineering”
弹出如下窗口
点击 “next”
再单击finish
在包视图中 可以看到 src下多了一个名为vo的package以及该包下的四个文件
为了更加直观地显示分层,我另建了一个名为dao的package,并把UserDAO.java移到dao中
同时注意在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" class="service.Service" singleton="false">
<property name="userDao">
<ref bean="userDao" />
</property>
</bean>
6.配置UI层
添加struts包,方法同添加spring一样
配置struts-config.xml文件,在空白区域右键单击 new 一个 action ,actionForm ,jsp
下一步
对forward作设置,增加succeed转到welcome.jsp,fail转到login.jsp
在WebRoot目录下建立一个welcome.jsp文件,显示用户登录成功后的欢迎信息。
6. 把struts和spring连接起来
6.1修改struts-config.xml注意红色字体部分
<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 name="succeed" path="/welcome.jsp" /> </action>
再在strut-config.xml中添加如下代码
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"> <set-property property="contextConfigLocation" value="/WEB-INF/classes/applicationContext.xml" /> </plug-in>> 6.2修改applicationContext,增加以下内容 <bean name="/login" class="web.action.LoginAction" singleton="false"> <property name="service"> <ref bean="service" /> </property> </bean>
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"); } }
至此一个简单的登录已经做成。剩下的工作就是打包并发布你的应用了。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1549145