Java Web圖書館程序設計

博主在學習Java Web是,接觸到了幾個較爲適合學習的項目,其中一個是網上書店,採用MVC開發模式,沒有開發後臺,使用的是較爲簡單的Servlet+jsp,適合新手學習,在這裏給大家分享一下:
在這裏插入圖片描述
主要代碼:註冊代碼

package net.vicp.zyl_me.control;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import net.vicp.zyl_me.model.UserBeanHandler;

public class RegisterServlet extends HttpServlet {

	/**
	 * The doGet method of the servlet. <br>
	 * 
	 * This method is called when a form has its tag value method equals to get.
	 * 
	 * @param request
	 *            the request send by the client to the server
	 * @param response
	 *            the response send by the server to the client
	 * @throws ServletException
	 *             if an error occurred
	 * @throws IOException
	 *             if an error occurred
	 */
	public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

		response.setContentType("text/html");
		String username = request.getParameter("username");
		String password = request.getParameter("password");
		String agree_ = request.getParameter("agree");
		boolean agree = false;
		if ("true".equals(agree_)) {
			agree = true;
		}
		UserBeanHandler userBeanHandler = new UserBeanHandler();
		if (!agree)
		{
			request.getRequestDispatcher("register.jsp?error=noagree").forward(request, response);
			return ;
		}
		if (userBeanHandler.isUserNameExist(username)) {
			request.getRequestDispatcher("register.jsp?error=usernameexist").forward(request, response);
		} else {
			if (userBeanHandler.register(username, password)) {
				request.getRequestDispatcher("myaccount.jsp?success=userregister&username="+username).forward(request, response);
			} else {
					request.getRequestDispatcher("register.jsp?error=registererror").forward(request, response);
			}
		}
	}

	/**
	 * The doPost method of the servlet. <br>
	 * 
	 * This method is called when a form has its tag value method equals to
	 * post.
	 * 
	 * @param request
	 *            the request send by the client to the server
	 * @param response
	 *            the response send by the server to the client
	 * @throws ServletException
	 *             if an error occurred
	 * @throws IOException
	 *             if an error occurred
	 */
	public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

		doGet(request, response);
	}

}

書籍展示界面:

<%@page import="net.vicp.zyl_me.model.GoodsBean"%>
<%@page import="net.vicp.zyl_me.model.GoodsBeanHandler"%>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
%>
<%
	GoodsBeanHandler goodsBeanHandler = new GoodsBeanHandler();
	String __page = (String) request.getAttribute("page");
	int _page = 1;
	final int _pageSize = 9;
	int _pageRow = goodsBeanHandler.getGoodsBeanCount();
	int _pageCount = _pageRow % _pageSize == 0 ? _pageRow / _pageSize : _pageRow / _pageSize + 1;
	if (__page != null) {
		_page = Integer.parseInt(__page);
	}
	ArrayList<GoodsBean> arr = goodsBeanHandler.getGoodsBeanByPage(_page, _pageSize);
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<link rel="stylesheet" href="css/header.css">
<link rel="stylesheet" href="css/content.css">
<link rel="stylesheet" href="css/footer.css">
<link rel="stylesheet" href="css/books.css">
</head>
<body>
	<jsp:include page="head.jsp"></jsp:include>
	<div id="content">
		<div id="content-left">
			<div id="books">
				<div class="title">
					<a href="index.jsp">主頁</a>>> 所有書籍
				</div>
				<div class="gray">
					<img src="images/bullet1.gif">全部書籍
				</div>
				<%
					for (int i = 0; i < arr.size(); i++) {
						GoodsBean goodsBean = arr.get(i);
				%>
				<div class="book">
					<div class="title"><%=goodsBean.getGoodsname()%></div>
					<div class="book-box">
						<a href=<%="ShowDetailServlet?id="+goodsBean.getGoodsid()%>> <img
							src=<%="images/banner/" + goodsBean.getPhoto()%>>
						</a>
					</div>
				</div>
				<%
					}
				%>
				<div class="pagination">
					<%
						final int _pageContraints = 6;
						if (_page == 1)
							out.println("<span class='disabled noborder'>&lt;&lt;</span>");
						else
							out.println("<a class='noborder' href='ShowGoodsServlet?page=" + (_page - 1) + "'><span>&lt;&lt;</span></a>");
						if (_pageCount <= _pageContraints)
							for (int i = 1; i <= _pageCount; i++) {
								if (_page == i)
									out.println("<span class='current'>" + i + "</span>");
								else
									out.println("<a href='ShowGoodsServlet?page=" + i + "'>" + i + "</a>");
							}
						else {
							if(_page >= 3 && _pageCount - _page > 4)
							{
								for (int i = _page - 1 ; i <= _page + 1; i++) {
									if (_page == i)
										out.println("<span class='current'>" + i + "</span>");
									else
										out.println("<a href='ShowGoodsServlet?page=" + i + "'>" + i + "</a>");
								}
							}else
							{
								for (int i = 1 ; i <= 3; i++) {
									if (_page == i)
										out.println("<span class='current'>" + i + "</span>");
									else
										out.println("<a href='ShowGoodsServlet?page=" + i + "'>" + i + "</a>");
								}
							}
							if(_pageCount - _page <= 4 && _page >= 3)
							{
								out.println("...");
							}
							if(_pageCount - _page <= 4)
							{
								for (int i = _pageCount - 4; i <= _pageCount; i++) {
									if (_page == i)
										out.println("<span class='current'>" + i + "</span>");
									else
										out.println("<a href='ShowGoodsServlet?page=" + i + "'>" + i + "</a>");
								}
							}
							else
							{
								out.println("...");
								for (int i = _pageCount - 2; i <= _pageCount; i++) {
									if (_page == i)
										out.println("<span class='current'>" + i + "</span>");
									else
										out.println("<a href='ShowGoodsServlet?page=" + i + "'>" + i + "</a>");
								}
							}
						}
						if (_page == _pageCount)
							out.println("<span class='disabled noborder'>&gt;&gt;</span>");
						else
							out.println("<a  class='noborder' href='ShowGoodsServlet?page=" + (_page + 1) + "'><span>&gt;&gt;</span></a>");
					%>

					<!-- <span class='current'>1</span> <a href="ShowGoodsServlet?page=3">3</a><a href="#?page=199">10</a> <a href="#?page=200">11</a> <a
						href="#?page=2"></a> -->
				</div>
			</div>
		</div>
		<jsp:include page="content-right.jsp"></jsp:include>
	</div>
	<jsp:include page="footer.jsp"></jsp:include>
</body>

</html>

在這裏插入圖片描述

購物車界面
購物車通過seesion的方式保存書籍

package net.vicp.zyl_me.model;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;

public class CartHandler {
	Connection connection;
	Statement statement;
	ResultSet resultset;
	HashMap<String, String> hashMap = new HashMap<String, String>();

	public void addNewGoods(String id, String qty) {
		if(!hashMap.containsKey(id))
			hashMap.put(id, qty);
	}

	public void clear() {
		hashMap.clear();
	}

	public void updateGoodsById(String id, String qty) {
		hashMap.put(id, qty);
	}
	
	public void AddGoods1QuantityById(String id) {
		hashMap.put(id, ""+(Integer.parseInt(hashMap.get(id))+1));
	}
	public void SubGoods1QuantityById(String id) {
		hashMap.put(id, ""+(Integer.parseInt(hashMap.get(id))-1));
		if("0".equals(hashMap.get(id)))
		{
			hashMap.remove(id);
		}
	}
	public int getGoodsCount()
	{
		return hashMap.size();
	}
	public int getTotalGoodsPrice()
	{
		int sum = 0;
		ArrayList<GoodsBean> goods = getGoods();
		Iterator<String> it = hashMap.keySet().iterator();
		for(int i = 0;i <goods.size();i++)
		{
			sum += Integer.parseInt(getGoodsCountById(goods.get(i).getGoodsid()+"")) * goods.get(i).getGoodsprice();//���HashMap.get(goods.get(i).getGoodsid()) = null, HashMap.get(goods.get(i).getGoodsid() + "") = 1
		}
		return sum;
	}
	public void removeGoodsById(String id)
	{
		hashMap.remove(id);
	}
	public String getGoodsCountById(String id)
	{
		return hashMap.get(id);
	}
	public ArrayList<GoodsBean> getGoods() {
		ArrayList<GoodsBean> arr = new ArrayList<GoodsBean>();
		if(hashMap.isEmpty())
		{
			return arr; 
		}
		try {
			connection = new DBConnection().getConnection();
			statement = connection.createStatement();
			String sql = "select * from goods where goodsid in (";
			Iterator iterator = hashMap.keySet().iterator();
			while(iterator.hasNext())
			{
				sql += iterator.next();
				if(iterator.hasNext())
					 sql += ",";
				else
					sql += ")";
			}
			resultset = statement.executeQuery(sql);
			while (resultset.next())
				arr.add(new GoodsBean(resultset.getLong(1), resultset.getString(2), resultset.getString(3), resultset.getString(4), resultset.getFloat(5), resultset.getString(6), resultset.getString(7)));
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			try {
				if (connection != null) {
					connection.close();
				}
				if (statement != null) {
					statement.close();
				}
				if (resultset != null) {
					resultset.close();
				}
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		return arr;
	}
}

以上是該程序的部分代碼,有需要的可以聯繫我:2186527424
碼字不易,給個讚唄

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章