xmlns="
xmlns:
xsi="http:
//www.w3.org/2001/XMLSchema-instance"
xsi:
schemaLocation="
index.jsp
struts2
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
struts2
/*
org.springframework.web.context.ContextLoaderListener
contextConfigLocation
/WEB-INF/applicationContext.xml
8.加载struts框架,并加载所需要的jar包。
9.创建DAO,BaseDAO.java,IBookDAO.java,ICatalogDAO.java,IUserDAO.java
BaseDAO.java代码如下:
packageorg.apex.bookstore.dao;
importorg.hibernate.SessionFactory;
importorg.hibernate.classic.Session;
publicclassBaseDAO{
privateSessionFactorysessionFactory;
publicSessionFactorygetSessionFactory(){
returnsessionFactory;
}
publicvoidsetSessionFactory(SessionFactorysessionFactory){
this.sessionFactory=sessionFactory;
}
publicSessiongetSession(){
Sessionsession=sessionFactory.openSession();
returnsession;
}
}
IBookDAO.java代码如下:
packageorg.apex.bookstore.dao;
importjava.util.List;
importorg.apex.bookstore.vo.Book;
publicinterfaceIBookDAO{
publicListgetBookByCatalogid(Integercatalogid);
publicListgetBookByCatalogidPaging(Integercatalogid,intcurrentPage,intpageSize);
publicintgetTotalByCatalog(Integercatalogid);
publicBookgetBookById(Integerbookid);
publicListgetRequiredBookByHql(Stringhql);
publicListgetNewBook();
}
ICatalogDAO.java代码如下:
packageorg.apex.bookstore.dao;
importjava.util.List;
publicinterfaceICatalogDAO{
publicListgetAllCatalogs();
}
IUserDAO.java代码如下:
packageorg.apex.bookstore.dao;
importorg.apex.bookstore.vo.User;
publicinterfaceIUserDAO{
publicvoidsaveUser(Useruser);
publicUservalidateUser(Stringusername,Stringpassword);
publicbooleanexitUser(Stringusername);
}
10.创建service,IBookService.java,ICatalogService.java,IUserService.java
IBookService.java代码如下:
packageorg.apex.bookstore.service;
importjava.util.List;
importorg.apex.bookstore.vo.Book;
publicinterfaceIBookService{
publicListgetBookByCatalogid(Integercatalogid);
publicListgetBookByCatalogidPaging(Integercatalogid,intcurrentPage,intpageSize);
publicintgetTotalByCatalog(Integercatalogid);
publicBookgetBookById(Integerbookid);
publicListgetRequiredBookByHql(Stringhql);
publicListgetNewBook();
}
ICatalogService.java代码如下:
packageorg.apex.bookstore.service;
importjava.util.List;
publicinterfaceICatalogService{
publicListgetAllCatalogs();
}
IUserService.java代码如下:
packageorg.apex.bookstore.service;
importorg.apex.bookstore.vo.User;
publicinterfaceIUserService{
publicvoidsaveUser(Useruser);
publicUservalidateUser(Stringusername,Stringpassword);
publicbooleanexitUser(Stringusername);
}
11.创建action,包括BookAction.java和UserAction.java
BookAction.java代码如下:
packageorg.apex.bookstore.action;
importjava.util.List;
importjava.util.Map;
importorg.apex.bookstore.service.IBookService;
importorg.apex.bookstore.service.ICatalogService;
importorg.apex.bookstore.util.Pager;
importcom.opensymphony.xwork2.ActionContext;
importcom.opensymphony.xwork2.ActionSupport;
publicclassBookActionextendsActionSupport{
protectedICatalogServicecatalogService;
protectedIBookServicebookService;
protectedIntegercatalogid;
privateIntegercurrentPage=1;
privateStringbookname;
privateintminPrice;
privateintmaxPrice;
publicIntegergetCatalogid(){
returncatalogid;
}
publicvoidsetCatalogid(Integercatalogid){
this.catalogid=catalogid;
}
publicICatalogServicegetCatalogService(){
returncatalogService;
}
publicvoidsetCatalogService(ICatalogServicecatalogService){
this.catalogService=catalogService;
}
publicStringbrowseCatalog()throwsException{
Listcatalogs=catalogService.getAllCatalogs();
Maprequest=(Map)ActionContext.getContext().get("request");
request.put("catalogs",catalogs);
returnSUCCESS;
}
publicStringbrowseBookPaging()throwsException{
inttotalSize=bookService.getTotalByCatalog(catalogid);
Pagerpager=newPager(currentPage,totalSize);
//Listbooks=bookService.getBookByCatalogid(catalogid);
Listbooks=bookService.getBookByCatalogidPaging(catalogid,currentPage,pager.getPageSize());
Maprequest=(Map)ActionContext.getContext().get("request");
request.put("books",books);
request.put("pager",pager);
//购物车要返回时,需要记住返回的地址
Mapsession=ActionContext.getContext().getSession();
request.put("catalogid",catalogid);
returnSUCCESS;
}
publicStringbrowseBook()throwsException{
Listbooks=bookService.getBookByCatalogid(catalogid);
Maprequest=(Map)ActionContext.getContext().get("request");
request.put("books",books);
returnSUCCESS;
}
publicStringsearchBook()throwsException{
StringBufferhql=newStringBuffer("fromBookb");
if(bookname!
=null&&bookname.length()!
=0)
hql.append("whereb.booknamelike'%"+bookname+"%'");
//if(minPrice!
=0&&maxPrice!
=0)
//hql.append("andb.price>"+minPrice+"andb.price<"+maxPrice);
Listbooks=bookService.getRequiredBookByHql(hql.toString());
Maprequest=(Map)ActionContext.getContext().get("request");
System.out.println(hql);
System.out.println(bookname);
request.put("books",books);
returnSUCCESS;
}
publicStringnewBook()throwsException{
Listbooks=bookService.getNewBook();
Maprequest=(Map)ActionContext.getContext().get("request");
request.put("books",books);
returnSUCCESS;
}
publicIBookServicegetBookService(){
returnbookService;
}
publicvoidsetBookService(IBookServicebookService){
this.bookService=bookService;
}
publicIntegergetCurrentPage(){
returncurrentPage;
}
publicvoidsetCurrentPage(IntegercurrentPage){
this.currentPage=currentPage;
}
publicStringgetBookname(){
returnbookname;
}
publicvoidsetBookname(Stringbookname){
this.bookname=bookname;
}
}
UserAction.java代码如下:
packageorg.apex.bookstore.action;
importjava.util.Map;
importorg.apex.bookstore.service.IUserService;
importorg.apex.bookstore.service.impl.UserService;
importorg.apex.bookstore.vo.User;
importcom.opensymphony.xwork2.ActionContext;
importcom.opensymphony.xwork2.ActionSupport;
publicclassUserActionextendsActionSupport{
protectedStringusername;
protectedStringpassword;
protectedStringsex;
protectedintage;
protectedUseruser;
protectedIUserServiceuserService;
publicUsergetUser(){
returnthis.user;
}
publicvoidsetUser(Useruser){
this.user=user;
}
publicvoidsetUserService(IUserServiceuserService){
this.userService=userService;
}
publicIUserServicegetUserService(){
returnthis.userService;
}
publicStringexecute()throwsException{
Useru=userService.validateUser(user.getUsername(),user.getPassword());
if(u!
=null){
Mapsessio