- 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)?{
-
????????
- ????????LoginForm?loginForm?=?(LoginForm)?form;
-
????????boolean?flag=false;
-
????????
-
????????if(bo.login(loginForm.getLoginID(),?loginForm.getLoginPwd())){
-
????????????flag=true;
- ????????}
-
????????
-
????????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:
- ????????</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>
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|