JavaWeb程序设计.docx
- 文档编号:28491544
- 上传时间:2023-07-15
- 格式:DOCX
- 页数:17
- 大小:859.42KB
JavaWeb程序设计.docx
《JavaWeb程序设计.docx》由会员分享,可在线阅读,更多相关《JavaWeb程序设计.docx(17页珍藏版)》请在冰豆网上搜索。
JavaWeb程序设计
目录:
一、系统设计
(1)构架模型
(2)开发平台、开发工具、系统服务器的选型
本系统运用J2EE中的JSPMODEL2的MVC(MODEL+VIEW+CONTROL)模型,运用Netbeans6.8+Tomcat6.0+JDK6.0+MicrosoftofficeAccess2003的组合开发平台开发测试。
(3)相关技术的介绍
Java,是由SunMicrosystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。
用Java实现的HotJava浏览器(支持Javaapplet)显示了Java的魅力:
跨平台、动态的Web、Internet计算。
从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Javaapplet。
JavaWeb,是用Java技术来解决相关web互联网领域的技术总和。
web包括:
web服务器和web客户端两部分。
Java在客户端的应用有javaapplet不过现在使用的很少,Java在服务器端的应用非常的丰富,比如Servlet,JSP和第三方框架等等。
Java技术对Web领域的发展注入了强大的动力。
Java的Web框架虽然各不相同,但基本也都是遵循特定的路数的:
使用Servlet或者Filter拦截请求,使用MVC的思想设计架构,使用约定,XML或Annotation实现配置,运用Java面向对象的特点,面向抽象实现请求和响应的流程,支持Jsp,Freemarker,Velocity等视图。
JavaEE出现之前,分布式多层企业应用系统的开发和部署没有一个被普遍认可的行业标准,几家主要的中间件开发商的产品各自为政,彼此之间缺乏兼容性,可移植性差,难以实现互操作。
javaEE的出现,规范了分布式多层体系的应用开发。
javaEE将企业应用程序划分为多个不同的层,并在每一个层定义的组件来实现它。
典型的javaEE结构的应用程序包括四层:
客户层,表示逻辑层(Web层)业务逻辑层和企业信息系统层。
javaEE客户层可以使网络浏览器也可以是桌面应用程序。
表示逻辑层(Web层),业务逻辑层都位于应用服务器上,它们都是由一些javaEE标准组件JSP(JavaServletPage),Servlet,EJB(EnterpriseJavaBeans)等来实现,这些组件运行在实现了javaEE标准的应用服务器上,以实现特定的表现逻辑和业务逻辑。
企业信息系统层主要用于企业信息的存储管理,主要包括数据库系统,电子邮件系统,目录服务等。
javaEE应用程序组件经常需要访问企业信息系统层来获取所需的数据信息。
javaEE体系构架的实施可显著的提高企业应用系统的可移植性,安全性,可伸缩性,负载平衡和可重用性。
二、数据库结构
数据表的设计和结构说明
数据表设计视图:
数据表设计说明:
1)页面分层设计,没有冗余的页面;
2)页面分页设计,减少用户拖拉滚动条的烦恼,每次取出当前页的数据,减少数据库到系统的数据传输量,节省时间。
3)数据库中的数据取出存放在Access文件中,使架构更优美;
三、系统结构及模块
(1)整个系统的介绍
用户注册管理系统包括有:
用户登录,新用户注册以及修改个人信息和用户选购书籍。
该系统主要实现用户登录与注册的系统。
实现的功能有:
1、用户登录界面。
用户输入用户名,密码,验证码进入网站。
2、用户注册界面。
新用户可以进入注册界面,输入一些必要的信息(用户名必须是不一样的,即不能出现和原数据库中有的用户名)即可注册会员,下次登录时就可输入用户名,密码,就可以立即登录了。
3、查看日历界面。
用户可以查看当前日历。
4、查看用户信息界面。
用户可以查阅自己的个人信息。
5、修改用户信息界面。
用户可以修改自己的个人信息。
6、用户选择书籍界面。
用户登录成功之后可以选购自己喜欢的书籍。
然后去付账界面付账。
本系统主要包括两项操作,即用户登录和用户注册。
运行登录页面后,如
果没有注册会员可以单击“新会员注册”按钮跳转到会员注册页面,在此页面中可以先判断用户输入的会员名是否存在,如果存在,则需要重新选择会员名,如果不存在用户可以继续输入个人资料来完成注册,完成注册后添加注册日志。
如果用户已经注册过,则直接输入会员名、密码和验证码,单击“登录”按钮进行登录。
在单击“登录”按钮时,系统首先判断用户输入的验证码是否正确,如果正确,再判断用户输入的会员名和密码是否正确,都正确后登录成功。
优雅的分层设计、美观的页面设计、功能间低耦合、SQL及算法语句的优化让系统增色不少。
(2)整个系统的结构,各模块之间的关系图。
图用户注册与登录系统业务流程图
(3)系统中MVC层次结构介绍
系统Web应用部分采用J2EE三层构架,将表现层,中间层和数据层分开,将所有的商业逻辑和工作流放入服务器端。
在中间应用层中,采用以EJB为中心Servlets做控制、JSP负责呈现逻辑的MVC结构。
系统中间层中MVC结构把功能模块、显示模块和控制模块分离,使各部分之间协调工作、耦合性较小。
EJB负责业务逻辑部分,通过对系统的分析,为了使系统开发与维护更具有可操作性,使系统结构更清晰,将业务逻辑划分为应用逻辑和商业逻辑两部。
其中应用逻辑部分负责用户的请求,商业逻辑部分负责与数据库服务器的操作。
应用逻辑以应用的需求调节调用商业逻辑,商业逻辑将相应结果再返回给应用逻辑。
业务逻辑功能的划分使EJB处理更加自如缩短开发周期,提高开发质量,同时也提高了系统的可复用性。
(4)各模块介绍,功能说明,及相关图表
模块划分:
本系统设计的并不复杂,模块划分也比较清楚。
通过对不同的功能进行分析,就可以得到系统的模块划分:
①登录管理模块:
用户登录,输入用户名和用户密码。
只用两者都符合数据库中的信息才登录成功,否则失败。
②注册模块:
用户注册信息,输入用户名,密码,确认密码,以及邮箱等。
用户名必须是数据库没有的用户名,否则注册失败;密码和确认密码必须一致,否则也是失败的。
③信息模块:
包括对个人信息的查询。
④日历模块:
查询当前日历的功能。
功能说明:
用户来到首页,可以看到相关的关于系统的介绍。
如果为新用户则需要先去注册用户,否则直接点击登录。
注册完成之后返回登录页面进行登录,进入系统,这是你可以选择去选购书籍或者其他。
选购书籍之后可以去收银台付账,也可以重新选择书籍。
付账之后可以查看信息也可以查看日历。
也可以选择退出登录。
四、系统界面截图
(1)系统主界面截图
我的主页:
(2)其他功能模块截图
登录页面:
注册页面:
日历页面:
登录成功:
选购书籍页面:
收银台页面:
退出登录:
五、部分新增代码说明
LoginServlet中用来判断用户名是否存在:
Stringusername=request.getParameter("username");
Stringpassword=request.getParameter("password");
StringgotoPath=request.getParameter("gotoPath");
//checknull
if(username.equals("")){
request.setAttribute("notice","用户名未输入");
request.getRequestDispatcher("login/login.jsp").forward(request,response);
}else{
//validate
UserDAOuserDao=newUserDAO();
if(password.equals(userDao.getOneByUsername(username).getPassword())){
session.setAttribute("username",username);
if(!
gotoPath.equals("null")){
response.sendRedirect(gotoPath);
}else{
response.sendRedirect("login/welcome.jsp");
}
}else{
request.setAttribute("notice","用户名或密码输入错误");
request.getRequestDispatcher("login/login.jsp").forward(request,response);
}
RegisterServlet中用来判断正误:
Stringusername=request.getParameter("username");
Stringpassword1=request.getParameter("password1");
Stringpassword2=request.getParameter("password2");
Stringemail=request.getParameter("email");
//判断是否为空
if(username.equals("")||password1.equals("")||password2.equals("")){
request.setAttribute("notice","信息未输入完整");
request.getRequestDispatcher("login/register.jsp").forward(request,response);
//用户名是否过长
}elseif(username.length()>10){
request.setAttribute("notice","用户名不能超过20字符");
request.getRequestDispatcher("login/register.jsp").forward(request,response);
//两次密码是否相同
}elseif(!
password1.equals(password2)){
request.setAttribute("notice","两次输入密码不同");
request.getRequestDispatcher("login/register.jsp").forward(request,response);
//用户名是否已注册
}else{
UserDAOuserDao=newUserDAO();
if(!
userDao.isExist(username)){
userDao.add(username,password1,email);
request.setAttribute("notice","注册成功!
请登录。
");
request.getRequestDispatcher("login/login.jsp").forward(request,response);
}else{
request.setAttribute("notice","用户名已注册,请更换用户名");
request.getRequestDispatcher("login/register.jsp").forward(request,response);
}
ShoppingServlet中用来存放字符数组:
HttpSessionsession=request.getSession();
request.setCharacterEncoding("utf-8");
Stringbookname[]=request.getParameterValues("choice");
ArrayListbooks=newArrayList();
if(bookname!
=null){
books.add(Integer.toString(bookname.length));
for(intk=0;k books.add(bookname[k]); } } session.setAttribute("b",books); request.getRequestDispatcher("login/shopping.jsp").forward(request,response); 六、系统特色说明 本系统运用了两个技术即用户登录和用户注册技术。 还有用户选课技术,用户可以通过复选框选择多门书籍。 通过ArrayList来存放字符数组存放书籍数量还有书籍名称。 如下图: 用户还可以查看个人信息: 也可以修改个人资料: 七、总结: 本系统主要涉及两个技术,即用户登录和用户注册技术。 虽然只有两个看似简单的技术,但对于初学者的我来说,在试验过程还是碰到许多的难题,当然在一次次的失败中也获得了很多的经验教训。 先将试验的心得总结如下: 一、前台网页与数据库的连接: 由于刚开始没有注意在数据库的连接方式导致连接数据库时出现错误。 经过改正后,能从前台看到数据库中的会员信息了。 二、控件信息的获取: 由于没有学过相关的控件知识,做到这步还是有点困惑的。 在通过上网查阅资料,以及询问同学之后,了解到,其实和以前学过的eclipse开发类似,都是通过封装技术“即所谓的get,set”。 三、页面设计: 我比较热心与做界面的美化设计,虽然比较浪费时间,但是我觉得还是很有必要的。 营销学上学过,一个网站的好坏,很大部分反映在界面的设计上。 不管网站功能有多么的强大,页面不够美观的话,我相信一定不会有很多人感兴趣,“第一映像”还是很重要的。 一个过于“朴素”的界面,你会去关心它吗? 当然,界面的美观是重要的一部分,网站的功能也是很重要的。 我在这方面还是比较欠缺技术的。 相信在以后的学习过程,能加强这两方面的技术,在实现功能的基础上加以美化,在美化的前提下,获得强大功能! 总之,整个系统的设计过程还是充满着乐趣的。 很好的锻炼了自学能力,也增强了检索资料的能力,和与人沟通的交际能力。 这不是一次单纯的实验,单纯的作业任务,而是一次很好的锻炼机会。 在疑问中学会提出问题,在失败,获得经验教训,是自己的技术水平得到提升。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JavaWeb 程序设计