javaWeb课程设计图书管理系统Word文件下载.docx

上传人:b****5 文档编号:20715531 上传时间:2023-01-25 格式:DOCX 页数:14 大小:223.39KB
下载 相关 举报
javaWeb课程设计图书管理系统Word文件下载.docx_第1页
第1页 / 共14页
javaWeb课程设计图书管理系统Word文件下载.docx_第2页
第2页 / 共14页
javaWeb课程设计图书管理系统Word文件下载.docx_第3页
第3页 / 共14页
javaWeb课程设计图书管理系统Word文件下载.docx_第4页
第4页 / 共14页
javaWeb课程设计图书管理系统Word文件下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

javaWeb课程设计图书管理系统Word文件下载.docx

《javaWeb课程设计图书管理系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《javaWeb课程设计图书管理系统Word文件下载.docx(14页珍藏版)》请在冰豆网上搜索。

javaWeb课程设计图书管理系统Word文件下载.docx

Servlet在启用Java的Web服务器上或应用服务器上运行并扩展了该服务器的能力。

Javaservlet对于Web服务器就好象Javaapplet对于Web浏览器。

Servlet装入Web服务器并在Web服务器内执行,而applet装入Web浏览器并在Web浏览器内执行。

JavaServletAPI定义了一个servlet和Java使能的服务器之间的一个标准接口,这使得Servlets具有跨服务器平台的特性。

  Servlet通过创建一个框架来扩展服务器的能力,以提供在Web上进行请求和响应服务。

当客户机发送请求至服务器时,服务器可以将请求信息发送给Servlet,并让Servlet建立起服务器返回给客户机的响应。

当启动Web服务器或客户机第一次请求服务时,可以自动装入Servlet。

装入后,Servlet继续运行直到其它客户机发出请求。

Servlet的功能涉及范围很广。

例如,Servlet可完成如下功能:

  

(1)创建并返回一个包含基于客户请求性质的动态内容的完整的HTML页面。

  

(2)创建可嵌入到现有HTML页面中的一部分HTML页面(HTML片段)。

  (3)与其它服务器资源(包括数据库和基于Java的应用程序)进行通信。

  (4)用多个客户机处理连接,接收多个客户机的输入,并将结果广播到多个客户机上。

例如,Servlet可以是多参与者的游戏服务器。

  (5)当允许在单连接方式下传送数据的情况下,在浏览器上打开服务器至applet的新连接,并将该连

接保持在打开状态。

当允许客户机和服务器简单、高效地执行会话的情况下,applet也可以启动客户浏览器和服务器之间的连接。

可以通过定制协议或标准(如IIOP)进行通信。

  (6)对特殊的处理采用MIME类型过滤数据,例如图像转换和服务器端包括(SSI)。

  (7)将定制的处理提供给所有服务器的标准例行程序。

例如,Servlet可以修改如何认证用户。

(8)网站流程的控制。

例如,用户登陆[1]

1.3开发工具MyEclispe简介

Eclipse是一个开放源代码的、基于Java的可扩展开发平台。

就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentTools,JDT)。

MyEclispe是基于Eclispe的J2EE应用程序开发工具,此系统就是采用MyEclispe6.0来开发的,它集中了开源和商业软件的开发支持的大多数框架,方便易用,功能强大,它支持开发基于Spring、Hibernate、Struts、JSF、JPA、EJB、WebService等技术的项目。

[6]

2系统需求分析

2.1系统整体分析

在当今高速发展的信息时代,计算机技术已经被应用于社会的各个方面,取代了很多人工的操作,这样既提高了效率,又节省了劳动力。

学校等机关图书管理也应该跟上科技的发展,运用计算机进行自动化的管理。

本课题在研究了学校图书管理运营模式之后,从学校的实际需求出发,采用当前较为流行的B/S结构和JSP动态网页技术,基于Oracle数据库,设计并实现一个功能完善的小型图书管理系统。

本系统主要包括图书管理,借还书管理和读者管理三大模块。

本文是该系统需求文档,对系统功能结构进行分析,并对数据流程进行了图解,以及对这次设计进行了总结。

2.2系统数据分析

本系统共有5张数据表:

2.3数据流图

2.4功能模块的核心代码

网站后台开发目录结构:

用户登陆的核心代码:

packagecom.servlet;

importjava.io.IOException;

importjava.io.PrintWriter;

importjava.sql.ResultSet;

importjava.sql.SQLException;

importjava.util.HashMap;

importjava.util.Iterator;

importjava.util.Map;

importjava.util.Set;

importjavax.servlet.ServletConfig;

importjavax.servlet.ServletException;

importjavax.servlet.http.HttpServlet;

importjavax.servlet.http.HttpServletRequest;

importjavax.servlet.http.HttpServletResponse;

importcom.connectDb;

importcom.toChinese;

publicclassservletGoextendsHttpServlet{

publicvoidinit(ServletConfigconfig)throwsServletException{

super.init();

}

publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)

throwsIOException{

connectDbconD=newconnectDb();

toChineset=newtoChinese();

ResultSetrs1=conD.con("

selectusernamefromreader"

);

ResultSetrs2=conD.con("

selectpasswordfromreader"

response.setContentType("

text/html;

charset=gb2312"

PrintWriterout=response.getWriter();

Stringstring1=t.codeToString(request.getParameter("

username"

));

Stringstring2=t.codeToString(request.getParameter("

userpassword"

Map<

String,String>

map=newHashMap<

();

try{

while(rs1.next()&

&

rs2.next()){

map.put(rs1.getString

(1),rs2.getString

(1));

}

}catch(SQLExceptione){

e.printStackTrace();

Set<

String>

keySet=map.keySet();

Iterator<

iterator=keySet.iterator();

while(iterator.hasNext()){

if(!

(iterator.next().equals(string1))){

iterator.remove();

}

if(keySet.isEmpty()){

out.print("

<

ahref='

../enter.html'

>

b>

用户名或密码错误,点此重新登陆<

/b>

/a>

"

else{

Stringstring3=map.get(string1);

string3.equals(string2))

else{

Object[]b=keySet.toArray();

Stringstr=b[0].toString();

response.sendRedirect("

../library.jsp?

username="

+str);

System.out.print(str);

}

}

使用jsp验证用户名是否重名,用户是否已经被注册:

%@pagecontentType="

%>

%@pageimport="

com.toChinese"

%>

java.sql.*"

java.util.*"

jsp:

useBeanid="

conD"

class="

com.connectDb"

scope="

page"

/jsp:

useBean>

qb"

com.QueryBean"

%

ResultSetrs=conD.con("

List<

list=newArrayList<

while(rs.next()){

list.add(rs.getString

(1));

toChineset=newtoChinese();

Stringstring1=t.codeToString(request.getParameter("

Stringstring2=t.codeToString(request.getParameter("

qb.setConnection("

oracle.jdbc.driver.OracleDriver"

"

jdbc:

oracle:

thin:

@127.0.0.1:

1521:

orcl"

"

yexiang"

ye123"

StringstringSqlString="

insertintoreadervalues(reader_id.nextval,'

+string1+"

'

'

+string2+"

)"

;

qb.setQuerystatement(stringSqlString);

//设置SQL语句

Iterator<

iterator=list.iterator();

while(iterator.hasNext()){

if(!

iterator.next().equals(string1))

if(list.isEmpty()){

qb.insertRecord();

//插入数据

out.print("

enter.html'

注册成功<

else

{out.print("

regist.html'

注册失败,用户名已注册<

html>

head>

title>

接收新用户注册<

/title>

/head>

body>

br>

您注册的用户名是:

%=t.codeToString(request.getParameter("

))%>

/body>

/html>

Struts的使用与配置

Web.xml

?

xmlversion="

1.0"

encoding="

UTF-8"

web-appversion="

2.5"

xmlns="

xmlns:

xsi="

http:

//www.w3.org/2001/XMLSchema-instance"

xsi:

schemaLocation="

<

servlet>

description>

ThisisthedescriptionofmyJ2EEcomponent<

/description>

display-name>

ThisisthedisplaynameofmyJ2EEcomponent<

/display-name>

servlet-name>

servletGo<

/servlet-name>

servlet-class>

com.servlet.servletGo<

/servlet-class>

/servlet>

booksServlet<

com.servlet.booksServlet<

serachServlet<

com.servlet.serachServlet<

servlet-mapping>

url-pattern>

/servlet/servletGo<

/url-pattern>

/servlet-mapping>

/servlet/booksServlet<

/servlet/serachServlet<

welcome-file-list>

welcome-file>

enter.html<

/welcome-file>

/welcome-file-list>

filter>

filter-name>

redisp<

/filter-name>

filter-class>

com.bean.ReDispatcherFilter<

/filter-class>

init-param>

param-name>

includeServlets<

/param-name>

param-value>

servletGo,booksServlet,serachServlet<

/param-value>

/init-param>

/filter>

filter-mapping>

/*<

/filter-mapping>

struts2<

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter<

/web-app>

Struts.xml

?

!

DOCTYPEstrutsPUBLIC

"

-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.3//EN"

//struts.apache.org/dtds/struts-2.3.dtd"

struts>

constantname="

struts.devMode"

value="

true"

/>

packagename="

main"

namespace="

/library"

extends="

struts-default"

actionname="

borrow"

com.action.borrowBook"

resultname="

success"

/main/frame_c.jsp

/result>

/action>

/package>

--Addpackageshere-->

/struts>

3系统界面展示

3.1页面

登陆:

注册:

主界面:

最新入库

搜索书籍

我要借书

4设计总结

在需求分析部分,我们认真阅读了图书管理系统的功能简述,在此基础上把整个系统按处理功能分解成若干模块,进行数据分解,画出了总系统和各模块的数据流图、数据项表、数据结构表、数据流表等。

我们得到的需求分析的主要结果,基本反映了用户的需求。

在概念结构设计时,我们采用自底向上的设计方法。

将数据流程图中的子图抽象为E-R图,然后再合并各个分E-R图。

设计出的整体概念结构内部具有一致性,不但能满足需求分析阶段确定的所有要求,而且能准确反映原来的每个子视图的结构。

并且给出了各个实体的描述,对实体和关系进行了调整,消除了冗余实体和冗余关系。

在逻辑结构设计时,我们选择oracle所支持的数据模型,适于描述和表达概念结构的。

我们遵循一定原则进行实体、属性和联系的转换。

优化了关系数据模型,根据具体的应用确定范式和关系模式的分解与合并。

确定了外模式和数据视图。

在使用servlet时遇到了许多参数传输错误,最后发现大多数都是路径问题

解决完就没问题了,操作数据库时sql语句要符合规范,明白怎么使用参数来查寻。

在使用struts2时配置与servlet冲突,struts将所有请求都拦截了,经过网上XX后再struts配置前加了servlet的配置就没问题了。

这次实验我熟悉了很多新学到了技术,学习到了解决问题的方法,收获颇多。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1