书签 分享 收藏 举报 版权申诉 / 22

类型java课程设计图书管理系统MVC开发模式.docx

  • 文档编号:3753035
  • 上传时间:2022-11-25
  • 格式:DOCX
  • 页数:22
  • 大小:894.13KB

密码:

    

通过以上代码我们可以观察到,当我们点击登录按钮时,它会使用userlogin提交请求,到web.xml里面寻找所要使用的servlet。

 

b)配置web.xml:

web.xml是webproject的核心文件,它配置了该工程的一些配置信息,当我们启动服务器时,会首先读取web.xml,了解工程的基本信息。

登录的请求配置如下:

userlogin

.servlet.userlogin

userlogin

/userlogin

此时,服务器就知道登录功能需要跳转到.servlet.login这个servlet文件中。

c)编写servlet:

servlet可以接收表单传过来的参数值,进行对数据库的操作。

因为我采用的是MVC的开发模式,所以使用了javabean单独作为连接数据库的操作,自然需要在servlet中创建一个javabean的对象,调用其相应的函数,代码如下所示:

Stringuname=request.getParameter("username");

Stringpword=request.getParameter("pword");

response.setContentType("text/html;charset=UTF-8");

Useruser=newUser();

user.setUsername(uname);

UserLoginJavaBeanlogin=newUserLoginJavaBean();

ResultSetrs=login.getUser(user);

d)编写javabean:

javabean里面封装了调用数据库的方法,可以进行增删改查操作,其中,使用了连接池进行操作,代码如下:

publicclassUserLoginJavaBean{

publicResultSetgetUser(Useruser){

Stringsql="selectusername,passwordfromuserwhereusername='"+user.getUsername()+"'";

Connconn=newConn();

ResultSetrs=conn.query(sql);

returnrs;

}

}

e)判断结果,实现页面跳转:

实现登录功能,我们必须要先判断出该用户是否存在,以及密码是否正确,javabean中返回的结果是ResultSet类型的对象,我们通过判断rs.next()是否为true,来查询该用户名是否

 

存在,若存在,我们再比对其密码是否正确,如果密码正确,提示其登录成功,并且让它跳转到main.jsp(即主页面),否则提示其密码有误,让其重新登录;当rs.next()为false时,说明不存在该用户,则提示给予其提示,让其重新登录。

try{

if(rs.next()){

session.setAttribute("user",rs.getString("username"));

if(rs.getString("username").equals(uname)){

if(rs.getString("password").equals(pword)){

out.println("");

}else{

out.println("");

}

}

}else{

out.println("");

}

}catch(SQLExceptione){

e.printStackTrace();

}

 

vi.按条件检索并且删除:

该功能模块中主要包含按照图书名称、图书类型、图书代码和作者姓名四个条件进行模糊查询,并实现了任意环境下的分页功能,以及任一图书的删除功能。

以下该图片是查询全部图书信息的页面:

 

当然,我们可以查询图书名称包含java并且作者包含j的图书信息,查询结果如下图所示:

 

vii.代码亮点:

此次设计,我使用了ajax进行了一些简单的校验,从登录页面我们可以看到,当用户名不存在时,会给出我们提示。

在注册页面中,我也采用该技术,我们知道,任何两个人的身份证号码是不会出现相同(即便出现也是因为系统出现错误),就设计而言,不能出现两个人的用户名是相同的,当有人使用数据库中已经存在的用户名进行注册时,我们给予其提示,并不让其进行注册;当用户名不存在时,该用户名就可以注册,如下图所示:

 

4)测试阶段

五、设计总结

这学期是我们第一次在学校学习JAVA这门编程语言,因为有以前在培训班学习JAVA的基础,所以对我而言,此次设计相对比较容易。

我们所设计的图书管理系统主要实现了登录、注册、录入图书、借书、还书、删除图书以及模糊查询等功能,功能实现起来比较简单。

而且,我选用的是MVC的开发模式,程序代码有很大的可重用性和逻辑性,当我们进行维护时,可以更加的便捷。

对我来说,JAVA好像是一根救命稻草,C语言复杂性让我惧怕,从事C语言的编程是一项很大的挑战,学习了JAVA之后,越来越深刻的了解了面向对象的含义,通过学习,慢慢了解了那些构建的JAVA基础之上的开发语言和框架,编程慢慢变成一项相对容易的工作,成为一件趣事。

短短一周的设计马上就要结束了,通过设计,是我可以更深刻的了解JAVA的魅力,熟悉了以前被遗忘的知识,更深刻的认识到其简单性,易用性。

以后的学习道路还很长,此次的课程设计为我们开启了一个良好的开端,为我们今后的毕业设计奠定了基础。

以后学习的路还有很长,我们仍需要继续努力,掌握更深刻的知识,以备以后的学习和工作所需。

六、程序清单

1)模糊查询并删除页面代码:

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

<%@pageimport="java.util.Date,.javaBean.Conn,java.sql.ResultSet"%>

图书录入页面

检索图书页面

图书名称

图书类型

图书代码

作者姓名


      

<%Conncn=newConn();

Stringpagesql;//pagesql表示查询总记录数的SQL语句

Stringsql;//sql表示查询数据库记录的SQL语句

ResultSetpagers,rst;//pagers=cn.query(pagesql);rst=cn.query(sql)

inti;

intipage=5;//分页单位,每页的记录数

intallpage;//总页数

intpages;//接受的页码变量

intcpage=1;//当前页

intallCol=0;//总记录数

intbeginpos=0;//每页开始位置

intendpos=0;//每页的结束位置.

Stringbookname=request.getParameter("bookname");

Stringbookcode=request.getParameter("bookcode");

Stringbooktype=request.getParameter("booktype");

Stringbookwriter=request.getParameter("bookwriter");

if(bookname==null||bookname==""||bookname.equals("")||bookname.equals("null")||bookname.equals(null)){

sql="selectid,bookname,booktype,bookcode,bookwriter,bookchubanshe,bookprice,

booklocation,bookremarkfrombookwhere1=1";

pagesql="selectcount(id)asidfrombookWHERE1=1";

}else{

bookname=newString(bookname.getBytes("ISO8859-1"),"UTF-8");

sql="selectid,bookname,booktype,bookcode,bookwriter,bookchubanshe,bookprice,

booklocation,bookremarkfrombookwherebooknamelike'%"+bookname+"%'";

pagesql="selectcount(id)asidfrombookwherebooknamelike'%"+bookname+"%'";

}

if(bookcode==null||bookcode==""||bookcode.equals("")||bookcode.equals("null")||bookcode.equals(null)){

}else{

bookcode=newString(bookcode.getBytes("ISO8859-1"),"UTF-8");

sql=sql+"ANDbookcodelike'%"+bookcode+"%'";

pagesql=pagesql+"ANDbookcodelike'%"+bookcode+"%'";

}

if(bookwriter==null||bookwriter==""||bookwriter.equals("")||bookwriter.equals("null")||bookwriter.equals(null)){

}else{

bookwriter=newString(bookwriter.getBytes("ISO8859-1"),"UTF-8");

sql=sql+"andbookwriterlike'%"+bookwriter+"%'";

pagesql=pagesql+"andbookwriterlike'%"+bookwriter+"%'";

}

if(booktype==null||booktype==""||booktype.equals("")||booktype.equals("null")||booktype.equals(null)){

}else{

booktype=newString(booktype.getBytes("ISO8859-1"),"UTF-8");

sql=sql+"andbooktypelike'%"+booktype+"%'";

pagesql=pagesql+"andbooktypelike'%"+booktype+"%'";

}

pagers=cn.query(pagesql);

if(pagers.next()){

allCol=pagers.getInt("id");//获得总记录数

}

allpage=(allCol+ipage-1)/ipage;//求出总页面数

if(request.getParameter("pages")==null){//判断参数pages是否为空

pages=1;

beginpos=0;

endpos=ipage;

}else{

pages=newInteger(request.getParameter("pages")).intValue();

}

//判断当前页

if(pages>allpage||pages<1){

cpage=1;//-默认当前要显示的页码

beginpos=0;//-=默认记录开始的位置为0

endpos=ipage;//--默认结束位置为第一页的结尾

}else{

cpage=pages;//--当前要显示的页码

beginpos=pages*ipage-ipage;//--得到记录开始的位置

endpos=pages*ipage;//--得到记录结束的位置

}

rst=cn.query(sql);

for(i=0;i

rst.next();//--把结果集的记录数移到要显示的页的记录的开始位置

}%>

图书名称图书类型图书编号作者姓名

出版社图书价格所在书架图书备注

删除

<%intii=beginpos+1;

for(intj=beginpos;j

{

if(rst.next())

{%>

<%=rst.getString("bookname")%>

<%=rst.getString("booktype")%>

<%=rst.getString("bookcode")%>

<%=rst.getString("bookwriter")%>

<%=rst.getString("bookchubanshe")%>

<%=rst.getString("bookprice")%>

<%=rst.getString("booklocation")%>

<%=rst.getString("bookremark")%>

id=<%=rst.getString(

配套讲稿:

如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

特殊限制:

部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

关 键  词:
java 课程设计 图书 管理 系统 MVC 开发 模式
提示  冰豆网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:java课程设计图书管理系统MVC开发模式.docx
链接地址:https://www.bdocx.com/doc/3753035.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2008-2022 冰点文档网站版权所有

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

收起
展开