今天木兰小盆友给大家讲一下关于Struts2框架的图书管理系统(实现增删改查),先把总体的分层列下来:
在做这个项目之前先把jar包导进去,最重要的是吧struts2的框架搭建好。那么接下来我们代码一层一层展示。
在做这个项目之前先把数据库建好如下图:
‘’
接下来建造八个包,action包BookAction.java代码如下:
package com.hnpi.action;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.ServletActionContext;
import com.hnpi.bean.Book;
import com.hnpi.service.BookService;
import com.hnpi.service.impl.BookServiceImpl;
import com.opensymphony.xwork2.ActionSupport;
public class BookAction extends ActionSupport{
private Book book;
public Book getBook() {
return book;
}
public void setBook(Book book) {
this.book = book;
}
/**
* 查询图书
* @return
*/
public String bookList(){
//从数据库获取数据 进行数据准备 然后将数据传至bookList.jsp
BookService bookService = new BookServiceImpl();
List<Book> books = bookService.selectBooks();
//如果不通过request 设置属性的方式传值 可不可以通过传递字符串(json)字符串的方式放在页面进行显示
//action 传递给页面的json字符串 页面怎么处理
HttpServletRequest request = ServletActionContext.getRequest();
request.setAttribute("books", books);
return "success";
}
/**
* 准备新增图书
* @return
*/
public String toAddBook() {
return "success";
}
/**
* 新增图书
* @return
*/
public String addBook() {
BookService bookService = new BookServiceImpl();
bookService.addBook(book);
return "success";
}
/**
* 删除图书
* @return
*/
public String delBook(){
BookService bookService = new BookServiceImpl();
bookService.deleteBook(book.getId());
return "success";
}
/**
* 根据id查询图书 并跳转到更新图书页面
* @return
*/
public String selectBookId(){
BookService bookService = new BookServiceImpl();
Book booksId = bookService.selectBookId(book.getId());
HttpServletRequest request = ServletActionContext.getRequest();
request.setAttribute("booksId", booksId);
return "success";
}
/**
* 更新图书
* @return
*/
public String updateBook(){
BookService bookService = new BookServiceImpl();
bookService.updateBook(book);
return "success";
}
// public String updateBook(){
// BookService bookService = new BookServiceImpl();
// bookService.updateBook(book.getId());
// return "success";
// }
}
action中的LoginAction.java代码如下:
package com.hnpi.action;
import java.util.Map;
import javax.servlet.http.HttpSession;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport {
private String name;
private String pwd;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public String login(){
if(name !=null &&!"".equals(name) && pwd !=null &&!"".equals(pwd)){
//判断
if(name.equals("xxs")&&pwd.equals("123")){
Map<String, Object> session = ActionContext.getContext().getSession();
session.put("user", name);
return "success";
}else{
return "fail";
}
}else{
return "fail";
}
}
}
然后是bean包Book.java代码如下:
package com.hnpi.bean;
public class Book {
private int id;
private String bookName;
private String bookAuthor;
private String bookIsbn;
private String bookPublish;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getBookName() {
return bookName;
}
public void setBookName(String bookName) {
this.bookName = bookName;
}
public String getBookAuthor() {
return bookAuthor;
}
public void setBookAuthor(String bookAuthor) {
this.bookAuthor = bookAuthor;
}
public String getBookIsbn() {
return bookIsbn;
}
public void setBookIsbn(String bookIsbn) {
this.bookIsbn = bookIsbn;
}
public String getBookPublish() {
return bookPublish;
}
public void setBookPublish(String bookPublish) {
this.bookPublish = bookPublish;
}
public Book() {
super();
}
public Book(int id, String bookName, String bookAuthor, String bookIsbn,
String bookPublish) {
super();
this.id = id;
this.bookName = bookName;
this.bookAuthor = bookAuthor;
this.bookIsbn = bookIsbn;
this.bookPublish = bookPublish;
}
public String toString() {
return "Book [bookAuthor=" + bookAuthor + ", bookIsbn=" + bookIsbn
+ ", bookName=" + bookName + ", bookPublish=" + bookPublish
+ ", id=" + id + "]";
}
}
dao层BookDao.java代码如下:
package com.hnpi.dao;
import java.util.List;
import com.hnpi.bean.Book;
public interface BookDao {
/**
* 查询所有图书
*