javaWeb图书标准管理系统_第1页
javaWeb图书标准管理系统_第2页
javaWeb图书标准管理系统_第3页
javaWeb图书标准管理系统_第4页
javaWeb图书标准管理系统_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

试验汇报模板

实验报告

课程名称高级Java程序设计

试验项目基于MVC模式Web综合应用

试验仪器.个人“算机_

系别计算机学院一

专业计算机科学和技术

班级/学号计科1204

学生姓名_____________________

试验日期/5/21-6/5

成绩_______________________

指导老师______________________

目录

第一章需求分析

第二章总体设计••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••a***

2.1本系统关键功效

2.2Java源文件及其功效

2.3项目构建思绪

第三章模块功效介绍

第四章功效测试及运行效果

参考文件

工作总结

第一章:需求分析

任务1开发图书馆管理信息系统

项目需求:

1.基于MVC模式开发该JavaWeb项目;

2.木系统有两类用户角色,一般用户和管理员用户:

3.一般用户:浏览图书信息,分类浏览,能够分别依据书名、作者、出版社为关键字查询图

书;登陆后还可借阅图书;

4.管理员用户管理系统各项信息,包含:信息添加、修改和删除。

5.建立图书类包含以下信息:编号、书名、作者、出版社、出版日期。

项H设计

■选择开发模型一一MVC

层文件名描述

浏览所有图书信息,并提供添加、修改和删除图书的超

list.jsp

级链接。

add.html添加图书信息页面

视图层

edit.jsp编辑图书信息页面,该页面会显示已有的图书信息。

success.html操作成功提示页面,含有浏览图书信息的超级琏接。

failure.html操作失败提示页面,含有返回超级链接。

Scivlcl,负责根据用户请求的URL调用不同的模型进行

控制层BookControIler.java

处理,最后选择不同视图响应用户。

DBBean.java连接数据库的JavaBean(同第7章的DBBean)

模型层

Booklnfo.java完成图书信息读取、添加、修改和删除操作的JavaBean。

第二章:总体设计

2.1本系统关键功效:

1、基于MVC模式开发该JavaWeb项目;

2、本系统有两类用户角色,一般用户和管理员用户;

3、一般用户:浏览图书信息,分类浏览,能够分别依据书名、作者、出版社为关键字查询

图书;登陆后还可借阅图书;

4、管理员用户管理系统各项信息,包含:信息添加、修改和删除。

Date:14-5-31

Time:下午3:59

TochangethistemplateuseFile|Settings|FileTemplates.

-%>

<%@pagecontentType=,,text/htnil;charset=UTF-8"language="java"

iinporl=',java.ulil.ArrayLisl.bcaii.bookinfo"%>

<html>

<head>

<title></title>

</hcad>

<body>

<center>

<h2xahref="/add.jsp”>添加图书v/a></h2>

<tablealign=,'center"border=n1">

<tr>

<fontsize="2"face="黑体"color="blue"〉

<th>编号v/th><th>书名作者</th><th>出版社</fhxth>出版日期</ih><th

colspan="2">管理</th>

</font>

</tr>

<%

requesi.se(CharaclerEncoding("ulf-8'');

ArrayList<bookinfo>list=(ArrayList<bookinfo>)request.getAttribute("list");

for(bookinfobi:list){

Stringid=bi.getld();

%>

<tr>

<td><%=bi.getld()%x/td><td><%=bi.getName()%x/td><td><%=

bi.gctAuthor()%x/td><td><%=bi.gctPrcss()%x/td><td><%=bi.gctDatc()%x/td>

<td><ahref="Vservlets/edit.do?id=<%=修改</a></td>

<td><ahref=7servlets/delete.do?id=<%=id%>”>删除

</tr>

v%

)

%>

</table>

</ccntcr>

</body>

</html>

Reader.jsp

<%-

CreatedbyIntelliJIDEA.

User:Administrator

Date:14-5-31

Time:下午3:59

TochangethistemplateuseFile|Settings|FileTemplates.

-%>

<%@pagecontentTypc="text/html;charset=UTF-8"language="java,,

import="java.util.ArrayList.bean.bookinfo"%>

<html>

<head>

</head>

<body>

<center>

<fbrmaction='7scrvlcts/borrow.do"mcthod="post">

Cablealign="center"border="l">

vcaption>vh2>现有图书信M</h2></caplion><p>

<tr><tdcolspan="6"align="right"><ahref="/check.jsp”>点击查询</a></td>v/tr>

<fbntsize="2"face="黑体"color="blue"><ih>编号v/ih>〈lh>书名v/th>yh>

作者v/thxth>出版社v/thxth〉出版日期v/lh>vihcolspan="2">借阅v/lh>v/font>

</tr>

<%

request.selCharacterEncoding("ulf-8");

ArrayList<bookinfo>list=(ArrayList<bookinfo>)request.getAttribute("Iist");

for(bookinfobi:list){

Stringid=bi.getld();

%>

<tr>

<td><%=hi.getld()%></td><td><%=hi.getNanie()%></td><td><%=

bi.getAuthor()%x/td><td><%=bi.getPress()%></td><td><%=bi.getDate()%x/td>

<(d><inpu(lype="radio"name="borrow"value=,,123"x/cd>

(inputtype="hidden"name="id"value="<%=bi.getld()%>">

</tr>

<%

)

%>

</tablcxp>

<inputlype="submil"value="提交"〉

</form>

</center>

</body>

</html>

Success.jsp

<%-

CreatedbyIntelliJIDEA

User:Administrator

Date:14-6-1

Time:下午1:34

TochangethistemplatetseFile|Settings|FileTemplates.

-%>

<%@pagecontentType="text/html;charset=UTF-8"language="java"%>

<html>

<head>

<titlc></titlc>

</head>

<body><center>

<h2>操作成功</h2><br>

<ahref="/servlets/list.do">浏览图书信息</a>

</center>

</body>

</html>

Finalcheck.jsp

<%-

CreatedbyIntelliJIDEA.

User:Administrator

Dale:14-6-1

Time:下午4:15

TochangethistemplateuseFile|Settings|FileTemplates.

-%>

<%@pagecontentType="text/html;charset=UTF-8"language="javan

iniport=',bean.bookinfb"%>

<head>

<title></title>

</head>

<body>

<center>

<tablealign="center"border="1">

<tr>

<%

request.setCharaclerEncoding("ulf-8'');

bookinfobi=(bookinfo)request.getAttribute("bi");

%>

vth>编号v/th>v【h>书名</th>vth>作#</th><th>出版社v/th><ih>出版日期</th>

</tr>

<tr>

<td><%=bi.gctld()%x/td><td><%=bi.gctNamc()%x/td><td><%=

bi.getAuthor()%></td><ld><%=bi.getPress()%></ld><td><%=bi.getDale()%x/ld>

</tr>

</tab!c>

</ccntcr>

</body>

</html>

Successreader.jsp

<%-

CreatedbyIntelliJIDEA.

User:Administrator

Date:14-6-1

Time:下午1:34

TochangethistemplateuseFile|Settings|FileTemplates.

-%>

<%@pagecontentType="text/html;charset=UTF-8"language="java"%>

<h(ml>

<head>

</head>

<body><center>

vh2>操作成功v/h2xbr>

<ahref="/servlets/listreader.do”>浏览图书信息v/a>

</center>

</body>

</html>

Failure.jsp

<%-

CreatedbyIntelliJIDEA.

User:Administrator

Date:14-6-1

Time:下午2:00

TochangethistemplateuseFile|Settings|FileTemplates.

-%>

<%@pagecontentType="text/html;charset=UTF-8"language="java"%>

<html>

<head>

</head>

<body><ucnlcr>

vh2>操作失败v/h2>

<ahref="javascripl:history.back()”>点击返回v/a>

</center></body>

</html>

Edit.jsp

<%-

CreatedbyIntelliJIDEA.

User:Administrator

Date:14-5-31

Time:下午6:52

TochangethistemplateuseFile|Settings|FileTemplates.

-%>

<%@pagecontentType="tex(/html;charset=UTF-8"language="javan

import="bean.bookinfo"%>

<html>

<head>

</head>

<body>

<%request.setCharacterEncoding("utf-8");

bookinfobi=(bookinfo)rcqucst.gctAttributc("bi");

%>

<ccntcr>

<formaction="update.do"method="post">

<inpu(type="hidden"name="id"value="<%=bi.getld()%>,>

<table>

<h2xc叩ii51A修改信息v/capii(“ix/h2》

<tr><th>书名v/ih>vid><inpu〔lype="tex("value="<%=bi.getName()%>"

name="name"></td></tr>

<tr><th>作者</th><td><inputtype="text'value="<%=bi.getAuthor()%>"

name="author"></td></tr>

<tr><th>出版社</th><td><inputtype="texl"value="<%=bi.getPress()%>"

name="press"></td></tr>

<tr><th>出版三期v/thxtdxinputtype="text"value=,,<%=bi.getDate()%>"

name="date,,></tdx/tr>

<(r><tdcolspan="2"align="center"><inputtype="submit"value="提交"xinput

type="reset"value="Mfi"></td></tr>

</tahle>

</fbrni>

</cen(er>

</body>

</html>

Check.jsp

<%-

CreatedbyIntelliJIDEA.

User:Administrator

Date:14-5-31

Time:下午6:52

TochangethistemplateuseFile|Settings|FileTemplates.

-%>

<%@pagecontentType=,,text/htnil;charset=UTF-8"language="java"

import="bean.bookinfo"%>

<html>

<hcad>

</head>

<body>

<%request.setCharacterEncoding("utf-8");

bookinfbbi=(bookinfo)request.getAtiribute("bi");

%>

<center>

<formaction="updated。”nethod="post">

<inputtype="hidden"naine="id"value="<%=bi.getld()%>>>

<tahle>

<h2>vcaplion>修改信息v/cap(ion>v/h2>

<tr><th>书名v/th>vtd>vinputtype="text"value=,'<%=bi.getName()%>"

name="name"></tdx/tr>

<(r><th>作者</thx(d><inputtype="text'value="<%=bi.getAuthor()%>"

name="aulhor"></td></tr>

出版社</thxtd><inputtype="text"value="<%=bi.getPress()%>"

name="prcss"></tdx/tr>

<tr><th>出版三期</th><td><inputtype="text,'value=,,<%=bi.getDate()%>"

name="daie"></idx/tr>

<tr><tdcolspan="2"align="center"xinputtype="submit"value="提交"xinput

type="reset"value="重置

</table>

</form>

</center>

</body>

</html>

Add.jsp

<%-

CreatedbyIntelliJIDEA.

User:Administrator

Date:14-5-31

Time:下午7:20

TochangethistemplateuseFile|Settings|FileTemplates.

-%>

<%@pagecontcntTypc="tcxt/hln】l;charsct二UTF-8"language="java"%>

<h(ml>

<head>

<titlc></title>

</head>

<scriptlanguage="JavaScript"src="common.js,'x/scripl>

<body>

<ccntcr>

<formname="tbrml"onsubmit="returncheck()"ac(ion="/servlets/add.do,'method="post">

<tablealign="center"border="l">

vh2><caption>图书信息v/caption>v/h2>

<tr><th>编'v</th><td><inputtypc="tcxt"namc='id"></tdx/tr>

书名</t上>vtd><inpul(ype="text"name='name"></td></lr>

v(r>vth>作者v/止>v(d>vinpultype="tex("name=,author"></td></tr>

<tr><th>illKStt</th><td><inputtype="text"name="press"></td></tr>

<tr><th>出版日期</thxtdxinputtypc="tcxt"nainc="datc"></td></tr>

<lr><tdcolspan="2"align="center"><inputtype="submit"value="添加"xinpul

type="reset,'value=,'MM',x/td></tr>

</table>

</fc)rin>

</center>

</body>

</html>

Common.js

functioncheck(){

if(fonnl.id.value=="")

{alert("noid!");

forml.id.fbcusO;

returnfalse;}

if(.value=="")

{alert("noname!");

form.focusO;

returnfalse;}

if(fbrm1.author.value="")

(

alert("noauthor!");

form1.author.focus();

returnfalse;

if(form1.press.value=="")

alert("nopress!");

form1.prcss.focus();

returnfalse;

)

if(form1.date.value==""){

alcrtC'nodate!")

form1.dateJbcus();

returnfalse;

Bookinfo.java

packagebean;

importjava.lang.Exception;

importjava.lang.String;

importjava.lang.System;

importjava.sql.*;

importjava.sql.Conncction:

importjava.sql.ResultSet;

importjava.sql.SQLExceplion;

importjava.sql.Statement;

importjava.util.*;

importjava.util.ArrayList;

publicclassbookinfo{

privateStringid;

privateStringname;

privateStringauthor;

privateStringpress;

privateStringdate;

publicvoidse(Name(Slringname){

=name;

}

publicStringgetName()(

returnname;

}

publicvoidsetAulhor(Stringauthor){

this.author=author;

}

publicStringgetAuthor(){

returnauthor;

)

publicvoidsetDate(Stringdate){

this.datc=date;

}

publicStringgctDatc(){

returndate;

}

publicvoidsetPress(Stringpress){

ihis.press=press;

)

publicStringgetPress(){

returnpress;

publicvoidsetId(Stringid){

this.id=id;

}

publicStringgetld(){

returnid;

}

publicstaticArrayList<bookinfo>gctbooklist(){

ArrayList<bookinfb>list=newArrayList<bookinfo>();

Siringsql="selec(*frommvc_book";

bean.dbbeanjdbc=newbean.dbbean();

ResultSetrs;jdbc.executeQuery(sql);

try{

while(rs.next()){

bookinfbbi=newbookinfo();

bi.sctId(rs.getStnng("id"));

bi.setName(rs.getString("name"));

bi.setAulhonrs.getSlringC'author"));

bi.setPress(rs.getString("press"));

bi.sctDatc(rs.gctString("datc"));

list.add(bi);

)

rs.close();

}

catch(SQLExceptione){

e.printStackTrace();

jdbc.close();

returnlist;

}

publicstaticbookinfogetbookbyid(S(ringid){

Siringsql="select*frommvc_bookwhereid="+id;

dbbeanjdbc=newdbbean();

ResultSctrs=jdbc.cxccutcQucry(sql);

bookinfobi=newbookinfb();

try{

if(rs.next()){

bi.sctDatc(rs.gctString("datc"));

bi.setPress(rs.getString(Mpress"));

bi.selAuthor(rs.getSlring("author"));

bi.setName(rs.getString("name"));

bi.sctldirs.gctStringC'id"));

)

rs.close();

)

catch(SQLExceptione){

System.oul.println("nofind");

)

jdbc.close();

returnbi;

publicstaticintupdatebook(Stringid,Stringname,Stringauthor,Stringpress,Stringdate).

intresult=O;

Stringsql="updatcmvc_bookset

name-"+narne+,M,author="'+author+"',press=",+press+",,date=",+date+"'whereid="+id;

dbbeanjdbc=newdbbean();

result=jdbc.executeUpdate(sql);

rulumrusull;

)

publicstaticintdclctcbook(Stringid){

intresul(=O;

Stringsql="deletefrommvc_bookwhereid="+id;

dbbeanjdbc=newdbbean();

rcsult=jdbc.cxccutcUpdatc(sql);

returnresult;

)

publicstaticintaddbook(Stringid,Stringname,Stringauthor,Stringpress,Stringdate){

intresult=O;

Stringsql="insertintomvc_book(id,name,author,press,date)

values(idJ'+name+"'J'+aulhor+"?"+press+”'「+date+"')";

dbbeanjdbc=newdbbean。;

rcsult=jdbc.cxccutcUpdatc(sql);

returnresult;

Dbbean.java

packagebean;

importjava.lang.Exception;

importjava.lang.String;

importjava.lang.System;

importjava.sql.*;

importjava.sql.Connection:

imporljava.sql.RusullSul;

importjava.sql.Stalement;

publicclassdbbean{

privateStringdriverStr="com.mysql.jdbc.Driver";

privateStringconnStr=,jdbc:mysql://localhost:3306/boDk?characterEncoding=utf-8";

privateStringname="root";

privateStringpassword="xyh68";

privateConnectionconn=null;

privateStatementstmt=null;

publicdbbean(){

try(

Class.forName(driverStr);

conn=DriverManager.gelConnection(connStr,name,password);

stmt=conn.createStatement();

)

catch(Exccptioncx){

System.oul.println("noconnect");

)

)

publicintexecuteUpdate(Strings){

intresult=0;

try{

rcsult=stmt.cxccutcUpdatc(s);

catch(Exccptioncx){

System.out.println("updatewrong!");

)

returnresult;

}

publicResullSetexecu(eQuery(S(rings){

ResultSetrs=null;

try{

rs=stmt.executeQuery(s);

)

catch(Exccptioncx){

System.oul.prin(ln("checkwrong!");

)

returnrs;

)

publicvoidclose(){

try{stmt.close();conn.close();

}

catch(Exceptionex){

System.oul.prin(ln("close!");

)

Servlet,java

packageservlets;

importjavax.servlet.ServletException;

importjavax.servlet.http.HttpServlet;

importjavax.servlet.http.HttpServletRequest;

importjavax.servlet.http.HtlpScrvictResponse;

importjava.io.IOExceplion:

importjava.io.PrintWriter;

importjava.util.ArrayList;

importbean.*;

/**

*CreatedbyAdministratoron14-5-31.

*/

publicclassServletextendsHttpServlet{

protectedvoiddoGet'HttpServIetRequestrequest.HupServletResponseresponse)throws

SenletException,lOException{

doPost(rcqucst,response);

}

protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throws

SenletException,lOException{

request.setCharacterEncoding("utf-8");

Stringaction=request.getServletPath();

if(action.equals("/servlets/depend.do")){

Stringvakie=rcquest.getParamcter("password");

if(value.equalsC123")){

ArrayLisl<bean.bookinfb>lisl=bean.bookinfo.getbooklist();

request.setAttribute("list",list);

rcqucst.gctRcqucstDispatchcr('7inanagcr.jsp").fbrward(rcqucst,response);

else

{ArrayList<bcan.bookinfo>list=bcan.bookinfo.getbooklist();

request.setA(tribu(e("list",list);

request.getRequestDispatcher("/reader.jsp").forward(re<]uest,response);

)

)

elseif(action.eqiials(,7servlets/list.do,')){

AnayList<bean.bookinfo>list=bean.bookinfo.getbooklist();

request.sctAttributcClist",list);

request.getRequestDispatcher('7nianager.jsp").forward(request,response);

)

elseif(action.equals(7servlets/edit.do',)){

Stringid=rcquest.gctParamctcr("id");

bean,bookinfobi=bean.bookinfo.getbookbyid(id);

request.setAttribute("bi",bi);

reqnest.getReqiiestDispatcher(,7edit.jsp").forward(reqi]e5;t,response);

)

elseif(aclion.equals("/servlels/upda(e.do")){

Stringid=request.getParameter("id");

Stringname=request.getParameter("nanie");

Stringauthor=request.getParameter("author");

Stringpress=request.ge(Parame(er("press");

Stringdate=request.getParameter("date");

intr=bean.bookinfo.updatebook(id,name,authorpress,date);

if(r==l){

request.getRequestDispatcher("/success.jsp").forward(requesl,response);

else{request.getRequestDispatcher(,7failure.jsp").forward(request,response);

elseif(action.equals('7servlets/delete.do")){

Stringid^cquest.gctParamctcrC'id");

intr=bean.bookinfo.deletebook(id);

if(r==l){

rcquest.getRcquestDispatcher('7success.jsp").forward(rcquest,response);

)

else{request.getRequestDispalcher('7failure.jsp").forward(request,response);

}

)

elseif(action.equals("/servlets/add.do")){

Stringid=request.getParameter("id");

Stringname=request.getParameter("name");

Stringauthor=request.getParanieter("author");

Stringpress=rcquest.getParameter("press");

Stringdate=request.getParameter(',date");

intr=bcan.bookinfo.addbook(id,name,author,press,date);

if(r==l){

request.getRequestDispatcher("/success.jsp").fonvard(request,response);

else{

requesl.getRequestDispatcher("/failure.jsp").forward(requesl,response);

elseif(action.equals(,7servlets/boiTow.do,,)){

Stringborrow=rcqucst.getParamctcr("borrow');

if(borrow.equals("123")){

Stringid=request.getParameter("id");

inii-bcaii.buokiiifo.dclclcbouk(id);

if(r==l){

request.getRequestDispatcher('7success.jsp").forward(requesl,response);

)

clsc{rcqucst.gctRcqucstDispatchcr(7failurc.jsp").forward(rcqucst,rcsponsc);

elseif(action.equals("/servlets/check.do")){

Stringid=request.getParameter("id");

bean,bookinfobi=bcan.bookinfo.gctbookbyid(id);

request.setAtlnbute("bi",bi);

request.getRequestDispatcher('7finalcheck.jsp").fbrward(request,response);

2.3项目构建思绪:

i、主界面有两条通道,管理员必需要有密码才能进入管理员页面,管理员页面含有修改,

删除,添加等功效,而一般用户则含有借阅图书(我这边借阅图书,相当于删除,没有后

续功效),按编号查询图书信息等功效。

2^界面有javascript来验证修改或录用图书时,是否输入为空。

3、servlet用来响应全部页面请求,然后依据请求做出对应操作。

4、javabean有两个,一个用来连接数据库,一个用来封装图书类信息,并有操作。

第三章模块功效介绍

Indcx.jsp:主页,用来登录管理员或一般用户。

ManagenJsp:管理员用户主页,界面含有增加,修改,删除等功效。

Add.jsp:用来增加图书。

Edit.jsp:用来修改图书。

Reader.jsp:一般用户主页,含有借阅,查找等功效。

Success.jsp:管理员用户操作成功后,提醒信息,并返回。

Successreader.jsp:一般用户操作成功后,提醒信息,并返回。

Failure.Jsp:操作失败时,返回上一次层。

Check.jsp:按编号查询

FinalCheck.jsp:用来返回查找信息。

Common.js:输入校验。

Bookinfo.java:封装图书类信息,并有对应删除,修改等操作。

Dbbean.java:连接数据库

ServletJava:用来响应全部界面操作。

第四章功效测试及运行效果

依据截图一步步往下走,功效很清楚:

欢迎进入图书馆里系统!

普通用户颌

管理员用户

管理员密码

现有图书信息

___________________________________________点击查询1

编号书名|作者|出版社I出版日期借阅

2033434224农夫山泉天然水)中国科技)2008-4-7

臊作系统

2033434225

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论