实现的功能:
连接mysql数据库获得书目清单;
图书分页显示;并可以实现跳转,动态获取单页书目而不是直接取回所有
可以往购买池里添加书目并显示及计算总价;
在添加完成后可以点击购买跳转页面
在工作当中前端和后端自然是分开的,但是在学习的时候还是都懂一点比较好,这个只是一个小小的几何,很多功能还没实现,只是一个很简单的,但是花点时间去完善的话还是不错的;主要是用来做前端+后台的综合小练习,不然真正要完善那花的时间太长,影响后续学习。
前端页面部分:
bookview.html;前端部分最重要的页面,用于获取书目列表和添加书目到购物车里
这里不把js文件分开了,因为这个文件主要就是js为主,实现了动态添加节点,避免造成某一页书目太少留有一大片空白的尴尬
图书在线浏览
在线图书购物商城
总共 页
当前第 1 页
首页
上一页
下一页
尾页
总价:
0元
package bookstore;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Collection;
public class BookList {
private Collection list;
private Connection con;
private ConnectMysql connection;
public static int rowsPerPage=6;
private int pageCounts;
private int rowsCounts;
public Collection getPage(int pageNum) throws SQLException{
list=new ArrayList();
con=connection.getConnection();
String sql="select * from booklist limit "+(pageNum-1)*rowsPerPage+" , "+rowsPerPage;
Statement st=con.createStatement();
ResultSet rs=st.executeQuery(sql);
while(rs.next()){
BookBean book=new BookBean();
//book.setId(rs.getString("book_id"));
book.setName(rs.getString("book_name"));
//book.setAuthor(rs.getString("book_author"));
book.setPrice(rs.getFloat("book_price"));
list.add(book);
}
st.close();
con.close();
rs.close();
return list;
}
public int getRowsCount() throws SQLException{
con=connection.getConnection();
String sql="select count(*) from booklist";
Statement st=con.createStatement();
ResultSet rs=st.executeQuery(sql);
rs.first();
rowsCounts=rs.getInt(1);
st.close();
rs.close();
con.close();
return rowsCounts;
}
public int getPageCounts()throws SQLException{
int rows=getRowsCount();
if(rows%rowsPerPage==0){
pageCounts=rows/rowsPerPage;
}else {
pageCounts=rows/rowsPerPage+1;
}
return pageCounts;
}
public int getRowsPerPage(){
return rowsPerPage;
}
}
4.jsp页面:处理前端请求,主要是封装了一个JSON类返回
<%@page import="net.sf.json.JSONArray"%>
<%@page import="net.sf.json.JSONObject"%>
<%@page import="java.util.Collection"%>
<%@page import="java.io.PrintWriter"%>
<%@page import="bookstore.BookList"%>
<%@ page language="java" contentType="text/html; charset=gb2312"
pageEncoding="gb2312"%>