一个简单的Java EE程序 图书管理系统(二)

点击查看

一个简单的Java EE程序 图书管理系统(一)_雪糕关东煮方便面糖醋鱼的博客-CSDN博客采用JSP+Servlet+JavaBean+JDBC方式开发一个Web登录程序https://blog.csdn.net/weixin_54014691/article/details/123383147

目录

三、创建Java EE项目

四、创建JDBC类

五、添加JDBC驱动包

六、编写JSP

七、编写Servlet

八、配置Servlet

九、构造JavaBean

十、实现DAO

十一、部署Java EE项目

十二、运行浏览


三、创建Java EE项目

新建一个项目

 

点击【next】

 

点击【Finish】按钮,MyEclipse会自动生成一个Java EE项目。

四、创建JDBC类

 在项目中新建一个包,右击项目中src文件夹,选择【New】-【Package】

在包org.db中新建一个Class

 编写DBConn.java,代码如下

package org.db;
import java.sql.*;

public class DBConn {
	public static Connection conn;//Connection对象连接;
	//获取数据库连接
	public static Connection getConn(){
		try{
			/**加载并注册SQL Server2014的JDBC驱动*/
			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
			/**编写连接字符串,创建并获取连接*/
			conn=DriverManager.getConnection("jdac:sqlserver://localhost:1433;"
					+ "databaseName=MBOOK","sa","123456");
			return conn;
		}
		catch(Exception e){
			e.printStackTrace();
			return null;
		}
		}
	public static void CloseConn(){
		try{
			conn.close();
		}
		catch(Exception e){
			e.printStackTrace();
		}
	}
}

注意:conn=DriverManager.getConnection("jdac:sqlserver://localhost:1433;databaseName=MBOOK","sa","123456");中的"123456"要换成自己数据库的密码!

五、添加JDBC驱动包

将sqljdbc4.jar添加到项目的"\\WebRoot\lib"目录下

 刷新一下就可以看到

六、编写JSP

本例需要写3个JSP文件:login.jsp(登录页)、main.jsp(欢迎主页)、error.jsp(出错处理页) 

在WebRoot项,右键【new】-【file】

 login.jsp代码如下

<%@page language="java" pageEncoding="gb2312"%>
<html>
<head>
<title>图书管理系统</title>
</head>
<body bgcolor="#71CABF">
	<form action="loginServlet" method="post">
		<!--action="loginServlet"表示在用户单击“登录”按钮后,-->
		<!--页面提交给一个名为loginServlet的Servlet作进一步处理-->
		<table>
			<caption>用户登录</caption>
			<tr>
				<td>登录名</td>
				<td><input name="name" type="text" size="20" /></td>
			</tr>
			<tr>
				<td>密码</td>
				<td><input name="password" type="password" size="21" /></td>
			</tr>
		</table>
		<input type="submit" value="登录" /> <input type="reset" value="重置" />
	</form>
</body>
</html>

main.jsp代码如下

<%@page language="java" pageEncoding="gb2312" import="org.model.Login"%>
<html>
<head>
<title>欢迎使用</title>
</head>
<body>
	<%
	Login login=(Login)session.getAttribute("login");
	String lgn=login.getName();
	%>
	<%=lgn %>,您好!欢迎使用图书管理系统。
</body>
</html>

这里import="org.model.Login"会报错,别着急,是因为我们还没有编写org.model包下的login.java

erro.jsp代码如下

<%@ page language="java" pageEncoding="gb2312"%>
<html>
  <head>
    <title>出错</title>
  </head>
  <body>
    登录失败!单击<a href="login.jsp">这里</a>返回
  </body>
</html>

七、编写Servlet

在src下新建一个包org.servlet

 在此包下创建一个类LoginServlet

 LoginServelt.java代码如下

package org.servlet;

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import org.dao.*;
import org.model.*;

public class LoginServlet extends HttpServlet {
	public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("gb2312");// 设置请求编码
		// 该类位项目与数据的接口(DAO接口),用于处理数据与数据库表的一些操作
		LoginDao loginDao = new LoginDao();
		Login l = loginDao.checkLogin(request.getParameter("name"), request.getParameter("password"));
		if (l != null) {// 如果登录成功
			HttpSession session = request.getSession();// 获得会话,用来保存当前登录用户的信息
			session.setAttribute("login", l);// 把获得的对象保存在Session中
			response.sendRedirect("main.jsp");//验证成功跳转到欢迎主页main.jsp
		}
		else{
			response.sendRedirect("error.jsp");
		}
		}
		public void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
			doGet(request,response);
		}
	}

八、配置Servlet

打开WebRoot文件夹下WEB-INF中的web.xml

 点击左下方的Source按钮即可查看修改代码

web.xml内容如下

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://xmlns.jcp.org/xml/ns/javaee"
	xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
	id="WebApp_ID" version="3.1">
	<servlet>
	<servlet-name>loginServlet</servlet-name>
	<servlet-class>org.servlet.LoginServlet</servlet-class>
	</servlet>
	<servlet-mapping>
	<servlet-name>loginServlet</servlet-name>
	<url-pattern>/loginServlet</url-pattern>
	</servlet-mapping>
	<display-name>bookManage</display-name>
	<welcome-file-list>
		<welcome-file>index.html</welcome-file>
		<welcome-file>index.htm</welcome-file>
		<welcome-file>index.jsp</welcome-file>
		<welcome-file>default.html</welcome-file>
		<welcome-file>default.htm</welcome-file>
		<welcome-file>default.jsp</welcome-file>
	</welcome-file-list>
</web-app>

九、构造JavaBean

在src下建立包org.model,其中创建名为Login的Java类,代码如下

package org.model;

public class Login {
	// 属性
	private Integer id;
	private String name;
	private String password;
	private boolean role;

	public Integer getId() {
		return this.id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getName() {
		return this.name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getPassword() {
		return this.password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public boolean isRole() {
		return this.role;
	}

	public void setRole(boolean role) {
		this.role = role;
	}

}

十、实现DAO

在src下建立org.dao包,在包中创建LoginDao类,代码如下

package org.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

import org.db.DBConn;
import org.model.Login;

public class LoginDao {
	Connection conn;//数据库连接对象

	public Login checkLogin(String name, String password) {
		try {
			conn = DBConn.getConn();//获取连接对象
			PreparedStatement pstmt = conn.prepareStatement("select * from[login] where name=?" + "and password=?");
			pstmt.setString(1, name);//设置sql语句参数1
			pstmt.setString(2, password);//设置sql语句参数2
			ResultSet rs = pstmt.executeQuery();//执行查询,返回结果集
			if (rs.next()) {
				Login login = new Login();//通过JavaBean对象保存值
				login.setId(rs.getInt(1));
				login.setName(rs.getString(2));
				login.setPassword(rs.getString(3));
				login.setRole(rs.getBoolean(4));
				return login;
			}
			return null;
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		} finally {
			DBConn.CloseConn();// 关闭连接
		}
	}

}

十一、部署Java EE项目

单击工具栏上的【Manage Deployments..】

 

点击【add】

 

 以上界面位配置成功

十二、运行浏览

先看一下端口号是8080还是8081(一般是8080,部分用户自己修改过的可能是8081)

 

笔者是改过的所以使用的端口号为8081 

在浏览器输入http://localhost:8081/bookManage即可访问页面

一个小插曲

笔者在此处遇到了一个小问题

直接访问项目出现404

但直接访问jsp页面则正常显示

 

 

此问题待解决 

  • 3
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于java web实现的一个图书商城源码+设计报告+sql数据库 该资源内项目源码是个人的课设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到94.5分,放心下载使用! 该资源适合计算机相关专业(如人工智能、通信工程、自动化、软件工程等)的在校学生、老师或者企业员工下载,适合小白学习或者实际项目借鉴参考! 当然也可作为毕业设计、课程设计、课程作业、项目初期立项演示等。如果基础还行,可以在此代码基础之上做改动以实现更多功能。 基于java web技术实现的一个图书商城,分为管理员和普通用户,可注册登陆,可上传修改图书系统,用户可下单。 #使用方法 1、先执行数据库sql文件 2、修改数据库连接账号密码 3、eclipse安装服务器 4、运行 1.功能要求 1)前端功能 图书的分类展示; 图书详情 图书搜索 订单详情(购物车) 登录与注册 注意:注册用户可以购买商品,非注册用户仅可以浏览、查询商品 2)后端功能 用户管理:分普通用户和管理员两类;管理员可以禁用普通用户帐号、查看普通用户的订单信息;可以添加、修改和删除其他管理员帐号; 图书管理管理员对图书信息的添加、修改、删除和查询功能,包括图书详细信息、图片上传等。 2.技术要求 1)基于Java Web开发技术,并使用MVC开发模式实现;数据库使用mysql; 2)知识点应用:[1]项目创建;代码调试;[2]JSP基础语法;[3]内置对象使用;[4]合理使用Javabean;[5]理解和掌握servlet;[6]理解和掌握MVC开发模式;[7]掌握在JSP中操作数据库的方法;[8]掌握JSTL核心标签库的使用;[9]前端基础知识的综合应用。 一、 整体设计 3 1.1系统结构 3 1.2系统功能结构图 3 1.2.1用户功能结构图 3 1.2.2管理员功能结构图 4 1.3数据JavaBean总体设计 4 二、数据库设计 4 2.1E-R图 4 2.2设计原理 5 三、详细设计 5 3.1用户功能模块设计 5 3.1.1主页设计 5 3.1.2商品详情设计 8 3.1.3购物车设计 11 3.1.4订单展示设计 14 3.2管理员功能模块设计 16 3.2.1登陆模块设计 16 3.2.2主页模块设计 18 四、结果展示 18 4.1用户展示 18 4.2管理员展示 22
Java图书管理系统毕业设计》是一个旨在展示学生对Java编程语言和数据库管理的理解与应用能力的项目。以下是该毕业设计的描述: 项目概述: 该项目是一个基于Java语言开发的图书管理系统,旨在帮助图书馆或书店管理者更有效地管理图书信息,包括书籍的录入、借阅、归还、统计等功能。 通过该系统管理员可以轻松管理图书馆的书籍库存,实现对图书信息的快速查询和借阅记录的管理,提高图书管理的效率和服务水平。 功能特点: 图书管理管理员可以对图书信息进行录入、修改、删除操作,包括书名、作者、ISBN号、出版社、分类等信息的管理。 借阅管理系统支持读者的借阅操作,包括借书、还书、续借、预约等功能,并自动更新借阅记录。 读者管理管理员可以管理读者信息,包括注册新读者、修改读者信息、注销读者账户等。 统计报表:系统能够生成图书借阅情况统计报表,包括借阅次数、热门书籍排行等,帮助管理员进行图书馆资源管理和决策。 技术实现: 采用Java编程语言进行开发,利用Java SE或者Java EE平台,结合面向对象编程思想,实现系统的各项功能。 使用关系型数据库(如MySQL、Oracle等)存储图书信息、读者信息和借阅记录,通过JDBC或者ORM框架实现与数据库的交互。 借助Java图形用户界面(GUI)库,设计用户友好的界面,使管理员和读者能够方便地进行操作和查询。 学习收获: 通过开发该图书管理系统,学生可以加深对Java编程语言的理解和应用,掌握Java SE或者Java EE平台的开发技术。 同时,学生还可以学习数据库设计与管理的知识,包括数据库表的设计、数据的增删改查操作等。
好的,我将使用Java EE语言编写一个简易的图书管理系统。这个系统将包括以下功能: 1. 图书添加:管理员可以添加图书的信息,包括图书名称、作者、出版社等。 2. 图书查询:用户可以根据图书名称或作者进行查询,并显示图书的详细信息。 3. 图书借阅:用户可以借阅图书,并记录借阅时间和归还时间。 4. 图书归还:用户可以归还已借阅的图书,并记录归还时间。 下面是一个简单的实现示例: 1. 创建一个Book类,包含图书的属性(名称、作者、出版社等)和方法(获取和设置属性值)。 ```java public class Book { private String name; private String author; private String publisher; // 构造方法 public Book(String name, String author, String publisher) { this.name = name; this.author = author; this.publisher = publisher; } // Getter和Setter方法 // ... } ``` 2. 创建一个BookManagement类,用于管理图书的添加、查询、借阅和归还等操作。 ```java import java.util.ArrayList; import java.util.List; public class BookManagement { private List<Book> bookList; public BookManagement() { bookList = new ArrayList<>(); } public void addBook(Book book) { bookList.add(book); System.out.println("添加图书成功!"); } public void searchBook(String keyword) { for (Book book : bookList) { if (book.getName().contains(keyword) || book.getAuthor().contains(keyword)) { System.out.println("图书信息:"); System.out.println("名称:" + book.getName()); System.out.println("作者:" + book.getAuthor()); System.out.println("出版社:" + book.getPublisher()); return; } } System.out.println("未找到相关图书!"); } // 其他方法:借阅、归还等 // ... } ``` 3. 在主类中使用BookManagement类进行图书管理。 ```java import java.util.Scanner; public class Main { public static void main(String[] args) { BookManagement bookManagement = new BookManagement(); Scanner scanner = new Scanner(System.in); while (true) { System.out.println("请输入操作:1-添加图书,2-查询图书,0-退出"); int operation = scanner.nextInt(); scanner.nextLine(); if (operation == 1) { System.out.println("请输入图书名称:"); String name = scanner.nextLine(); System.out.println("请输入作者:"); String author = scanner.nextLine(); System.out.println("请输入出版社:"); String publisher = scanner.nextLine(); Book book = new Book(name, author, publisher); bookManagement.addBook(book); } else if (operation == 2) { System.out.println("请输入关键词:"); String keyword = scanner.nextLine(); bookManagement.searchBook(keyword); } else if (operation == 0) { break; } else { System.out.println("无效操作!"); } } } } ``` 这是一个简单Java EE图书管理系统示例,你可以根据实际需求进行扩展和完善。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值