基于javaweb和mysql的jsp+servlet书籍交换二手交易二手书城系统(java+servlet+jsp+mysql)
·
基于javaweb和mysql的jsp+servlet书籍交换二手交易二手书城系统(java+servlet+jsp+mysql)
私信源码获取及调试交流
私信源码获取及调试交流
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb的JSP+Servlet书籍交换二手交易二手书城系统(java+servlet+jsp+mysql)
管理员:
admin 123456
学生:
stu1 123456
stu2 123456
stu3 123456
功能:1.查阅个人信息
2.商城购买书籍和上架书籍(上架时加上书籍信息(包括书名,完整程度,书籍照片,价格,卖家联系方式)),买家可以查看这些信息
3.书籍交换(通过捐赠书籍获取领取书籍次数,领取书籍是从捐赠的书籍中随机抽取几本)
//处理获取到的上传文件的文件名的路径部分,只保留文件名部分
filename = filename.substring(filename.lastIndexOf("\\")+1);
//获取item中的上传文件的输入流
InputStream in = item.getInputStream();
//创建一个文件输出流
FileOutputStream out = new FileOutputStream(savePath + "\\" + filename);
//创建一个缓冲区
byte buffer[] = new byte[1024];
//判断输入流中的数据是否已经读完的标识
int len = 0;
//循环将输入流读入到缓冲区当中,(len=in.read(buffer))>0就表示in里面还有数据
while((len=in.read(buffer))>0){
//使用FileOutputStream输出流将缓冲区的数据写入到指定的目录(savePath + "\\" + filename)当中
out.write(buffer, 0, len);
}
//关闭输入流
in.close();
//关闭输出流
out.close();
//删除处理文件上传时生成的临时文件
item.delete();
msg = "文件上传成功!";
book.setPic("\\upload" + "\\" + filename);
}
}
if (book.getId()!=null && !"".equals(book.getId())) {
Book oldBook = bookService.getById(book.getId());
bookService.update(book);
if ("1".equals(oldBook.getType())) {
if ("2".equals(book.getType())) {
User byId = userService.getById(book.getUploader());
byId.setChanges(byId.getChanges()+1);
userService.update(byId);
}
}
if ("2".equals(oldBook.getType())) {
if ("1".equals(book.getType())) {
User byId = userService.getById(book.getUploader());
byId.setChanges(byId.getChanges()-1);
userService.update(byId);
}
}
}else{
book.setIsOver("0");
bookService.add(book);
if ("2".equals(book.getType())) {
User byId = userService.getById(book.getUploader());
byId.setChanges(byId.getChanges()+1);
userService.update(byId);
}
}
private static final long serialVersionUID = 1L;
private String contextPath = "";
BookDao bookDao=new BookDao();
BookService bookService = new BookServiceImpl();
UserService userService = new UserServiceImpl();
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
contextPath = request.getServletContext().getContextPath();
String method = request.getParameter("method");
if ("add".equals(method)) {
add(request,response);
}else if ("delete".equals(method)) {
delete(request, response);
}else if ("list".equals(method)) {
list(request, response);
}else if ("update".equals(method)) {
update(request, response);
}else if ("form".equals(method)) {
form(request, response);
}else if ("save".equals(method)) {
save(request, response);
}else if ("index".equals(method)) {
index(request, response);
}else if ("detail".equals(method)) {
detail(request, response);
}else if ("sell".equals(method)) {
sell(request, response);
}else if ("published".equals(method)) {
published(request, response);
}else if ("logout".equals(method)) {
logout(request, response);
}else if ("buy".equals(method)) {
buy(request, response);
}else if ("alerdBuy".equals(method)) {
alerdBuy(request, response);
}else if ("bookchange".equals(method)) {
bookchange(request, response);
}else if ("getChangeBook".equals(method)) {
getChangeBook(request, response);
}
}
private void buy(HttpServletRequest request, HttpServletResponse response) throws IOException {
PrintWriter writer = response.getWriter();
try {
}else{
//无免费领取次数,请发布交换书籍
writer.print(2);
}
}
} catch (Exception e) {
e.printStackTrace();
writer.write(0);
}
}
private void logout(HttpServletRequest request, HttpServletResponse response) {
request.getSession().removeAttribute("flogin");
try {
response.sendRedirect(contextPath+"/f?method=index");
} catch (IOException e) {
e.printStackTrace();
}
}
//form跳转页面
private void index(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Book book = new Book();
//分页有关
Page<Book> page = new Page<Book>();
//设置查询页
String pageNoStr = request.getParameter("pageNo");
if (pageNoStr != null && pageNoStr != "") {
page.setPageNo(Integer.parseInt(pageNoStr));
}
//设置查询条件
String bookName = request.getParameter("bookName");
if (bookName != null && bookName != "") {
book.setBookName(bookName);
request.setAttribute("bookName", bookName);
}
page = bookService.page(book, page);
request.setAttribute("page", page);
request.getRequestDispatcher("/views/front/index.jsp").forward(request, response);
}
//书籍交互
private void bookchange(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Book book = new Book();
//分页有关
Page<Book> page = new Page<Book>();
//设置查询页
String pageNoStr = request.getParameter("pageNo");
if (pageNoStr != null && pageNoStr != "") {
page.setPageNo(Integer.parseInt(pageNoStr));
}
//设置查询条件
String bookName = request.getParameter("bookName");
while((len=in.read(buffer))>0){
//使用FileOutputStream输出流将缓冲区的数据写入到指定的目录(savePath + "\\" + filename)当中
out.write(buffer, 0, len);
}
//关闭输入流
in.close();
//关闭输出流
out.close();
//删除处理文件上传时生成的临时文件
item.delete();
msg = "文件上传成功!";
book.setPic("\\upload" + "\\" + filename);
}
}
if (book.getId()!=null && !"".equals(book.getId())) {
Book oldBook = bookService.getById(book.getId());
bookService.update(book);
if ("1".equals(oldBook.getType())) {
if ("2".equals(book.getType())) {
User byId = userService.getById(book.getUploader());
byId.setChanges(byId.getChanges()+1);
userService.update(byId);
}
}
if ("2".equals(oldBook.getType())) {
if ("1".equals(book.getType())) {
User byId = userService.getById(book.getUploader());
byId.setChanges(byId.getChanges()-1);
userService.update(byId);
}
}
}else{
book.setIsOver("0");
bookService.add(book);
if ("2".equals(book.getType())) {
User byId = userService.getById(book.getUploader());
byId.setChanges(byId.getChanges()+1);
userService.update(byId);
}
}
response.sendRedirect(contextPath+"/f?method=published");
}catch (Exception e) {
msg= "文件上传失败!";
msg= "文件上传失败!";
e.printStackTrace();
request.setAttribute("msg",msg);
request.getRequestDispatcher("/views/front/publish.jsp").forward(request, response);
}
}
//删除
private void delete(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String id = request.getParameter("id");
bookService.delete(id);
response.sendRedirect(contextPath+"/book?method=list");
}
//修改
private void update(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String id = request.getParameter("id");
String bookName = request.getParameter("bookName");
String price = request.getParameter("price");
String author = request.getParameter("author");
String content = request.getParameter("content");
String product = request.getParameter("product");
String productTime = request.getParameter("productTime");
Book book = new Book();
book.setId(id);
book.setBookName(bookName);
book.setPrice(price);
book.setAuthor(author);
book.setContent(content);
book.setProduct(product);
bookService.update(book);
request.setAttribute("book", book);
request.getRequestDispatcher("/views/system/bookForm.jsp").forward(request, response);
}
//列表查询
private void list(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.err.println("---开始查询---");
Book book = new Book();
//分页有关
Page<Book> page = new Page<Book>();
//设置查询页
String pageNoStr = request.getParameter("pageNo");
if (pageNoStr != null && pageNoStr != "") {
page.setPageNo(Integer.parseInt(pageNoStr));
}
if ("price".endsWith(name)) {
book.setPrice(item.getString("UTF-8"));
}
if ("author".endsWith(name)) {
book.setAuthor(item.getString("UTF-8"));
}
if ("content".endsWith(name)) {
book.setContent(item.getString("UTF-8"));
}
if ("product".endsWith(name)) {
book.setProduct(item.getString("UTF-8"));
}
if ("uploader".endsWith(name)) {
book.setUploader(item.getString("UTF-8"));
}
if ("type".endsWith(name)) {
book.setType(item.getString("UTF-8"));
}
if ("pic".endsWith(name)) {
book.setPic(item.getString("UTF-8"));
}
}else{//如果fileitem中封装的是上传文件
//得到上传的文件名称,
String filename = item.getName();
System.out.println(filename);
if(filename==null || filename.trim().equals("")){
continue;
}
//注意:不同的浏览器提交的文件名是不一样的,有些浏览器提交上来的文件名是带有路径的,如: c:\a\b\1.txt,而有些只是单纯的文件名,如:1.txt
//处理获取到的上传文件的文件名的路径部分,只保留文件名部分
filename = filename.substring(filename.lastIndexOf("\\")+1);
//获取item中的上传文件的输入流
InputStream in = item.getInputStream();
//创建一个文件输出流
FileOutputStream out = new FileOutputStream(savePath + "\\" + filename);
//创建一个缓冲区
byte buffer[] = new byte[1024];
if (bookName != null && bookName != "") {
book.setBookName(bookName);
request.setAttribute("bookName", bookName);
}
book.setType("2");
book.setIsOver("0");
page = bookService.page(book, page);
request.setAttribute("page", page);
Object attribute = request.getSession().getAttribute("flogin");
if (attribute!=null) {
User user = (User) attribute;
String id = user.getId();
List<Book> list = page.getList();
List<String> ids = new ArrayList<String>();
for (Book book2 : list) {
if (!book2.getUploader().equals(id)) {
ids.add(book2.getId());
}
}
request.getSession().setAttribute("ids", ids);
}
request.getRequestDispatcher("/views/front/bookchange.jsp").forward(request, response);
}
//随机获取书籍
private void getChangeBook(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter writer = response.getWriter();
try {
Object attribute = request.getSession().getAttribute("ids");
if (attribute!=null) {
List<String> idStrings = (List<String>) attribute;
int size = idStrings.size();
if (size==0) {
writer.println("3");
}else{
User user = (User) request.getSession().getAttribute("flogin");
if (user.getChanges()>0) {
int i = (int)(1+Math.random()*(size-1+1));
System.out.println(i);
String string = idStrings.get(i-1);//获取到交换的书籍ID
Book book = bookService.getById(string);
book.setIsOver("1");
book.setBuyer(user.getId());
bookService.update(book);
writer.println("1");
}else{
writer.println("2");
}
}
}
} catch (Exception e) {
e.printStackTrace();
writer.println("0");
String pageNoStr = request.getParameter("pageNo");
if (pageNoStr != null && pageNoStr != "") {
page.setPageNo(Integer.parseInt(pageNoStr));
}
//设置查询条件
String bookName = request.getParameter("bookName");
if (bookName != null && bookName != "") {
book.setBookName(bookName);
request.setAttribute("bookName", bookName);
}
Object attribute = request.getSession().getAttribute("flogin");
if (attribute!=null) {
User user = (User) attribute;
book.setUploader(user.getId());
}
page = bookService.page(book, page);
request.setAttribute("page", page);
request.getRequestDispatcher("/views/front/published.jsp").forward(request, response);
}
//form跳转页面
private void alerdBuy(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Book book = new Book();
//分页有关
Page<Book> page = new Page<Book>();
//设置查询页
String pageNoStr = request.getParameter("pageNo");
if (pageNoStr != null && pageNoStr != "") {
page.setPageNo(Integer.parseInt(pageNoStr));
}
//设置查询条件
String bookName = request.getParameter("bookName");
if (bookName != null && bookName != "") {
book.setBookName(bookName);
request.setAttribute("bookName", bookName);
}
Object attribute = request.getSession().getAttribute("flogin");
if (attribute!=null) {
User user = (User) attribute;
book.setBuyer(user.getId());
}
page = bookService.page(book, page);
request.setAttribute("page", page);
request.getRequestDispatcher("/views/front/alerdBuy.jsp").forward(request, response);
}
Book book = new Book();
book.setBookName(bookName);
book.setPrice(price);
book.setAuthor(author);
book.setContent(content);
book.setProduct(product);
bookService.add(book);
response.sendRedirect(contextPath+"/book?method=list");
}
//添加保存
protected void save(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Book book = new Book();
//得到上传文件的保存目录,将上传的文件存放于WEB-INF目录下,不允许外界直接访问,保证上传文件的安全
String savePath = this.getServletContext().getRealPath("/upload");
File file = new File(savePath);
//判断上传文件的保存目录是否存在
if (!file.exists() && !file.isDirectory()) {
System.out.println(savePath+"目录不存在,需要创建");
//创建目录
file.mkdir();
}
//消息提示
String msg = "";
try{
//使用Apache文件上传组件处理文件上传步骤:
//1、创建一个DiskFileItemFactory工厂
DiskFileItemFactory factory = new DiskFileItemFactory();
//2、创建一个文件上传解析器
ServletFileUpload upload = new ServletFileUpload(factory);
//解决上传文件名的中文乱码
upload.setHeaderEncoding("UTF-8");
//3、判断提交上来的数据是否是上传表单的数据
if(!ServletFileUpload.isMultipartContent(request)){
//按照传统方式获取数据
return;
}
//4、使用ServletFileUpload解析器解析上传数据,解析结果返回的是一个List<FileItem>集合,每一个FileItem对应一个Form表单的输入项
List<FileItem> list = upload.parseRequest(request);
for(FileItem item : list){
//如果fileitem中封装的是普通输入项的数据
if(item.isFormField()){
String name = item.getFieldName();
//解决普通输入项的数据的中文乱码问题
if ("id".endsWith(name)) {
if (item.getString("UTF-8")!=null && item.getString("UTF-8")!="") {
book.setId(item.getString("UTF-8"));
}
}
if ("bookName".endsWith(name)) {
book.setBookName(item.getString("UTF-8"));
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
contextPath = request.getServletContext().getContextPath();
String method = request.getParameter("method");
if ("add".equals(method)) {
add(request,response);
}else if ("delete".equals(method)) {
delete(request, response);
}else if ("list".equals(method)) {
list(request, response);
}else if ("update".equals(method)) {
update(request, response);
}else if ("form".equals(method)) {
form(request, response);
}else if ("save".equals(method)) {
save(request, response);
}else if ("login".equals(method)) {
login(request, response);
}
}
private void login(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
String username = request.getParameter("username");
String password = request.getParameter("password");
User login = userService.login(username, password);
if (login!=null) {
if ("1".equals(login.getRole())) {
request.getSession().setAttribute("login", login);
}else {
request.getSession().setAttribute("flogin", login);
}
}else{
}
}
}
if ("uploader".endsWith(name)) {
book.setUploader(item.getString("UTF-8"));
}
if ("type".endsWith(name)) {
book.setType(item.getString("UTF-8"));
}
}else{//如果fileitem中封装的是上传文件
//得到上传的文件名称,
String filename = item.getName();
System.out.println(filename);
if(filename==null || filename.trim().equals("")){
continue;
}
//注意:不同的浏览器提交的文件名是不一样的,有些浏览器提交上来的文件名是带有路径的,如: c:\a\b\1.txt,而有些只是单纯的文件名,如:1.txt
//处理获取到的上传文件的文件名的路径部分,只保留文件名部分
filename = filename.substring(filename.lastIndexOf("\\")+1);
//获取item中的上传文件的输入流
InputStream in = item.getInputStream();
//创建一个文件输出流
FileOutputStream out = new FileOutputStream(savePath + "\\" + filename);
//创建一个缓冲区
byte buffer[] = new byte[1024];
//判断输入流中的数据是否已经读完的标识
int len = 0;
//循环将输入流读入到缓冲区当中,(len=in.read(buffer))>0就表示in里面还有数据
while((len=in.read(buffer))>0){
//使用FileOutputStream输出流将缓冲区的数据写入到指定的目录(savePath + "\\" + filename)当中
out.write(buffer, 0, len);
}
//关闭输入流
in.close();
//关闭输出流
out.close();
//删除处理文件上传时生成的临时文件
item.delete();
msg = "文件上传成功!";
book.setPic("\\upload" + "\\" + filename);
}
}
if (book.getId()!=null && !"".equals(book.getId())) {
bookService.update(book);
}else{
bookService.add(book);
//form跳转页面
private void sell(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String id = request.getParameter("id");
Book book = new Book();
if (id!=null && id!="") {
book = bookService.getById(id);
}
request.setAttribute("book", book);
request.getRequestDispatcher("/views/front/publish.jsp").forward(request, response);
}
//form跳转页面
private void published(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Book book = new Book();
//分页有关
Page<Book> page = new Page<Book>();
//设置查询页
String pageNoStr = request.getParameter("pageNo");
if (pageNoStr != null && pageNoStr != "") {
page.setPageNo(Integer.parseInt(pageNoStr));
}
//设置查询条件
String bookName = request.getParameter("bookName");
if (bookName != null && bookName != "") {
book.setBookName(bookName);
request.setAttribute("bookName", bookName);
}
Object attribute = request.getSession().getAttribute("flogin");
if (attribute!=null) {
User user = (User) attribute;
book.setUploader(user.getId());
}
page = bookService.page(book, page);
request.setAttribute("page", page);
request.getRequestDispatcher("/views/front/published.jsp").forward(request, response);
}
//form跳转页面
private void alerdBuy(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Book book = new Book();
//分页有关
Page<Book> page = new Page<Book>();
//设置查询页
String product = request.getParameter("product");
String productTime = request.getParameter("productTime");
Book book = new Book();
book.setBookName(bookName);
book.setPrice(price);
book.setAuthor(author);
book.setContent(content);
book.setProduct(product);
bookService.add(book);
response.sendRedirect(contextPath+"/book?method=list");
}
//添加保存
protected void save(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Book book = new Book();
//得到上传文件的保存目录,将上传的文件存放于WEB-INF目录下,不允许外界直接访问,保证上传文件的安全
String savePath = this.getServletContext().getRealPath("/upload");
File file = new File(savePath);
//判断上传文件的保存目录是否存在
if (!file.exists() && !file.isDirectory()) {
System.out.println(savePath+"目录不存在,需要创建");
//创建目录
file.mkdir();
}
//消息提示
String msg = "";
try{
//使用Apache文件上传组件处理文件上传步骤:
//1、创建一个DiskFileItemFactory工厂
DiskFileItemFactory factory = new DiskFileItemFactory();
//2、创建一个文件上传解析器
ServletFileUpload upload = new ServletFileUpload(factory);
//解决上传文件名的中文乱码
upload.setHeaderEncoding("UTF-8");
//3、判断提交上来的数据是否是上传表单的数据
if(!ServletFileUpload.isMultipartContent(request)){
//按照传统方式获取数据
return;
}
//4、使用ServletFileUpload解析器解析上传数据,解析结果返回的是一个List<FileItem>集合,每一个FileItem对应一个Form表单的输入项
List<FileItem> list = upload.parseRequest(request);
for(FileItem item : list){
@WebServlet("/user")
public class UserController extends HttpServlet {
private static final long serialVersionUID = 1L;
private String contextPath = "";
UserDao userDao=new UserDao();
UserService userService = new UserServiceImpl();
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
contextPath = request.getServletContext().getContextPath();
String method = request.getParameter("method");
if ("add".equals(method)) {
add(request,response);
}else if ("delete".equals(method)) {
delete(request, response);
}else if ("list".equals(method)) {
list(request, response);
}else if ("update".equals(method)) {
update(request, response);
}else if ("form".equals(method)) {
form(request, response);
}else if ("save".equals(method)) {
save(request, response);
}else if ("login".equals(method)) {
login(request, response);
}
}
private void login(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
String username = request.getParameter("username");
String password = request.getParameter("password");
User login = userService.login(username, password);
if (login!=null) {
if ("1".equals(login.getRole())) {
request.getSession().setAttribute("login", login);
}
}else{
book.setIsOver("0");
bookService.add(book);
if ("2".equals(book.getType())) {
User byId = userService.getById(book.getUploader());
byId.setChanges(byId.getChanges()+1);
userService.update(byId);
}
}
response.sendRedirect(contextPath+"/f?method=published");
}catch (Exception e) {
msg= "文件上传失败!";
e.printStackTrace();
request.setAttribute("msg",msg);
request.getRequestDispatcher("/views/front/publish.jsp").forward(request, response);
}
}
//删除
private void delete(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String id = request.getParameter("id");
bookService.delete(id);
response.sendRedirect(contextPath+"/book?method=list");
}
//修改
private void update(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String id = request.getParameter("id");
String bookName = request.getParameter("bookName");
String price = request.getParameter("price");
String author = request.getParameter("author");
String content = request.getParameter("content");
String product = request.getParameter("product");
String productTime = request.getParameter("productTime");
Book book = new Book();
book.setId(id);
book.setBookName(bookName);
book.setPrice(price);
book.setAuthor(author);
book.setContent(content);
book.setProduct(product);
bookService.update(book);
request.setAttribute("book", book);
request.getRequestDispatcher("/views/system/bookForm.jsp").forward(request, response);
}
//列表查询
private void list(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.err.println("---开始查询---");
Book book = new Book();
//分页有关
Page<Book> page = new Page<Book>();
}else{
}
}
//添加
private void add(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
String name = request.getParameter("trueName");
String sex = request.getParameter("sex");
String phone = request.getParameter("phone");
String role = request.getParameter("role");
User user = new User();
user.setUsername(username);
user.setPassword(password);
user.setName(name);
user.setSex(sex);
user.setPhone(phone);
user.setRole(role);
user.setChanges(0);
userService.add(user);
}
//添加保存
protected void save(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
User user = new User();
//得到上传文件的保存目录,将上传的文件存放于WEB-INF目录下,不允许外界直接访问,保证上传文件的安全
String savePath = this.getServletContext().getRealPath("/upload");
File file = new File(savePath);
//判断上传文件的保存目录是否存在
if (!file.exists() && !file.isDirectory()) {
System.out.println(savePath+"目录不存在,需要创建");
//创建目录
file.mkdir();
}
//消息提示
String msg = "";
try{
//使用Apache文件上传组件处理文件上传步骤:
//1、创建一个DiskFileItemFactory工厂
DiskFileItemFactory factory = new DiskFileItemFactory();
//2、创建一个文件上传解析器
ServletFileUpload upload = new ServletFileUpload(factory);
//解决上传文件名的中文乱码
book.setType("2");
book.setIsOver("0");
page = bookService.page(book, page);
request.setAttribute("page", page);
Object attribute = request.getSession().getAttribute("flogin");
if (attribute!=null) {
User user = (User) attribute;
String id = user.getId();
List<Book> list = page.getList();
List<String> ids = new ArrayList<String>();
for (Book book2 : list) {
if (!book2.getUploader().equals(id)) {
ids.add(book2.getId());
}
}
request.getSession().setAttribute("ids", ids);
}
request.getRequestDispatcher("/views/front/bookchange.jsp").forward(request, response);
}
//随机获取书籍
private void getChangeBook(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter writer = response.getWriter();
try {
Object attribute = request.getSession().getAttribute("ids");
if (attribute!=null) {
List<String> idStrings = (List<String>) attribute;
int size = idStrings.size();
if (size==0) {
writer.println("3");
}else{
User user = (User) request.getSession().getAttribute("flogin");
if (user.getChanges()>0) {
int i = (int)(1+Math.random()*(size-1+1));
System.out.println(i);
String string = idStrings.get(i-1);//获取到交换的书籍ID
Book book = bookService.getById(string);
book.setIsOver("1");
book.setBuyer(user.getId());
bookService.update(book);
writer.println("1");
}else{
writer.println("2");
}
}
}
} catch (Exception e) {
e.printStackTrace();
writer.println("0");
}
}
//form跳转页面








更多推荐
所有评论(0)