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
码字不易,给个赞呗

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
系统介绍 图书馆管理系统主要的目的是实现图书馆的信息化管理。图书馆的主要业务就是新书的借阅和归还,因此系统最核心的功能便是实现图书的借阅和归还。此外,还需要提供图书的信息查询、读者图书借阅情况的查询等功能。项目实施后,能够提高图书馆的图书借阅、归还流程,提高工作效率。整个项目需要在两个月的时间内交付用户使用。 操作注意事项 (1)本系统的用户名为:tsoft,密码为:111 (2)读者类型不同,可借图书的本数也有所区别。 操作流程 (1)用户登录图书馆管理系统后,可看到图书借阅排行榜,通过排行榜可以看出借阅图书的名称、图书类型、借阅次数等相关信息。 (2)单击“系统设置”/“图书馆信息”命令,对图书馆信息进行设置操作。 (3)单击“系统设置”/“管理员设置”命令,对管理员信息进行添加、权限设置、查询及删除操作。 (4)单击“系统设置”/“参数设置”命令,对办证费用及有效期限信息进行添加操作。 (5)单击“系统设置”/“书架设置”命令,对书架信息进行添加、修改及删除操作。 (6)单击“读者管理”/“读者类型管理”命令,对读者类型信息进行添加、修改及删除操作。 (7)单击“读者管理”/“读者档案管理”命令,对读者信息进行添加、修改及删除操作。 (8)单击“图书管理”/“图书类型设置”命令,对图书类型信息进行添加、修改及删除操作。 (9)单击“图书管理”/“图书档案管理”命令,对图书信息进行添加、修改及删除操作。 (10)单击“图书借还”/“图书借阅”命令,对图书借阅信息添加操作。 (11)单击“图书借还”/“图书续借”命令,对图书续借信息进行添加操作。 (12)单击“图书借还”/“图书归还”命令,对图书归还信息进行添加操作。 (13)单击“系统查询”/“图书档案查询”命令,对图书档案信息进行查询操作。 (14)单击“系统查询”/“图书借阅查询”命令,对借阅的图书信息进行查询操作。 (15)单击“系统查询”/“借阅到期提醒”命令,对借阅到期提醒信息进行查询操作。 (16)单击“更改口令”按钮,对当前的用户密码进行修改操作。 (17)单击“退出系统”按钮,退出当前操作系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

彭祥.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值