- DAo层:
- import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
- import org.springframework.orm.hibernate3.*;
- public class UserDao extends HibernateDaoSupport {
- public User queryUserByID(String uid){
- User user=null;
- HibernateTemplate template=this.getHibernateTemplate();
- user=(User)template.get(User.class, uid);
- return user;
- }
- }
- bo层:
- IUser.java:
- public interface IUserBO {
- public boolean login(String id,String pwd);
- }
- UserBo.java:
- public class UserBo implements IUserBO {
- private UserDao dao=null;
- private User loginUser=null;
- private String msg="";
- public void setDao(UserDao dao) {
- this.dao = dao;
- }
- public boolean login(String id,String pwd){
- boolean rtn=false;
- User temp= dao.queryUserByID(id);
- if(temp!=null){
- if(temp.getUserPwd().equals(pwd)){
- this.setLoginUser(temp);
- this.msg="登陆成功!!!";
- rtn=true;
- }else{
- this.msg="密码不正确!!!";
- }
- }else{
- this.msg="未找到该用户!!!";
- }
- return rtn;
- }
- public User getLoginUser() {
- return loginUser;
- }
- private void setLoginUser(User user) {
- this.loginUser=new User();
- loginUser.setUserID(user.getUserID());
- loginUser.setUserName(user.getUserName());
- loginUser.setUserPwd(user.getUserPwd());
- }
- public String getMsg() {
- return msg;
- }
- }
- 测试bo:
- public class Test {
- public static void main(String[] args) {
- ApplicationContext ctx=new FileSystemXmlApplicationContext ("/Webroot/WEB-INF/beans.xml");
- TestDao dao=(TestDao) ctx.getBean("testdao");
- List list=dao.query();
- for(Object obj :list){
- Book temp=(Book)obj;
- System.out.println(temp.getBookName()+":");
- Set set= temp.getAuthorset();
- for(Object child:set){
- Author childnode=(Author)child;
- System.out.println(childnode.getAuthorName());
- }
- }
- }
- }
- model层 我就省略了
- util层:使用aop方法后通知的代理机制
- SafeLogger.java:
- public class SafeLogger implements AfterReturningAdvice {
- public void afterReturning(Object result, Method method, Object[] args, Object target) throws Throwable {
- String methodName=method.getName();
- if(methodName.equals("login")){
- boolean flag= Boolean.parseBoolean(result.toString());
- if(flag){
- String uid= args[0].toString();
- Logger logger=Logger.getRootLogger();
- logger.warn("用户"+uid+"已登陆");
- }
- }
- }
- }
- web层:
- ActionForm我省略了没什么可说的
- Action:
- public class LoginAction extends Action {
- private IUserBO bo;
- public void setBo(IUserBO bo) {
- this.bo = bo;
- }
- public ActionForward execute(ActionMapping mapping, ActionForm form,
- HttpServletRequest request, HttpServletResponse response) {
- //1
- LoginForm loginForm = (LoginForm) form;
- boolean flag=false;
- //2
- if(bo.login(loginForm.getLoginID(), loginForm.getLoginPwd())){
- flag=true;
- }
- //3
- if(flag){
- return mapping.findForward("success");
- }else{
- return mapping.findForward("failure");
- }
- }
- }
- struts-config.xml配置文件
- <struts-config>
- <data-sources />
- <form-beans >
- <form-bean name="loginForm" type="lee.web.LoginForm" />
- </form-beans>
- <global-exceptions />
- <global-forwards />
- <action-mappings >
- <action attribute="loginForm" input="/login.jsp" name="loginForm" path="/login" scope="request" type="org.springframework.web.struts.DelegatingActionProxy" validate="true" >
- <forward name="success" path="/main.jsp" />
- <forward name="failure" path="/error.jsp" />
- </action>
- </action-mappings>
- <message-resources parameter="lee.web.UsersResources" />
- <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
- <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
- </plug-in>
- <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
- <set-property property="contextConfigLocation" value="/WEB-INF/beans.xml" />
- </plug-in>
- </struts-config>
- 最后是spring的配置文件:
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
- <beans>
- <bean id="myds" class="org.apache.commons.dbcp.BasicDataSource">
- <property name="driverClassName">
- <value>com.microsoft.jdbc.sqlserver.sqlServerDriver</value>
- </property>
- <property name="url">
- <value>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Demo</value>
- </property>
- <property name="username">
- <value>sa</value>
- </property>
- <property name="password">
- <value>111</value>
- </property>
- </bean>
- <bean id="MySessionFactory"
- class="org.springframework.orm.hibernate3.LocalSessionfactorybean">
- <property name="dataSource">
- <ref bean="myds" />
- </property>
- <property name="hibernateProperties">
- <props>
- <prop key="hibernate.dialect">
- org.hibernate.dialect.sqlServerDialect
- </prop>
- </props>
- </property>
- <property name="mappingResources">
- <list>
- <value>ws/model/Users.xml</value>
- <value>ws/model/Books.xml</value>
- </list>
- </property>
- </bean>
- <bean id="userdao" class="ws.dao.UserDao" singleton="true" >
- <property name="sessionFactory" ref="MySessionFactory" />
- </bean>
- <!--
- <bean id="testdao" class="ws.dao.TestDao" singleton="true" >
- <property name="sessionFactory" ref="MySessionFactory" />
- </bean>
- -->
- <bean id="userbo" class="ws.bo.UserBo" singleton="true" >
- <property name="dao" ref="userdao" />
- </bean>
- <bean id="logger" class="ws.Util.SafeLogger" />
- <bean id="userboProxy" class="org.springframework.aop.framework.Proxyfactorybean" >
- <property name="proxyInterfaces" value="ws.bo.IUserBO" />
- <property name="target" ref="userbo" />
- <property name="interceptorNames">
- <list>
- <value>logger</value>
- </list>
- </property>
- </bean>
- <bean name="/login" class="ws.web.LoginAction" singleton="false" >
- <property name="bo" ref="userboProxy" />
- </bean>
- </beans>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。