Java的SSH网站

1、框架

  strusts2 + Hibernate + spring

2、图片

  Java的SSH网站

    图1-1 网站结构

  Java的SSH网站

    图1-2 java代码结构

3、源代码

3.1 UserAction.java

package com.xhu.action;



import java.util.HashMap;

import java.util.Map;



import javax.annotation.Resource;



import net.sf.json.JSONObject;

import net.sf.json.JsonConfig;



import org.apache.struts2.interceptor.SessionAware;



import org.springframework.context.annotation.Scope;

import org.springframework.stereotype.Component;



import com.opensymphony.xwork2.ActionSupport;



import com.xhu.DTO.PwdDto;

import com.xhu.model.Place;

import com.xhu.model.User;

import com.xhu.model.UserType;

import com.xhu.model.PageResultSet;

import com.xhu.service.PlaceManager;

import com.xhu.service.UserManager;

import com.xhu.util.MD5;



@Component("userAction")

@Scope("prototype")

public class UserAction extends ActionSupport implements SessionAware {

    /**

     * 

     */

    private static final long serialVersionUID = 2566144909692829328L;

    /**

     * 

     */

    private UserManager userManager;

    private User user;

    private String province;

    private String city;

    private String county;

    private PlaceManager placeManager;

    private final String NOCHOOSE = "--请选择--";

    private static final int pageSize = 10;



    private int currentPage; // 接受传递的页码参数

    private PageResultSet<User> pageResultSet;

    private String keyWord; // 分页查询时的关键字



    private Map<String, Object> session;



    private String prePage; // 登录前要访问的页面



    // 返回的字符串提示信息

    private String returnStr;

    private String userPwd;// 密码



    private String jsonStr;// 接受从视图传过来的json字符串

    private long userId; // 用户的流水号



    private int myPageSize = 5; // 从视图中传过来的pageSize, 默认值为5



    /**

     * 修改用户密码

     * 

     * @return

     */

    public String changePwd() {

        PwdDto pwdDto = null;

        int result = -1;

        try {

            JSONObject js = JSONObject.fromObject(jsonStr);

            pwdDto = (PwdDto) JSONObject.toBean((JSONObject) js, PwdDto.class);

        } catch (Exception e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

        if (pwdDto != null) {

            try {

                result = this.userManager.doChangePwd(pwdDto.getUserId(),

                        pwdDto.getOldPwd(), pwdDto.getNewPwd());

            } catch (Exception e) {

                // TODO Auto-generated catch block

                e.printStackTrace();

            }

        }

        Map<String, String> myMap = new HashMap<String, String>();

        myMap.put("changePwdResult", "" + result);

        JSONObject js = JSONObject.fromObject(myMap);

        this.returnStr = js.toString();

        return SUCCESS;

    }



    /**

     * 显示新增用户

     * 

     * @return

     */

    public String ajaxNewFixed() {

        try {

            this.pageResultSet = this.userManager.newAddFixed(myPageSize,

                    this.currentPage);

            Map<String, Object> myMap = new HashMap<String, Object>();

            myMap.put("currentPage", ""

                    + this.pageResultSet.getPageInfo().getCurrentPage());

            myMap.put("totalPage", ""

                    + this.pageResultSet.getPageInfo().getTotalPage());

            myMap.put("list", this.pageResultSet.getList());

            JsonConfig jsonConfig = new JsonConfig();

            jsonConfig.setExcludes(new String[] { "cars" });

            JSONObject js = JSONObject.fromObject(myMap, jsonConfig);

            returnStr = js.toString();

            // System.out.println("Info: userAction - ajaxFenyeQuery - returnStr:"

            // + returnStr);

        } catch (Exception e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

        return SUCCESS;

    }



    /**

     * 显示用户信息

     * 

     * @return

     */

    public String show() {

        try {

            this.user = this.userManager.getUserById(userId);

        } catch (Exception e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

        return SUCCESS;

    }



    public String personnalInfo() {



        String strUserId = (String) session.get("userId");

        long myUserId = Long.parseLong(strUserId);

        try {

            this.user = this.userManager.getUserById(myUserId);

        } catch (Exception e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }



        return SUCCESS;

    }



    public String getPrePage() {

        return prePage;

    }



    public void setPrePage(String prePage) {

        this.prePage = prePage;

    }



    public String getJsonStr() {

        return jsonStr;

    }



    public void setJsonStr(String jsonStr) {

        this.jsonStr = jsonStr;

    }



    private boolean json2User() {

        boolean b = false;

        // json 反序列化

        try {

            JSONObject js = JSONObject.fromObject(jsonStr);

            user = (User) JSONObject.toBean((JSONObject) js, User.class);

            b = true;

        } catch (Exception e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

        return b;

    }



    public String getUserPwd() {

        return userPwd;

    }



    public void setUserPwd(String userPwd) {

        this.userPwd = userPwd;

    }



    public String getReturnStr() {

        return returnStr;

    }



    public void setReturnStr(String returnStr) {

        this.returnStr = returnStr;

    }



    public UserAction() {

        System.out.println("userAction create....");

    }



    public UserManager getUserManager() {

        return userManager;

    }



    @Resource

    public void setUserManager(UserManager userManager) {

        this.userManager = userManager;

    }



    public User getUser() {

        return user;

    }



    public void setUser(User user) {

        this.user = user;

    }



    /**

     * 如果已经登录,则转入到添加用户界面 否则,转入到登录界面

     * 

     * @return

     */

    public String limit() {

        return SUCCESS;

    }



    /**

     * 添加用户信息

     * 

     * @return

     */

    public String add() {

        user.getUserTypeNo().setNo(2);

        int result = userManager.add(user);

        if (result == 1) {

            return SUCCESS;

        } else {

            return ERROR;

        }

    }



    public String ajaxAdd() {

        // --------提示信息

        json2User();

        UserType userType = new UserType();

        userType.setName("普通用户");

        userType.setNo(2);

        user.setUserTypeNo(userType);



        int result = -1;

        try {

            result = userManager.add(user);

        } catch (Exception e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }



        Map<String, String> myMap = new HashMap<String, String>();

        if (result == 1) {

            // 添加用户成功

            myMap.put("addUserFlag", "1");

        } else {

            // 添加用户不成功!

            myMap.put("addUserFlag", "-1");

        }

        JSONObject js = JSONObject.fromObject(myMap);

        this.returnStr = js.toString();

        return SUCCESS;

    }



    // 验证用户名是否唯一

    public String ajaxVUserAccount() {



        User u = null;

        try {

            u = this.userManager.getUserById(userId);

        } catch (Exception e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

        Map<String, String> myMap = new HashMap<String, String>();



        if (u == null) {

            // 用户名验证通过

            myMap.put("vUserAccountFlag", "1");

        } else {

            // 用户名验证不通过

            myMap.put("vUserAccountFlag", "-1");

        }

        JSONObject js = JSONObject.fromObject(myMap);

        this.returnStr = js.toString();



        return SUCCESS;

    }



    // 修改用户信息

    public String ajaxUpdate() {

        // ----提示信息

        json2User();



        Map<String, String> myMap = new HashMap<String, String>();

        int result = -1;

        try {

            result = this.userManager.update(user.getId(), user);

            result = 1;

        } catch (Exception e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

        myMap.put("updateUserFlag", "" + result);

        JSONObject js = JSONObject.fromObject(myMap);

        this.returnStr = js.toString();

        return SUCCESS;

    }



    // 根据用户账号删除用户

    public String ajaxDelete() {

        Map<String, String> myMap = new HashMap<String, String>();

        int result = -1;

        try {

            result = this.userManager.delete(userId);

        } catch (Exception e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

        myMap.put("deleteUserFlag", "" + result);

        JSONObject js = JSONObject.fromObject(myMap);

        this.returnStr = js.toString();

        return SUCCESS;

    }



    public String getProvince() {

        return province;

    }



    public void setProvince(String province) {

        this.province = province;

    }



    public String getCity() {

        return city;

    }



    public void setCity(String city) {

        this.city = city;

    }



    public String getCounty() {

        return county;

    }



    public void setCounty(String county) {

        this.county = county;

    }



    public PlaceManager getPlaceManager() {

        return placeManager;

    }



    @Resource

    public void setPlaceManager(PlaceManager placeManager) {

        this.placeManager = placeManager;

    }



    /**

     * 界面上的地点与数据库的存储之间的转换

     * 

     * @return int 地点编号

     */

    public Place dealPlace() {

        Place place = null;

        if (province.equals(this.NOCHOOSE)) {

            // 没有选择

            place = null;

        } else {

            if (city.equals(this.NOCHOOSE)) {

                // 选择了province

                place = this.placeManager.getProvince(province);

            } else {

                if (county.equals(this.NOCHOOSE)) {

                    // 选择了province和city

                    place = this.placeManager.getCity(province, city);

                } else {

                    place = this.placeManager.getCounty(province, city, county);

                    // 选择了province, city,county

                }

            }

        }

        return place;

    }



    /**

     * 对于用户的修改的处理

     * 

     * @return

     */

    public String updatecl() {

        UserType userType = this.userManager.getUserTypeByName(user

                .getUserTypeNo().getName());

        user.setUserTypeNo(userType);

        int result = this.userManager.updateByUserAccount(user.getAccount(),

                user);

        if (result == 1) {

            return SUCCESS;

        } else if (result == 0) {

            return "nouser";

        } else {

            return ERROR;

        }

    }



    /**

     * 转入update显示页面

     * 

     * @return

     */

    public String update() {

        try {

            this.user = this.userManager.getUserById(userId);

        } catch (Exception e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

        return SUCCESS;

    }



    public int getCurrentPage() {

        return currentPage;

    }



    public void setCurrentPage(int currentPage) {

        this.currentPage = currentPage;

    }



    public PageResultSet<User> getPageResultSet() {

        return pageResultSet;

    }



    public void setPageResultSet(PageResultSet<User> pageResultSet) {

        this.pageResultSet = pageResultSet;

    }



    public String getKeyWord() {

        return keyWord;

    }



    public void setKeyWord(String keyWord) {

        this.keyWord = keyWord;

    }



    public String fenyeUser() {

        this.pageResultSet = this.userManager.queryByPage(5, this.currentPage);

        return SUCCESS;

    }



    // ajax分页查询

    public String ajaxQuery() {

        try {

            this.pageResultSet = this.userManager.mhQuery(keyWord, pageSize,

                    this.currentPage);

            System.out.println(this.pageResultSet);

            Map<String, Object> myMap = new HashMap<String, Object>();

            myMap.put("currentPage", ""

                    + this.pageResultSet.getPageInfo().getCurrentPage());

            myMap.put("totalPage", ""

                    + this.pageResultSet.getPageInfo().getTotalPage());

            myMap.put("list", this.pageResultSet.getList());

            JsonConfig jsonConfig = new JsonConfig();

            jsonConfig.setExcludes(new String[] { "cars" });

            JSONObject js = JSONObject.fromObject(myMap, jsonConfig);

            returnStr = js.toString();

            // System.out.println("Info: userAction - ajaxFenyeQuery - returnStr:"

            // + returnStr);

        } catch (Exception e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

        return SUCCESS;

    }



    /**

     * 对于登录表单进行处理

     * 

     * @return

     */

    public String loginFixed() {

        this.returnStr = "";

        User u = this.userManager.getUserByAccount(user.getAccount());

        if (u != null) {

            // 用户存在

            user.setPwd(MD5.getMD5(user.getPwd().getBytes()));

            if (u.getPwd().equals(user.getPwd())) {

                if (u.getUserTypeNo().getName().equals("管理员")) {

                    this.returnStr = "不是固定用户";

                    return "fail";

                } else {

                    session.put("userId", "" + u.getId());

                    session.put("userAccount", u.getAccount());

                    session.put("userTypeName", u.getUserTypeNo().getName());

                    prePage = (String) session.get("prePage");

                    session.remove("prePage");

                    if (prePage == null) {

                        return "index";

                    }

                    return SUCCESS;

                }

            } else {

                // 密码不正确

                this.returnStr = "密码不正确";

                return "fail";

            }

        } else {

            // 用户不存在

            this.returnStr = "用户不存在";

            return "fail";

        }



    }



    /**

     * 对于登录表单进行处理

     * 

     * @return

     */

    public String loginAdmin() {

        this.returnStr = "";

        User u = this.userManager.getUserByAccount(user.getAccount());

        if (u != null) {

            // 用户存在

            user.setPwd(MD5.getMD5(user.getPwd().getBytes()));

            if (u.getPwd().equals(user.getPwd())) {

                // System.out.println(">>loginCL>prePage:" + prePage);

                if (!u.getUserTypeNo().getName().equals("管理员")) {

                    this.returnStr = "不是管理员用户";

                    return "fail";

                } else {

                    // 用户登录成功

                    session.put("userId", "" + u.getId());

                    session.put("userAccount", u.getAccount());

                    session.put("userTypeName", u.getUserTypeNo().getName());

                    prePage = (String) session.get("prePage");

                    session.remove("prePage");

                    if (prePage == null) {

                        return "index";

                    }

                    return SUCCESS;

                }

            } else {

                // 密码不正确

                this.returnStr = "密码不正确";

                return "fail";

            }

        } else {

            // 用户不存在

            this.returnStr = "用户不存在";

            return "fail";

        }



    }



    /**

     * 用户退出

     * 

     * @return

     */

    public String logout() {

        try {

            session.clear();

        } catch (Exception e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

        return SUCCESS;



    }



    /**

     * adjax方式用户退出

     * 

     * @return

     */

    public String ajaxLogout() {



        Map<String, String> myMap = new HashMap<String, String>();

        try {

            session.remove("userAccount");

            session.remove("userTypeName");

            myMap.put("logoutFlag", "1");

        } catch (Exception e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

            myMap.put("logoutFlag", "-1");

        }

        JSONObject js = JSONObject.fromObject(myMap);

        returnStr = js.toString();

        System.out.println("userAccount-ajaxQuitUser-returnStr:" + returnStr);

        return SUCCESS;

    }



    public void setSession(Map<String, Object> session) {

        // TODO Auto-generated method stub

        this.session = session;

    }



    public long getUserId() {

        return userId;

    }



    public void setUserId(long userId) {

        this.userId = userId;

    }



    @Override

    public String toString() {

        return "UserAction [currentPage=" + currentPage + ", jsonStr="

                + jsonStr + ", keyWord=" + keyWord + ", prePage=" + prePage

                + ", returnStr=" + returnStr + ", user=" + user + ", userId="

                + userId + "]";

    }



    public int getMyPageSize() {

        return myPageSize;

    }



    public void setMyPageSize(int myPageSize) {

        this.myPageSize = myPageSize;

    }



}
View Code

3.2 UserManagerImpl.java

package com.xhu.service.impl;



import java.util.List;



import javax.annotation.Resource;

import org.springframework.stereotype.Component;



import com.xhu.dao.UserDao;

import com.xhu.model.PageInfo;

import com.xhu.model.PageResultSet;

import com.xhu.model.User;

import com.xhu.model.UserDetailInfo;

import com.xhu.model.UserType;

import com.xhu.service.UserManager;

import com.xhu.util.MD5;



@Component("userManager")

public class UserManagerImpl implements UserManager {

    private UserDao userDao;



    public UserDao getUserDao() {

        return userDao;

    }



    @Resource

    public void setUserDao(UserDao userDao) {

        this.userDao = userDao;

    }



    /**

     * 根据用户的账号,判断用户是否存在

     * 

     * @param User

     *            user 用户的账号

     * @return boolean 如果存在,则返回true, 否则返回false

     * @author zhujinrong

     */

    public boolean exists(String userAccount) {

        return userDao.checkUserExistsWithName(userAccount);

    }



    public int add(User user) {

        user.setPwd(MD5.getMD5(user.getPwd().getBytes()));

        return this.userDao.save(user);

    }



    public void userDetailSaveOrUpdate(UserDetailInfo userDetailInfo) {

        this.userDao.userDetailSaveOrUpdate(userDetailInfo);

    }



    public int delete(long userId) {

        return this.userDao.delete(userId);

    }



    /**

     * 修改用户信息

     * 

     * @param user

     *            用户信息

     * @return void

     * @author zhujinrong

     */

    public int update(long userId, User user) {

        return this.userDao.update(userId, user);

    }



    /**

     * 返回所有用户的信息

     * 

     * @param void

     * @return List<User> 用户列表

     * @author zhujinrong

     */

    public List<User> getAllUsers() {

        // TODO Auto-generated method stub

        return userDao.getAllusers();

    }



    /**

     * 根据用户流水号,返回用户信息

     * 

     * @param int id 用户流水号

     * @return User 返回用户信息

     * @author zhujinrong

     */

    public User getUserById(long id) throws Exception {

        // TODO Auto-generated method stub

        return (User) userDao.getUserById(id);

    }



    /**

     * 根据用户的账号,返回用户的信息

     * 

     * @param String

     *            account 用户账号

     * @return User 用户

     * @author zhujinrong

     */

    public User getUserByAccount(String account) {

        // TODO Auto-generated method stub

        return (User) userDao.getUserByAccount(account);

    }



    public UserDetailInfo getUserDetailInfo(long userId) {

        // TODO Auto-generated method stub

        return this.userDao.getUserDetailInfo(userId);

    }



    public int updateUserDetail(long userId, UserDetailInfo userDetailInfo) {

        // TODO Auto-generated method stub

        return this.userDao.updateUserDetail(userId, userDetailInfo);

    }



    public int updateByUserAccount(String userAccount, User user) {

        return this.userDao.updateByUserAccount(userAccount, user);

    }



    public UserType getUserTypeByName(String userTypeName) {

        // TODO Auto-generated method stub

        return this.userDao.getUserTypeByName(userTypeName);

    }



    // 分页获取记录值

    public PageResultSet<User> queryByPage(int pageSize, int page) {

        String hql = "from User"; // 查询HQL语句

        String hql2 = "select count(*) " + hql;

        int totalRow = this.userDao.queryRowCount(hql2); // 计算总记录个数

        // System.out.println("totalRow:" + totalRow);

        PageInfo pageinfo = new PageInfo(totalRow, pageSize, page);

        // 获取该页的记录

        List<User> list = this.userDao.queryByPage(hql, pageinfo

                .getBeginIndex(), pageinfo.getPageSize());

        PageResultSet<User> pageResultSet = new PageResultSet<User>();

        pageResultSet.setList(list);

        pageResultSet.setPageInfo(pageinfo);

        return pageResultSet;

    }



    public PageResultSet<User> mhQuery(String keyWord, int pageSize, int page) {

        // TODO Auto-generated method stub

        int totalRow = this.userDao.mhQueryCount(keyWord); // 计算总记录个数

        // System.out.println("totalRow:" + totalRow);

        PageInfo pageinfo = new PageInfo(totalRow, pageSize, page);

        // 获取该页的记录

        List<User> list = null;

        if (totalRow > 0) {

            list = this.userDao.mhQuery(keyWord, pageinfo.getBeginIndex(),

                    pageinfo.getPageSize());

        }

        PageResultSet<User> pageResultSet = new PageResultSet<User>();

        pageResultSet.setList(list);

        pageResultSet.setPageInfo(pageinfo);

        return pageResultSet;

    }



    public PageResultSet<User> newAddFixed(int pageSize, int page) {

        // TODO Auto-generated method stub

        // TODO Auto-generated method stub

        int totalRow = this.userDao.newAddFixedCount(); // 计算总记录个数

        // System.out.println("totalRow:" + totalRow);

        PageInfo pageInfo = new PageInfo(totalRow, pageSize, page);

        // 获取该页的记录

        List<User> list = null;

        if (totalRow > 0) {

            list = this.userDao.newAddFixed(pageInfo.getBeginIndex(), pageInfo

                    .getPageSize());

        }

        PageResultSet<User> pageResultSet = new PageResultSet<User>();

        pageResultSet.setList(list);

        pageResultSet.setPageInfo(pageInfo);

        return pageResultSet;

    }



    public int doChangePwd(long userId, String oldPwd, String newPwd)

            throws Exception {

        // TODO Auto-generated method stub

        newPwd = MD5.getMD5(newPwd.getBytes());

        oldPwd = MD5.getMD5(oldPwd.getBytes());

        return this.userDao.changePwd(userId, oldPwd, newPwd);

    }



}
View Code

3.3 UserManager.java

package com.xhu.service;



import java.util.List;



import com.xhu.model.PageResultSet;

import com.xhu.model.User;

import com.xhu.model.UserDetailInfo;

import com.xhu.model.UserType;



public interface UserManager {



    public boolean exists(String userAccount);



    /**

     * 添加用户信息

     * 

     * @param user

     * @return int -1: 发生异常; 1: 添加用户成功

     */

    public int add(User user);



    /**

     * 添加用户相信信息

     * 

     * @param userDetailInfo

     * @return void

     * @author zhujinrong

     */

    public void userDetailSaveOrUpdate(UserDetailInfo userDetailInfo);



    /**

     * 根据用户流水号,获取用户的详细信息

     * 

     * @param userId

     * @return

     * @author zhujinrong

     */

    public UserDetailInfo getUserDetailInfo(long userId);



    /**

     * 根据用户流水号,修改用户详细信息

     * 

     * @param userId

     *            用户流水号

     * @param userDetailInfo

     *            用户详细信息

     * @return -1:发生异常; 0:用户不存在; 1:修改用户详细信息成功

     */

    public int updateUserDetail(long userId, UserDetailInfo userDetailInfo);



    /**

     * 根据用户账号,删除用户信息

     * 

     * @param userAccount

     * @return int -1: 出现异常,删除不成功 0:用户不存在 1:删除成功!

     */

    public int delete(long userId);



    /**

     * 根据用户流水号,修改用户信息

     * 

     * @param userId

     *            用户流水号

     * @param user

     *            用户信息

     * @return -1 发生异常; 0 用户不存在; 1 修改成功

     */

    public int update(long userId, User user);



    public List<User> getAllUsers();



    public User getUserById(long id) throws Exception;



    public User getUserByAccount(String account);



    /**

     * 根据用户流水号,修改用户信息

     * 

     * @param userAccount

     *            string 用户账号

     * @param user

     *            要修改的用户信息

     * @return -1:发生异常; 0: 用户不存在; 1:修改用户信息成功

     */

    public int updateByUserAccount(String userAccount, User user);



    /**

     * 根据用户类型的名称,返回用户类型对象

     * 

     * @param userTypeName

     *            String 用户类型名称

     * @return UserType 用户类型对象

     */

    public UserType getUserTypeByName(String userTypeName);



    // 分页获取记录值

    public PageResultSet<User> queryByPage(int pageSize, int page);



    /**

     * 根据要查询的信息,进行模糊查询

     * 

     * @param info

     *            要查询的关键字

     * @param pageSize

     *            页大小

     * @param page

     *            要查询的页

     * @return PageResultSet 页面信息和相关的数据

     */

    public PageResultSet<User> mhQuery(String keyWord, int pageSize, int page);



    /**

     * 新增固定用户

     * 

     * @param keyWord

     * @param pageSize

     * @param page

     * @return

     */

    public PageResultSet<User> newAddFixed(int pageSize, int page);



    /**

     * 根据userId, 将用户的密码改为newPwd

     * 

     * @param userId

     * @param oldPwd

     * @param newPwd

     * @return 1:密码修改成功 0:用户原始密码输入不正确, 修改密码不成功 -1:出错了

     * @throws Exception

     */

    public int doChangePwd(long userId, String oldPwd, String newPwd)

            throws Exception;



}
View Code

3.4 UserDaoImpl.java

package com.xhu.dao.impl;



import java.util.List;



import javax.annotation.Resource;



import org.hibernate.HibernateException;

import org.hibernate.Query;

import org.hibernate.Session;

import org.springframework.dao.DataAccessException;

import org.springframework.orm.hibernate3.HibernateTemplate;

import org.springframework.stereotype.Component;

import com.xhu.dao.UserDao;

import com.xhu.model.User;

import com.xhu.model.UserDetailInfo;

import com.xhu.model.UserType;

import com.xhu.util.MD5;



@Component("userDao")

public class UserDaoImpl implements UserDao {

    private HibernateTemplate hibernateTemplate;



    public int save(User user) {

        // TODO Auto-generated method stub

        int result = -1;

        try {

            hibernateTemplate.save(user);

            result = 1;

        } catch (DataAccessException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

        return result;

    }



    public void userDetailSaveOrUpdate(UserDetailInfo userDetailInfo) {

        this.hibernateTemplate.saveOrUpdate(userDetailInfo);

    }



    @SuppressWarnings("finally")

    public int delete(long userId) {

        int result = -1;

        try {

            User user = this.hibernateTemplate.load(User.class, userId);

            if (user == null) {

                result = 0;

            }

            this.hibernateTemplate.delete(user);

            result = 1;

        } catch (DataAccessException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

            System.out.println("e.getMessage:" + e.getMessage().toString());

            System.out.println("e.hashCode" + e.hashCode());

        } finally {

            return result;

        }

    }



    public int update(long userId, User user) {

        int result = -1;

        User pu = null;

        try {

            pu = this.getUserById(userId);

        } catch (Exception e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

        // System.out.println("userDaoImpl->update:pu:" + pu);

        // System.out.println("userDaoImpl->update:user:" + user);



        if (pu == null) {

            result = 0;

            return result;

        }



        if (user.getBussinessIntro() != null) {

            pu.setBussinessIntro(user.getBussinessIntro());

        }



        if (user.getCellphone() != null) {

            pu.setCellphone(user.getCellphone());

        }



        if (user.getUserTypeNo() != null) {

            pu.setUserTypeNo(user.getUserTypeNo());

        }



        if (user.getAddress() != null) {

            pu.setAddress(user.getAddress());

        }



        if (user.getPwd() != null && !user.getPwd().trim().equals("")) {

            user.setPwd(MD5.getMD5(user.getPwd().getBytes()));

            pu.setPwd(user.getPwd());

        }



        if (user.getRealName() != null) {

            pu.setRealName(user.getRealName());

        }



        if (user.getSex() != null) {

            pu.setSex(user.getSex());

        }



        try {

            this.hibernateTemplate.update(pu);

            result = 1;

        } catch (DataAccessException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

        return result;

    }



    /**

     * 根据用户的账号判断用户是否存在

     * 

     * @param account

     *            用户的账号

     * @return boolean 根据用户的账号判断用户是否存在,如果存在则返回true, 否则返回false

     * @author zhujinrong

     */

    @SuppressWarnings("unchecked")

    public boolean checkUserExistsWithName(String account) {

        boolean b = false;

        List<User> users = hibernateTemplate

                .find("from User u where u.account='" + account + "'");

        if (users != null && users.size() > 0) {

            b = true;

        }

        return b;

    }



    public HibernateTemplate getHibernateTemplate() {

        return hibernateTemplate;

    }



    @Resource

    public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {

        this.hibernateTemplate = hibernateTemplate;

    }



    /**

     * @author zhujinrong

     * @param

     * @return List 返回用户信息列表

     */

    @SuppressWarnings("unchecked")

    public List<User> getAllusers() {

        // TODO Auto-generated method stub

        List<User> users = (List<User>) this.hibernateTemplate

                .find("from User");

        System.out.println("users.size=" + users.size());

        return users;



    }



    /**

     * @author zhujinrong 根据用户的流水号,查找用户信息并返回

     * @param id

     *            用户的流水号

     * @return User 用户

     */

    public User getUserById(long id) throws Exception {

        // TODO Auto-generated method stub

        User user = this.hibernateTemplate.get(User.class, id);

        return user;

    }



    /**

     * @author zhujinrong 根据用户账号,查找用户并返回

     * @param account

     *            用户账号

     * @return User 用户

     */

    public User getUserByAccount(String account) {

        // TODO Auto-generated method stub



        Session session = this.hibernateTemplate.getSessionFactory()

                .getCurrentSession();

        session.beginTransaction();

        Query query = (Query) session.createQuery(

                "from User u where u.account = :account").setString("account",

                account);

        User user = (User) query.uniqueResult();

        session.getTransaction().commit();

        return user;

    }



    public UserDetailInfo getUserDetailInfo(long userId) {

        // TODO Auto-generated method stub

        Session session = this.hibernateTemplate.getSessionFactory()

                .getCurrentSession();

        session.beginTransaction();

        Query query = (Query) session.createQuery(

                "from UserDetailInfo udf where udf.user.id = :userId").setLong(

                "userId", userId);

        UserDetailInfo userDetailInfo = (UserDetailInfo) query.uniqueResult();

        session.getTransaction().commit();

        return userDetailInfo;

    }



    public int updateUserDetail(long userId, UserDetailInfo userDetailInfo) {

        // TODO Auto-generated method stub

        int result = -1;

        UserDetailInfo pudf = this.getUserDetailInfo(userId);

        if (pudf == null) {

            result = 0;

            return result;

        }

        if (userDetailInfo.getBmzw() != null) {

            pudf.setBmzw(userDetailInfo.getBmzw());

        }



        if (userDetailInfo.getCompanyName() != null) {

            pudf.setCompanyName(userDetailInfo.getCompanyName());

        }



        if (userDetailInfo.getContactAddress() != null) {

            pudf.setContactAddress(userDetailInfo.getContactAddress());

        }



        if (userDetailInfo.getFax() != null) {

            pudf.setFax(userDetailInfo.getFax());

        }



        if (userDetailInfo.getGardenName() != null) {

            pudf.setGardenName(userDetailInfo.getGardenName());

        }



        if (userDetailInfo.getLandLine() != null) {

            pudf.setLandLine(userDetailInfo.getLandLine());

        }



        if (userDetailInfo.getMsn() != null) {

            pudf.setMsn(userDetailInfo.getMsn());

        }



        if (userDetailInfo.getPostCode() != null) {

            pudf.setPostCode(userDetailInfo.getPostCode());

        }



        if (userDetailInfo.getQq() != null) {

            pudf.setQq(userDetailInfo.getQq());

        }



        try {

            this.hibernateTemplate.update(pudf);

            result = 1;

        } catch (DataAccessException e) {

            // TODO Auto-generated catch block

            result = -1;

            e.printStackTrace();

        }

        return result;

    }



    public int updateByUserAccount(String userAccount, User user) {

        // TODO Auto-generated method stub

        int result = -1;

        User pu = this.getUserByAccount(userAccount);

        if (pu == null) {

            result = 0;

            return result;

        }

        System.out.println("userDaoImpl->update:pu:" + pu);

        System.out.println("userDaoImpl->update:user:" + user);



        if (pu == null) {

            result = 0;

            return result;

        }



        if (user.getBussinessIntro() != null) {

            pu.setBussinessIntro(user.getBussinessIntro());

        }



        if (user.getCellphone() != null) {

            pu.setCellphone(user.getCellphone());

        }



        if (user.getUserTypeNo() != null) {

            pu.setUserTypeNo(user.getUserTypeNo());

        }



        if (user.getAddress() != null) {

            pu.setAddress(user.getAddress());

        }



        if (user.getPwd() != null) {

            pu.setPwd(user.getPwd());

        }



        if (user.getRealName() != null) {

            pu.setRealName(user.getRealName());

        }



        if (user.getSex() != null) {

            pu.setSex(user.getSex());

        }



        try {

            this.hibernateTemplate.update(pu);

            result = 1;

        } catch (DataAccessException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

        return result;



    }



    public UserType getUserTypeByName(String userTypeName) {

        // TODO Auto-generated method stub

        Session session = this.hibernateTemplate.getSessionFactory()

                .getCurrentSession();

        session.beginTransaction();

        Query query = (Query) session.createQuery(

                "from UserType userType where userType.name=:userTypeName")

                .setString("userTypeName", userTypeName);

        UserType userType = (UserType) query.uniqueResult();

        session.getTransaction().commit();

        return userType;

    }



    /*

     * 分页查询显示

     * 

     * @param hql查询的的hql语句

     * 

     * @param beginIndex 查询记录的起始索引位置

     * 

     * @param pageSize 一次查询记录个数

     * 

     * @return List<Teacher>

     */

    @SuppressWarnings("unchecked")

    public List<User> queryByPage(String hql, int beginIndex, int pageSize) {

        Session session = this.hibernateTemplate.getSessionFactory()

                .getCurrentSession();

        org.hibernate.Transaction transaction = null;

        try {

            transaction = session.beginTransaction();

            Query query = session.createQuery(hql);

            query.setFirstResult(beginIndex);

            query.setMaxResults(pageSize);

            List<User> list = query.list();

            transaction.commit();

            return list;

        } catch (Exception e) {

            if (null != transaction) {

                transaction.rollback();

                e.printStackTrace();

            }

        }

        return null;

    }



    // 查询指定HQL的结果记录总数

    public int queryRowCount(final String hql) {

        Session session = this.hibernateTemplate.getSessionFactory()

                .getCurrentSession();

        // System.out.println("queryRowCount->hql:" + hql);

        long result = -1;

        try {

            session.beginTransaction();

            Query query = session.createQuery(hql);

            result = (Long) query.uniqueResult(); // 计算个数

            // System.out.println("result=" + result);

            session.getTransaction().commit();

        } catch (Exception e) {

            e.printStackTrace();

        }

        return (int) result;

    }



    @SuppressWarnings("unchecked")

    public List<User> mhQuery(String keyWord, int beginIndex, int pageSize) {

        // TODO Auto-generated method stub

        List<User> list = null;

        keyWord = "%" + keyWord + "%";

        try {

            Session session = this.hibernateTemplate.getSessionFactory()

                    .getCurrentSession();

            session.beginTransaction();

            Query query = session.createQuery(

                    "from User user where user.account like :keyWord "

                            + "or user.realName like :keyWord "

                            + "or user.cellphone like :keyWord").setString(

                    "keyWord", keyWord).setString("keyWord", keyWord)

                    .setString("keyWord", keyWord);



            query.setFirstResult(beginIndex);

            query.setMaxResults(pageSize);

            list = query.list();

            session.getTransaction().commit();

        } catch (HibernateException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

        return list;

    }



    public int mhQueryCount(String keyWord) {

        // TODO Auto-generated method stub



        Session session = this.hibernateTemplate.getSessionFactory()

                .getCurrentSession();

        // System.out.println("queryRowCount->hql:" + hql);

        long result = -1;

        keyWord = "%" + keyWord + "%";

        System.out.println("Info: UserDaoImpl-mhQueryCount-keyWord:" + keyWord);

        try {

            session.beginTransaction();

            Query query = session.createQuery(

                    "select count(*) from User user where user.account like :keyWord "

                            + "or user.realName like :keyWord "

                            + "or user.cellphone like :keyWord").setString(

                    "keyWord", keyWord).setString("keyWord", keyWord)

                    .setString("keyWord", keyWord);

            result = (Long) query.uniqueResult(); // 计算个数

            System.out.println("result=" + result);

            session.getTransaction().commit();

        } catch (Exception e) {

            e.printStackTrace();

        }

        return (int) result;

    }



    @SuppressWarnings("unchecked")

    public List<User> newAddFixed(int beginIndex, int pageSize) {

        // TODO Auto-generated method stub



        List<User> list = null;

        try {

            Session session = this.hibernateTemplate.getSessionFactory()

                    .getCurrentSession();

            session.beginTransaction();

            Query query = session

                    .createQuery(

                            "from User user where user.userTypeNo.name =:userTypeName order by user.addTime desc")

                    .setString("userTypeName", "固定用户");



            query.setFirstResult(beginIndex);

            query.setMaxResults(pageSize);

            list = (List<User>) query.list();

            session.getTransaction().commit();

        } catch (HibernateException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

        return list;

    }



    public int newAddFixedCount() {

        Session session = this.hibernateTemplate.getSessionFactory()

                .getCurrentSession();

        // System.out.println("queryRowCount->hql:" + hql);

        long result = -1;

        try {

            session.beginTransaction();

            Query query = session

                    .createQuery(

                            "select count(*) from User user where user.userTypeNo.name=:userTypeName")

                    .setString("userTypeName", "固定用户");

            result = (Long) query.uniqueResult(); // 计算个数

            System.out.println("result=" + result);

            session.getTransaction().commit();

        } catch (Exception e) {

            e.printStackTrace();

        }

        return (int) result;

    }



    public int changePwd(long userId, String oldPwd, String newPwd)

            throws Exception {

        // TODO Auto-generated method stub

        int result = -1;

        User user = this.hibernateTemplate.load(User.class, userId);

        if (user.getPwd().equals(oldPwd)) {

            user.setPwd(newPwd);

            this.hibernateTemplate.update(user);

            result = 1;

        } else {

            result = 0;

        }



        return result;

    }

}
View Code

3.5 UserDao.java

package com.xhu.dao;



import java.util.List;



import com.xhu.model.User;

import com.xhu.model.UserDetailInfo;

import com.xhu.model.UserType;



public interface UserDao {



    /**

     * 添加用户信息

     * 

     * @param user

     * @return int -1: 发生异常 1 添加用户成功

     */

    public int save(User user);



    /**

     * 删除用户信息

     * 

     * @param user

     * @return 1: 删除用户成功 0: 用户不存在 -1: exception

     */

    public int delete(long userId);



    /**

     * 根据用户流水号,修改用户信息

     * 

     * @param userId

     * @param user

     * @return -1:发生异常; 0: 用户不存在; 1:修改用户信息成功

     */

    public int update(long userId, User user);



    /**

     * 根据用户流水号,修改用户信息

     * 

     * @param userAccount

     *            string 用户账号

     * @param user

     *            要修改的用户信息

     * @return -1:发生异常; 0: 用户不存在; 1:修改用户信息成功

     */

    public int updateByUserAccount(String userAccount, User user);



    public boolean checkUserExistsWithName(String account);



    public List<User> getAllusers();



    public User getUserById(long id) throws Exception;



    public User getUserByAccount(String Account);



    public void userDetailSaveOrUpdate(UserDetailInfo userDetailInfo);



    /**

     * 根据用户流水号,获取用户的详细信息

     * 

     * @param long userId 用户流水号

     * @return UserDetailInfo 用户详细信息

     */

    public UserDetailInfo getUserDetailInfo(long userId);



    /**

     * 修改用户详细信息

     * 

     * @param userId

     *            用户流水号

     * @param userDetailInfo

     *            用户详细信息

     * @return -1: 发生异常, 修改用户信息不成功; 0: 用户不存在, 修改用户详细信息不成功, 1:修改用户成功

     * @author zhujinrong

     */

    public int updateUserDetail(long userId, UserDetailInfo userDetailInfo);



    /**

     * 根据用户类型的名称,返回用户类型对象

     * 

     * @param userTypeName

     *            String 用户类型名称

     * @return UserType 用户类型对象

     */

    public UserType getUserTypeByName(String userTypeName);



    // 分页查询显示

    public List<User> queryByPage(String hql, int beginIndex, int pageSize);



    // 查询的结果记录总数

    public int queryRowCount(final String hql);



    // 模糊查询的分页显示

    public List<User> mhQuery(String keyWord, int beginIndex, int pageSize);



    // 返回模糊查询的记录总数

    public int mhQueryCount(String keyWord);



    /**

     * 新增固定用户信息

     * 

     * @param beginIndex

     * @param pageSize

     * @return

     */

    public List<User> newAddFixed(int beginIndex, int pageSize);



    /**

     * 新增固定用户的条数

     * 

     * @return

     */

    public int newAddFixedCount();



    /**

     * 根据userId, 将用户密码:oldPwd, 改为newPwd

     * 

     * @param userId

     * @param oldPwd

     * @param newPwd

     * @return 1: 密码修改成功 0: 原始密码错误 -1:出错了

     */

    public int changePwd(long userId, String oldPwd, String newPwd)

            throws Exception;

}
View Code

3.6 model层

(1) User.java

package com.xhu.model;



import java.io.Serializable;

import java.util.Date;

import java.util.HashSet;

import java.util.Set;



import javax.persistence.Column;

import javax.persistence.Entity;

import javax.persistence.FetchType;

import javax.persistence.GeneratedValue;

import javax.persistence.Id;

import javax.persistence.JoinColumn;

import javax.persistence.ManyToOne;

import javax.persistence.OneToMany;

import javax.persistence.Table;

import javax.persistence.Temporal;

import javax.persistence.TemporalType;



/**

 * @author zhujinrong

 * 

 */

@Entity

@Table(name = "t_user")

public class User implements Serializable {

    /**

     * 

     */

    private static final long serialVersionUID = -3429846500229553447L;

    private long id;

    private String account;

    private String realName;

    private String pwd;

    private String cellphone;

    private UserType userTypeNo;

    private String address;

    private String bussinessIntro;

    private String sex;

    private Date addTime = new Date();// 添加固定用户时间



    private Set<Car> cars = new HashSet<Car>();



    @Id

    @GeneratedValue

    public long getId() {

        return id;

    }



    public void setId(long id) {

        this.id = id;

    }



    public String getAccount() {

        return account;

    }



    public void setAccount(String account) {

        this.account = account;

    }



    public String getRealName() {

        return realName;

    }



    public void setRealName(String realName) {

        this.realName = realName;

    }



    public String getPwd() {

        return pwd;

    }



    public void setPwd(String pwd) {

        this.pwd = pwd;

    }



    public String getCellphone() {

        return cellphone;

    }



    public void setCellphone(String cellphone) {

        this.cellphone = cellphone;

    }



    @Temporal(TemporalType.TIMESTAMP)

    @Column(updatable = false)

    public Date getAddTime() {

        return addTime;

    }



    public void setAddTime(Date addTime) {

        this.addTime = addTime;

    }



    @ManyToOne

    @JoinColumn(name = "userTypeNo")

    public UserType getUserTypeNo() {

        return userTypeNo;

    }



    public void setUserTypeNo(UserType userTypeNo) {

        this.userTypeNo = userTypeNo;

    }



    public String getBussinessIntro() {

        return bussinessIntro;

    }



    public void setBussinessIntro(String bussinessIntro) {

        this.bussinessIntro = bussinessIntro;

    }



    public String getSex() {

        return sex;

    }



    public void setSex(String sex) {

        this.sex = sex;

    }



    public String getAddress() {

        return address;

    }



    public void setAddress(String address) {

        this.address = address;

    }



    @Override

    public String toString() {

        StringBuffer s = new StringBuffer();

        s.append("[id:" + id);

        s.append(", account:" + account);

        s.append(", realName: " + this.realName);

        s.append(", sex: " + this.sex);

        s.append(", userTypeNo:" + userTypeNo);

        s.append(", cellphone:" + this.cellphone);

        s.append(", address: " + this.address);

        s.append(", addTime: " + this.addTime);

        s.append(", bussinessIntro: " + this.bussinessIntro + "]");

        return s.toString();

    }



    @OneToMany(mappedBy = "publisher", fetch = FetchType.LAZY)

    public Set<Car> getCars() {

        return cars;

    }



    public void setCars(Set<Car> cars) {

        this.cars = cars;

    }



}
View Code

(2) UserDetail.java

package com.xhu.model;



import java.io.Serializable;

import javax.persistence.Entity;

import javax.persistence.GeneratedValue;

import javax.persistence.Id;

import javax.persistence.JoinColumn;

import javax.persistence.ManyToOne;

import javax.persistence.Table;



@Entity

@Table(name = "t_userDetailInfo")

public class UserDetailInfo implements Serializable {

    /**

     * 

     */

    private static final long serialVersionUID = -9173252706639856987L;

    private long id; // 用户详细信息表的流水号

    private User user;// 所属用户的详细信息

    private String companyName;// 公司名称

    private String gardenName;// 所属园区

    private String contactAddress; // 联系地址

    private String postCode;// 邮政编码

    private String bmzw;// 部门职务

    private String landLine; // 固定电话

    private String fax;// 传真号

    private String qq;// qq号

    private String msn;// msn号



    @Id

    @GeneratedValue

    public long getId() {

        return id;

    }



    public void setId(long id) {

        this.id = id;

    }



    @ManyToOne

    @JoinColumn(name = "userId")

    public User getUser() {

        return user;

    }



    public void setUser(User user) {

        this.user = user;

    }



    public String getCompanyName() {

        return companyName;

    }



    public void setCompanyName(String companyName) {

        this.companyName = companyName;

    }



    public String getGardenName() {

        return gardenName;

    }



    public void setGardenName(String gardenName) {

        this.gardenName = gardenName;

    }



    public String getContactAddress() {

        return contactAddress;

    }



    public void setContactAddress(String contactAddress) {

        this.contactAddress = contactAddress;

    }



    public String getPostCode() {

        return postCode;

    }



    public void setPostCode(String postCode) {

        this.postCode = postCode;

    }



    public String getBmzw() {

        return bmzw;

    }



    public void setBmzw(String bmzw) {

        this.bmzw = bmzw;

    }



    public String getLandLine() {

        return landLine;

    }



    public void setLandLine(String landLine) {

        this.landLine = landLine;

    }



    public String getFax() {

        return fax;

    }



    public void setFax(String fax) {

        this.fax = fax;

    }



    public String getQq() {

        return qq;

    }



    public void setQq(String qq) {

        this.qq = qq;

    }



    public String getMsn() {

        return msn;

    }



    public void setMsn(String msn) {

        this.msn = msn;

    }



    @Override

    public String toString() {

        StringBuffer s = new StringBuffer();

        s.append("[流水号: " + this.id);

        s.append(", 用户: " + this.user);

        s.append(", 公司名称:" + this.companyName);

        s.append(", 所属园区:" + this.gardenName);

        s.append(", 联系地址: " + this.contactAddress);

        s.append(", 部门职位:" + this.bmzw);

        s.append(", 固定电话: " + this.landLine);

        s.append(", 邮政编码: " + this.postCode);

        s.append(", qq:" + this.qq);

        s.append(", msn: " + this.msn);

        s.append(", 传真:" + this.fax + "]");

        return s.toString();

    }

}
View Code

(3) UserType.java

package com.xhu.model;



import java.io.Serializable;



import javax.persistence.Entity;

import javax.persistence.Id;

import javax.persistence.Table;



@Entity

@Table(name = "t_userType")

public class UserType implements Serializable {

    /**

     * 

     */

    private static final long serialVersionUID = -6519396509517785002L;

    private int no;

    private String name;



    @Id

    public int getNo() {

        return no;

    }



    public void setNo(int no) {

        this.no = no;

    }



    public String getName() {

        return name;

    }



    public void setName(String name) {

        this.name = name;

    }



    @Override

    public String toString() {

        StringBuffer s = new StringBuffer();

        s.append("[no: " + this.no);

        s.append(", name:" + this.name + "]");

        return s.toString();

    }

}
View Code

 3.7 UserLoginInterceptor.java

package com.xhu.interceptor;



import java.util.Map;



import javax.servlet.http.HttpServletRequest;



import org.apache.struts2.ServletActionContext;



import com.opensymphony.xwork2.ActionContext;

import com.opensymphony.xwork2.ActionInvocation;

import com.opensymphony.xwork2.interceptor.Interceptor;



public class UserLoginInterceptor implements Interceptor {



    /**

     * 

     */

    private static final long serialVersionUID = -1098857744351094612L;



    public void destroy() {

        // TODO Auto-generated method stub

        System.out.println("...userLoginInterceptor destory />");

    }



    public void init() {

        // TODO Auto-generated method stub

        System.out.println("< userLoginInterceptor init....");

    }



    public String intercept(ActionInvocation invocation) throws Exception {

        // TODO Auto-generated method stub

        System.out.println(">>intercept.....");

        ActionContext context = invocation.getInvocationContext();



        // 获取session



        Map<String, Object> session = (Map<String, Object>) context

                .getSession();



        String userAccount = (String) session.get("userAccount");



        // 用户还未登陆



        if (userAccount == null) {



            // 获取HttpServletRequest对象



            HttpServletRequest req = ServletActionContext.getRequest();



            // 获取此请求的地址,请求地址包含application name,进行subString操作,去除application name



            String path = req.getRequestURI();



            // 获得请求中的参数



            String queryString = req.getQueryString();



            // 预防空指针



            if (queryString == null) {



                queryString = "";



            }



            // 拼凑得到登陆之前的地址



            String realPath = path + "?" + queryString;



            // 存入session,方便调用



            session.put("prePage", realPath);

            System.out.println("-----------请求地址realPath:" + realPath);



            if (realPath.startsWith("/wlphuo/admin/")) {

                return "loginAdmin";

            } else {

                return "loginFixed";

            }



        }



        // 用户已经登陆,放行

        return invocation.invoke();



    }



}
View Code

3.8 配置文件

(1) beans.xml

<?xml version="1.0" encoding="UTF-8" ?>

<beans xmlns="http://www.springframework.org/schema/beans"

       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

       xmlns:context="http://www.springframework.org/schema/context"

       xmlns:aop="http://www.springframework.org/schema/aop"

       xmlns:tx="http://www.springframework.org/schema/tx"

       xsi:schemaLocation="http://www.springframework.org/schema/beans

           http://www.springframework.org/schema/beans/spring-beans-3.2.xsd

           

           http://www.springframework.org/schema/context

           http://www.springframework.org/schema/context/spring-context-3.2.xsd

           

           http://www.springframework.org/schema/aop

           http://www.springframework.org/schema/aop/spring-aop-3.2.xsd

           

           http://www.springframework.org/schema/tx

           http://www.springframework.org/schema/tx/spring-tx-3.2.xsd">



    <context:annotation-config/>

    <context:component-scan base-package="com.xhu"/>

    <aop:aspectj-autoproxy />

    <!-- 

     -->

    <!-- 

    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">

       <property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>

       <property name="url" value="jdbc:sqlserver://localhost:1433;databaseName=testdb2"/>

       <property name="username" value="sa"/>

       <property name="password" value="sa"/>

    </bean>

     -->

          

    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

             <property name="locations" value="classpath:jdbc.properties"/>

    </bean>

    

    <!-- datasource -->

    <bean id="dataSource" destroy-method="close"

        class="org.apache.commons.dbcp.BasicDataSource">

      <property name="driverClassName" value="${jdbc.driverClassName}"/>

      <property name="url" value="${jdbc.url}"/>

      <property name="username" value="${jdbc.username}"/>

      <property name="password" value="${jdbc.password}"/>

      

    </bean>

    

    <!-- sessionFactory, hibernateconfig-->

    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">

      <property name="dataSource" ref="dataSource"/>

      <property name="packagesToScan">

    <list>

        <value>com.xhu.model</value>

    </list>

    </property>

      <property name="hibernateProperties">

        <props>

            <prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>

            <prop key="hibernate.show_sql">true</prop>

            <prop key="hibernate.format_sql">true</prop>

            <prop key="hibernate.current_session_context_class">thread</prop> 

        </props>

      </property>

    </bean>

    

    <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">

        <property name="sessionFactory" ref="sessionFactory"></property>

    </bean>

          

    <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">

        <property name="sessionFactory" ref="sessionFactory" />

    </bean>

          

    <!-- enable the configuration of transactional behavior based on annotations -->

    <tx:annotation-driven transaction-manager="txManager"/>

    

    <aop:config>

        <aop:pointcut id="bussinessService"

            expression="execution(public * com.xhu.service.*.*(..))" />

        <aop:advisor pointcut-ref="bussinessService"

            advice-ref="txAdvice" />

    </aop:config>

    

    <tx:advice id="txAdvice" transaction-manager="txManager">

        <tx:attributes>

            <tx:method name="exists" read-only="true" />

            <tx:method name="add*" propagation="REQUIRED"/>

            <tx:method name="update*" propagation="REQUIRED"/>

            <tx:method name="delete*" propagation="REQUIRED"/>

            <tx:method name="do*" propagation="REQUIRED"/>

        </tx:attributes>

    </tx:advice>

    



</beans>
View Code

(2) jdbc.properties

jdbc.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver

jdbc.url=jdbc\:sqlserver\://localhost\:1433;databaseName\=wlphuoD1

jdbc.username=sa

jdbc.password=123456
View Code

(3) log4j.properties

log4j.rootLogger=WARN,stdout

 

log4j.appender.stdout=org.apache.log4j.ConsoleAppender

 

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

 

log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
View Code

(4) struts.xml

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE struts PUBLIC

    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"

    "http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>

    <constant name="struts.i18n.encoding" value="GBK"/>

    <constant name="struts.devMode" value="true" />

    

    <package name="fixed" extends="json-default">

       <interceptors>

           <!-- 定义权限控制拦截器 -->

           <interceptor name="userLogin" class="com.xhu.interceptor.UserLoginInterceptor" />

               

           <!-- 定义一个包含权限控制的拦截器栈 -->

           <interceptor-stack name="mydefault">

               <interceptor-ref name="defaultStack" />

               <interceptor-ref name="userLogin" />

           </interceptor-stack>

       </interceptors>

       

       <!-- 定义默认拦截器 -->

       <default-interceptor-ref name="mydefault" />



       <!-- 定义全局处理结果 -->

       <global-results>

           <!-- 逻辑名为login的结果,映射到/login.jsp页面 -->

           <result name="loginFixed">/login-fixed.jsp</result>

           <result name="loginAdmin">/login-admin.jsp</result>

       </global-results>

       <action name="userf-*" class="userAction" method="{1}">

               <result>/user/userf-{1}.jsp</result>

       </action>

       <!-- car受限页面 -->

       <action name="carlimitf-*" class="carAction" method="limit">

               <result>/car/carf-{1}.jsp</result>

       </action>

       

        <!-- car处理页面 -->

       <action name="carcl-*" class="carAction" method="{1}">

               <result>/car/car-{1}.jsp</result>

       </action>

       

        <!-- invoice受限页面 -->

       <action name="invoicelimitf-*" class="invoiceAction" method="limit">

               <result>/invoice/invoicef-{1}.jsp</result>

       </action>

       

       <!-- invoice处理页面 -->

       <action name="invoicecl-*" class="invoiceAction" method="{1}">

               <result>/invoice/invoice-{1}.jsp</result>

       </action>

       

       

       <!-- invoice表单提交页面 -->

       <action name="invoicetj-*" class="invoiceAction" method="{1}">

               <result >/invoice/invoice-{1}success.jsp?returnStr=${returnStr}</result>

               <result name="fail">/invoice/invoice-add.jsp?returnStr=${returnStr}</result>

       </action>

       

        <!-- 用户处理返回json -->

        <action name="user" class="userAction">

            <result type="json">

                <param name="root">returnStr</param>

            </result>  

        </action>

        

        <!-- 车辆处理返回json -->

        <action name="car" class="carAction">

            <result type="json">

                <param name="root">returnStr</param>

            </result>  

        </action>

         <!-- 发货单处理返回json -->

        <action name="invoice" class="invoiceAction">

            <result type="json">

                <param name="root">returnStr</param>

            </result>  

        </action>

    </package>

    

    <package name="admin" extends="json-default">

       <interceptors>

           <!-- 定义权限控制拦截器 -->

           <interceptor name="userLogin" class="com.xhu.interceptor.UserLoginInterceptor" />

               

           <!-- 定义一个包含权限控制的拦截器栈 -->

           <interceptor-stack name="mydefault">

               <interceptor-ref name="defaultStack" />

               <interceptor-ref name="userLogin" />

           </interceptor-stack>

       </interceptors>

       

       <!-- 定义默认拦截器 -->

       <default-interceptor-ref name="mydefault" />



       <!-- 定义全局处理结果 -->

       <global-results>

           <!-- 逻辑名为login的结果,映射到/login.jsp页面 -->

           <result name="loginFixed">/login-fixed.jsp</result>

           <result name="loginAdmin">/login-admin.jsp</result>

       </global-results>

    

      

       <!-- user限制访问页面 -->

       <action name="userlimit-*" class="userAction" method="limit">

           <result>/user/user-{1}.jsp</result>

       </action>

       <action name="carlog-query" class="carLogAction" method="limit">

               <result>/car/carlog-query.jsp</result>

       </action>

       

       <action name="carlogcl-query" class="carLogAction" method="mhQuery">

               <result>/car/carlog-query.jsp?</result>

       </action>



       <!-- user处理页面 -->

       <action name="usercl-*" class="userAction" method="{1}">

           <result>/user/user-{1}.jsp</result>   

       </action>

       

       <!-- car限制访问页面 -->

       <action name="carlimit-*" class="carAction" method="limit">

           <result>/car/car-{1}.jsp</result>

       </action>

       

       <!-- car处理页面 -->

       <action name="carcl-*" class="carAction" method="{1}">

               <result>/car/car-{1}.jsp</result>

       </action>

       

       

       <!-- invoice受限页面 -->

       <action name="invoicelimit-*" class="invoiceAction" method="limit">

               <result>/invoice/invoice-{1}.jsp</result>

       </action>

       

       <!-- invoice处理页面 -->

       <action name="invoicecl-*" class="invoiceAction" method="{1}">

               <result>/invoice/invoice-{1}.jsp</result>

       </action>

       

       <!-- invoice表单提交页面 -->

       <action name="invoicetj-*" class="invoiceAction" method="{1}">

               <result >/invoice/invoice-{1}success.jsp?returnStr=${returnStr}</result>

               <result name="fail">/invoice/invoice-add.jsp?returnStr=${returnStr}</result>

       </action>

       

        

        <!-- 用户处理返回json -->

        <action name="user" class="userAction">

            <result type="json">

                <param name="root">returnStr</param>

            </result>  

        </action>

        

        <!-- 车辆处理返回json -->

        <action name="car" class="carAction">

            <result type="json">

                <param name="root">returnStr</param>

            </result>  

        </action>

         <!-- 发货单处理返回json -->

        <action name="invoice" class="invoiceAction">

            <result type="json">

                <param name="root">returnStr</param>

            </result>  

        </action>

    </package>

    

    

    <package name="guest" extends="json-default">

         <action name="login-fixed" class="userAction" method="loginFixed">

            <result type="redirectAction">${prePage}</result>

            <result name="index">/index.jsp</result>

             <result name="fail">/login-fixed.jsp?returnStr=${returnStr}</result>

         </action>

         

          <action name="login-admin" class="userAction" method="loginAdmin">

            <result type="redirectAction">${prePage}</result>

            <result name="index">/index.jsp</result>

             <result name="fail">/login-admin.jsp?returnStr=${returnStr}</result>

         </action>

         <action name="logout-fixed" class="userAction" method="logout">

                <result>/index.jsp</result>

         </action>

         <action name="logout-admin" class="userAction" method="logout">

                <result>/login-admin.jsp</result>

         </action>

         

          <!-- 车辆处理返回json -->

        <action name="car" class="carAction">

            <result type="json">

                <param name="root">returnStr</param>

            </result>  

        </action>

        

          <!-- 用户处理返回json -->

        <action name="user" class="userAction">

            <result type="json">

                <param name="root">returnStr</param>

            </result>  

        </action>

        

    </package>

</struts>
View Code

(5) web.xml

<?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.5" 

    xmlns="http://java.sun.com/xml/ns/javaee" 

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 

    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

  <welcome-file-list>

    <welcome-file>index.jsp</welcome-file>

  </welcome-file-list>

  

   <!-- Bootstrap the root application context as usual using ContextLoaderListener -->

  <listener>

      <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

      <!-- defalut:/WEB-INF/applicationContext.xml -->

  </listener>



  <context-param>

      <param-name>contextConfigLocation</param-name>

      <param-value>classpath:beans.xml</param-value>

  </context-param>

  

<filter>

    <filter-name>encodingFilter</filter-name>

    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>

    <init-param>

        <param-name>encoding</param-name>

        <param-value>GBK</param-value>

    </init-param>

</filter>



<filter-mapping>

    <filter-name>encodingFilter</filter-name>

    <url-pattern>/*</url-pattern>

</filter-mapping>  

  



    <filter>

    <filter-name>openSessionInView</filter-name>

    <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>

    <!--<init-param>

        <param-name>sessionFactoryBeanName</param-name>

        <param-value>sf</param-value>

    </init-param>

--></filter>

    

<filter-mapping>

    <filter-name>openSessionInView</filter-name>

    <url-pattern>/*</url-pattern>

</filter-mapping>      



<filter>

    <filter-name>struts2</filter-name>

    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>

</filter>



<filter-mapping>

    <filter-name>struts2</filter-name>

    <url-pattern>/*</url-pattern>

</filter-mapping>



</web-app>
View Code

3.9 jsp页面

(1) index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>

<%@taglib uri="/struts-tags" prefix="s" %>

<%

    String path = request.getContextPath();

    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <title>物流配货网</title>

    <base href="<%=basePath %>"/>

    <meta http-equiv="pragma" content="no-cache"/>

    <meta http-equiv="cache-control" content="no-cache"/>

    <meta http-equiv="expires" content="0"/>

    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"/>

    <meta http-equiv="description" content="This is my page"/>

    <jsp:include page="/header.jsp"></jsp:include><!-- 包含所需要的公共头文件 -->

    <script src="js/index.js" type="text/javascript"></script> 

    <style type="text/css">

    .table{

        border-collapse:collapse;

        border: 0px;

    }

    

    .td{

        height:24px;

        border-bottom:1px dotted #B6CEFB;

        /*border:1px solid #B6CEFB;*/

    }

    

    .th

    {

        height:24px;

        /*border:1px solid #B6CEFB;*/

    }

    

    .shell{}

    #div1

    {

        height:432px;

        overflow:hidden;

    }

</style>



</head>

<body>    

<jsp:include page="head.jsp"></jsp:include>

<div id="content" style="border: 1px solid #DDDDDD;">

    <jsp:include page="/left-index.jsp"></jsp:include>

<div id="center" style="border-left: 1px solid #DDDDDD; width: 768px;">

    <div >

        <table width="100%">

            <tr>

                <td align="left" height="18px"><b>车辆信息</b></td>

                <td align="right"><a href="car/carf-find.jsp"><b>更多>></b> </a></td>

            </tr>

        </table>

        <table width="100%" bgcolor="#DOE3FC">

            <tr>

                    <th height="24px">起始地点</th> 

                    <th>到达地点</th>

                    <th>车牌号码</th>

                    <th>车辆类型</th>

                    <th>车辆长度</th>

                    <th>车辆载重</th>

                    <th>操作</th>

           </tr>

        </table>

        <div class="shell">

            <div id="div1">

                <table id="tb_cars" width="100%" class="table">

                     

                </table>

            </div>

        </div>

    </div>



</div>

</div>

<jsp:include page="tail.jsp"></jsp:include>

</body>

<script>

var c,_=Function;

with(o=document.getElementById("div1")){ innerHTML+=innerHTML; onmouseover=_("c=1"); onmouseout=_("c=0");}

(F=_("if(#%27||!c)#++,#%=o.scrollHeight>>1;setTimeout(F,#%27?10:1500);".replace(/#/g,"o.scrollTop")))();

</script>

</html>
View Code

(2) head.jsp

<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>

<%@taglib uri="/struts-tags" prefix="s" %>

<%

    String userAccount=(String)session.getAttribute("userAccount");

    String userTypeName = (String)session.getAttribute("userTypeName");

    if (userAccount == null){

        userAccount = "";

    } 

    

    if(userTypeName == null){

        userTypeName="";

    }

%>

<table border="0" width="1024px">



<tr>

<td align="left">

<a href="index.jsp" style="text-decoration: none; color: blue;">物流配货网首页</a>

</td>

<td align="right">

欢迎您  &nbsp; &nbsp;

<a href="fixed/userf-personnalInfo" style="text-decoration: none; color: blue;">

<span id="loginUserAccount"><%=userAccount %></span></a>&nbsp;&nbsp;  

<%

    if (userAccount.equals("")){

        %>

<a href="login-fixed.jsp">登录</a>

        

        <%

    } else {

        %>

<a href="guest/logout-fixed">退出</a>        

        <%

    }

%>

<input type="hidden" id="userTypeName" value="<%=userTypeName %>" />

</td>

</tr>

</table>

<div id="topimage">

<img alt="物流配货网" src="images/wlphuo.gif" align="left">

</div>

<%

    if (userTypeName.equals("管理员")){

%>

<jsp:include page="menu-admin.jsp"></jsp:include>



<%

    }

    else {

%>

<jsp:include page="menu.jsp"></jsp:include>

<%

    }

%>
View Code

(3) left-index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>

<div id="left" style="width: 251px;">

    <div style="border: 1px solid #CFDEF6; margin: 6px;">

     <table width="100%" border="0" cellpadding="0" cellspacing="0" style="background-image: url(oimages/mainnews_bg.gif); background-repeat: repeat-x;">

         <tr>

             <td align="left" height="28px">

                 <span style="color: blue;">联系我们</span>

             </td>

         </tr>

     </table>

      <table width="100%" border="0" cellspacing="1" cellpadding="0">

          <tr>

              <td>

              <br />

              <br />

              <br />

              <font style="font-size: 18px; color: green;"> 全国客服热线: 8888-888888</font>

              <br />

              <br />

              <br />

              <br />

              </td>

          </tr>

      </table>

      </div>

     <div style="border: 1px solid #CFDEF6; margin:6px;">

     <!-- 使用工具表格 -->

     <table width="100%" border="0" cellpadding="0" cellspacing="0" style="background-image: url(oimages/mainnews_bg.gif); background-repeat: repeat-x;">

         <tr>

             <td height="24px">

                 &nbsp;<span class="btf">实用工具</span>

             </td>

         </tr>

     </table>

     <!--本站动态开始-->

     <table width="100%" border="0" cellspacing="1" cellpadding="4">

         <tr>

             <td bgcolor="#FFFBEF">

                 <div align="center">

                     <a href="http://www.123cha.com/idcard/" target="_blank">身份证验号</a></div>

             </td>

             <td bgcolor="#FFFBEF">

                 <div align="center">

                     <a href="http://www.ip138.com:8080/search.asp" target="_blank">手机号验号</a></div>

             </td>

         </tr>

         <tr>

             <td bgcolor="#DOE3FC">

                 <div align="center">

                     <a href="http://www.jdcsww.com/tools/other/selmile.asp" target="_blank">里程数查询</a></div>

             </td>

             <td bgcolor="#DOE3FC">

                 <div align="center">

                     <a href="http://www.youjia114.com/" target="_blank">全国油价查询</a></div>

             </td>

         </tr>

         <tr>

             <td bgcolor="#FFFBEF">

                 <div align="center">

                     <a href="http://www.doc88.com/p-66318487172.html" target="_blank">货运车资料</a></div>

             </td>

             <td bgcolor="#FFFBEF">

                 <div align="center">

                     <a href="http://weather.news.sina.com.cn/" target="_blank">天气预报</a></div>

             </td>

         </tr>

         <tr>

             <td bgcolor="#DOE3FC">

                 <div align="center">

                     <a href="http://qq.ip138.com/train/index.htm" target="_blank">列车时刻表</a></div>

             </td>

             <td bgcolor="#DOE3FC">

                 <div align="center">

                     <a href="http://www.ip138.com/" target="_blank">ip地址查询</a></div>

             </td>

         </tr>

         <tr>

             <td bgcolor="#FFFBEF">

                 <div align="center">

                     <a href="http://www.bjjtgl.gov.cn/publish/portal0/tab65/" target="_blank">路况信息</a></div>

             </td>

             <td bgcolor="#FFFBEF">

                 <div align="center">

                     <a href="http://map.baidu.com/" target="_blank">电子地图</a></div>

             </td>

         </tr>

         <tr>

             <td bgcolor="#DOE3FC">

                 <div align="center">

                     <a href="http://www.one101.com/htm/qita/ditu-china.htm" target="_blank">公路交通图</a></div>

             </td>

             <td bgcolor="#DOE3FC">

                 <div align="center">

                     <a href="http://www.for68.com/new/2006/1/su4518113645111160026107-0.htm" target="_blank">

                         航空货运单</a></div>

             </td>

         </tr>

         <tr>

             <td bgcolor="#FFFBEF">

                 <div align="center">

                     <a href="http://www.jctrans.com/tool/zxrl.htm" target="_blank">电子日历</a></div>

             </td>

             <td bgcolor="#FFFBEF">

                 <div align="center">

                     <a href="http://www.crane88.com/nrfind.asp" target="_blank">国道查询</a></div>

             </td>

         </tr>

         <tr>

             <td bgcolor="#DOE3FC">

                 <div align="center">

                     <a href="http://jiqiao.jxedt.com/info/3709.htm" target="_blank">各类交通标志</a></div>

             </td>

             <td bgcolor="#DOE3FC">

                 <div align="center">

                     <a href="http://hi.baidu.com/lmx%C1%D6%C3%CE%CF%A6/blog/item/b4f54eefe44275e9cf1b3e14.html"

                         target="_blank">地方汽车牌照</a></div>

             </td>

         </tr>

         <tr>

             <td bgcolor="#FFFBEF">

                 <div align="center">

                     <a href="http://weizhang.592163.com/" target="_blank">违章记录查询</a></div>

             </td>

             <td bgcolor="#FFFBEF">

                 <div align="center">

                     <a href="http://www.jincao.com/fa/law18.htm" target="_blank">交通法规</a></div>

             </td>

         </tr>

     </table>      

     </div>   

     <!-- 使用工具表格 -->

    </div> <!-- left -->
View Code

(4) tail.jsp

<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>



<div style="clear:both"></div>

<div id="tailBar"></div>

<div id="tail"><a href="#">关于我们</a> | <a href="#">服务条款</a> | <a href="#">法律声明</a> | <a href="#">联系我们</a> | <a href="#">友情链接</a><br />

  物流配货网版权所有2014-2014 网址: www.logistics.com 备案号: 鲁ICP备08098373号<br />

  客服热线:0888-88888888 全国免费电话: 888-888-8888 </div>
View Code

3.10 .classpath文件

<?xml version="1.0" encoding="UTF-8"?>

<classpath>

    <classpathentry kind="src" path="src"/>

    <classpathentry kind="src" path="test"/>

    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>

    <classpathentry kind="con" path="melibrary.com.genuitec.eclipse.j2eedt.core.MYECLIPSE_JAVAEE_5_CONTAINER"/>

    <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/struts2-json-plugin-2.2.3.jar" sourcepath="C:/Users/zhujinrong/.m2/repository/org/apache/struts/struts2-json-plugin/2.2.3/struts2-json-plugin-2.2.3-sources.jar"/>

    <classpathentry kind="lib" path="E:/code-hibernate/wlphuoD1/WebRoot/WEB-INF/lib/json-lib.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/antlr-2.7.6.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/aopalliance-1.0.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/asm-3.3.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/asm-commons-3.3.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/asm-tree-3.3.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/aspectj-1.7.1.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/aspectjweaver-1.5.3.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/cglib-nodep-2.1_3.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-beanutils.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-collections-3.1.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-dbcp.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-fileupload-1.2.2.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-io-2.0.1.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-lang-2.4.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-lang3-3.1.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-logging.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-pool.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/dom4j-1.6.1.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/ejb3-persistence.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/ezmorph-1.0.4.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/freemarker-2.3.19.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/hibernate-annotations.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/hibernate-commons-annotations.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/hibernate3.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/javassist-3.11.0.GA.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/json-lib.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/jta-1.1.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/log4j.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/ognl-3.0.5.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/slf4j-api-1.5.8.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-aop-3.2.0.RELEASE-javadoc.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-aop-3.2.0.RELEASE-sources.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-aop-3.2.0.RELEASE.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-aspects-3.2.0.RELEASE-javadoc.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-aspects-3.2.0.RELEASE-sources.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-aspects-3.2.0.RELEASE.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-beans-3.2.0.RELEASE-javadoc.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-beans-3.2.0.RELEASE-sources.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-beans-3.2.0.RELEASE.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-context-3.2.0.RELEASE-javadoc.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-context-3.2.0.RELEASE-sources.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-context-3.2.0.RELEASE.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-context-support-3.2.0.RELEASE-javadoc.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-context-support-3.2.0.RELEASE-sources.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-context-support-3.2.0.RELEASE.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-core-3.2.0.RELEASE-javadoc.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-core-3.2.0.RELEASE-sources.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-core-3.2.0.RELEASE.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-expression-3.2.0.RELEASE-javadoc.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-expression-3.2.0.RELEASE-sources.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-expression-3.2.0.RELEASE.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-instrument-3.2.0.RELEASE-javadoc.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-instrument-3.2.0.RELEASE-sources.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-instrument-3.2.0.RELEASE.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-instrument-tomcat-3.2.0.RELEASE-javadoc.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-instrument-tomcat-3.2.0.RELEASE-sources.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-instrument-tomcat-3.2.0.RELEASE.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-jdbc-3.2.0.RELEASE-javadoc.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-jdbc-3.2.0.RELEASE-sources.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-jdbc-3.2.0.RELEASE.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-jms-3.2.0.RELEASE-javadoc.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-jms-3.2.0.RELEASE-sources.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-jms-3.2.0.RELEASE.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-orm-3.2.0.RELEASE-javadoc.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-orm-3.2.0.RELEASE-sources.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-orm-3.2.0.RELEASE.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-oxm-3.2.0.RELEASE-javadoc.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-oxm-3.2.0.RELEASE-sources.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-oxm-3.2.0.RELEASE.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-struts-3.2.0.RELEASE-javadoc.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-struts-3.2.0.RELEASE-sources.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-struts-3.2.0.RELEASE.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-test-3.2.0.RELEASE-javadoc.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-test-3.2.0.RELEASE-sources.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-test-3.2.0.RELEASE.jar" sourcepath="C:/Users/zhujinrong/.m2/repository/org/springframework/spring-test/3.2.0.RELEASE/spring-test-3.2.0.RELEASE-sources.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-tx-3.2.0.RELEASE-javadoc.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-tx-3.2.0.RELEASE-sources.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-tx-3.2.0.RELEASE.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-web-3.2.0.RELEASE-javadoc.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-web-3.2.0.RELEASE-sources.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-web-3.2.0.RELEASE.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-webmvc-3.2.0.RELEASE-javadoc.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-webmvc-3.2.0.RELEASE-sources.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-webmvc-3.2.0.RELEASE.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-webmvc-portlet-3.2.0.RELEASE-javadoc.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-webmvc-portlet-3.2.0.RELEASE-sources.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/spring-webmvc-portlet-3.2.0.RELEASE.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/struts2-core-2.3.7.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/struts2-spring-plugin-2.3.7.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/xwork-core-2.3.7.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/cos.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/flexjson-2.0.jar"/>

    <classpathentry kind="con" path="melibrary.com.genuitec.eclipse.hibernate.MYECLIPSE_HIBERNATE3_3_EM"/>

    <classpathentry kind="con" path="melibrary.com.genuitec.eclipse.hibernate.MYECLIPSE_HIBERNATE3_3_CORE"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/sqljdbc4.jar"/>

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/slf4j-log4j12-1.5.8.jar"/>

    <classpathentry kind="lib" path="E:/03jar/sqljdbc4.jar"/>

    <classpathentry kind="output" path="WebRoot/WEB-INF/classes"/>

</classpath>
View Code

 

你可能感兴趣的:(java)