基于“MVC”框架集设计模式,开发用户管理系统!
MVC----(Model View Controller)设计模型:
M:表示业务数据和业务规则。包括DAO(beans)、DBHelper(DBHelper),用于封装数据库连接,业务数据库处理。
V:是用户看到并与之交互的界面,比如 JSP 经常充当Web应用视图。
C:接收用户是输入并调用模型和视图去完成用户需求。主要是Servlet
根据上面的分析可知:需要四个包(DBHlper、Servlet、beans、DAO)。
1. 将所需要的DBHelper导入新建Web项目的DBHelper中,注意要使数据库名字与url保持一致。
2.将mysql-connector-java-5.1.24-bin.jar数据库连接驱动导入到该项目的WEB-INF---->lib目录下。
3.在beans包中新建class(主要设置实体具有的属性,并且要与数据库中的字段名一致),添加需要的getter and setter方法。
4.DAO中需要新建一个类,用于执行SQL语句(增删查改),并要定义 List 结果集来接收实体的各个属性。
public class UserDAO {
public List getAllUser() throws SQLException{
String sql="select * from user";
ResultSet rs= DBHelper.getResultSet(sql);
List user = new ArrayList();
while(rs.next()){
user us = new user();
us.setUserID(rs.getString("userID"));
us.setUserName(rs.getString("userName"));
us.setPassword(rs.getString("password"));
user.add(us);
}
return user;
}
}
5.servlet 中新建的Servlet将它本身具有的必要的方法定义好,但是由于自己只具备处理事务的特性,不具备显示的功能,所以要把多余的 “out.print....”删除,并且使得doGet方法也执行doPost方法。核心代码如下:
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
UserDAO dao=new UserDAO();
try{
List user= dao.getAllUser();
request.getSession().setAttribute("user", user);
response.sendRedirect("../user.jsp");
}catch(Exception e){
e.printStackTrace();
}
}
注:调试代码时,如果servlet没有响应,可以先将写好的代码注释,在最前面打印出一句明显的话,以便于检测servlet是否有效。
6.JSP页面:主要是创建一个表单,用于接收servlet处理好的表单及字段。核心代码如下:
<body>
<center>
<%
List<user> user=(List)session.getAttribute("user");
out.print("<table border=1>");
out.print("<tr><td>用户ID</td><td>用户名</td><td>用户密码</td></tr>");
for(user u:user){
out.print("<td>"+u.getUserID()+"</td>");
out.print("<td>"+u.getUserName()+"</td>");
out.print("<td>"+u.getPassword()+"</td>");
out.print("</tr>");
}
out.print("</table>");
%>
</center>
</body>
7.index.jsp:需要在首页连接一个超链接,以便于在访问项目(servlet/UserServlet)时,实现系统自动跳转到“user.jsp”,显示出所有表单内容
<body>
<a href ="servlet/UserServlet">用户信息</a>
</body>
8.运行(调试)
点击“Run as”开启服务,在地址栏输入项目名及Manger/servlet/UserServlet 即可自动跳转到"user.jsp",此时表单所有内容呈现,即验证成功!
9.总结:
检查程序无法运行的步骤;
1)新建项目,直接运行(直接检测系统有没有问题)
2)新建servlet并运行(可以检测到环境有没有问题,也可以把其他不
用的项目关闭或者重启MyEclipse)
3)写主函数测试DAO.确定连接数据库是否有问题。
4)jsp.要看web.xml里面是否配置好了servlet的路径。
基于“MVC”框架集设计模式,开发用户管理系统!的更多相关文章
- Android 基于MVC的MVVM模式开发
由skay整理 http://blog.csdn.net/sk719887916/article/details/50386144 什么是MVVM 我们一步步来,从MVC开始. MVC 我们都知道, ...
- Spring MVC -- MVC设计模式(演示4个基于MVC框架的案例)
对于简单的Java Web项目,我们的项目仅仅包含几个jsp页面,由于项目比较小,我们通常可以通过链接方式进行jsp页面间的跳转. 但是如果是一个中型或者大型的项目,上面那种方式就会带来许多维护困难, ...
- 基于SSM框架的JavaWeb通用权限管理系统
- - ->关注博主公众号[C you again],获取更多IT资源(IT技术文章,毕业设计.课程设计系统源码,经典游戏源码,HTML网页模板,PPT.简历模板,!!还可以投稿赚钱!!,点击查 ...
- 基于ThinkPHP框架的简单的后台管理系统
版权声明:本文为博主原创文章,未经博主允许不得转载. 基于ThinkPHP框架的简单的后台管理系统 一个简单的后台管理系统,可能还不全面,可以自己改,有登录功能 实例如图:
- Asp.net Core基于MVC框架实现PostgreSQL操作
简单介绍 Asp.net Core最大的价值在于跨平台.跨平台.跨平台.重要的事情说三遍.但是目前毕竟是在开发初期,虽然推出了1.0.0 正式版,但是其实好多功能还没有完善.比方说编译时的一些文件编码 ...
- Unity 背包系统的完整实现(基于MVC框架思想)
前言: 项目源码上传GitHub:Unity-knapsack 背包系统: 背包系统是游戏中非常重要的元素,几乎每一款游戏都有背包系统,我们使用背包系统可以完成装备栏的数据管理,商店物体的数据管理等等 ...
- 基于MVC框架的JavaWeb网站开发demo项目(JSP+Servlet+JavaBean)
1.环境配置 Windows10+Eclipse2020+jdk8+Tomcat9+MySQL8+Navicat10 2.需求分析 ①用户登录注册注销(查找.增加) ②显示用户列表(查找) ③显示用户 ...
- 12小时包你学会基于ReactMix框架的ReactNativeApp开发(二)基于Css+HTML写第一个app页面
上一篇文章,大家对于ReactMix(https://github.com/xueduany/react-mix)框架有了一个基本认识,知道我们是一个语法糖,帮助大家基于一套代码,所有平台都能跑.那么 ...
- 12小时包你学会基于ReactMix框架的ReactNativeApp开发(一)Hello World!
ReactMixhttps://github.com/xueduany/react-mix自从昨天发布起来,得到了不少小伙伴的热捧,很高兴帮助大家解决了憋在心中很久的问题“如果我只会HTML,Css, ...
随机推荐
- 项目:《JavaWeb图书管理系统视频》--代码修复还可以运行起来
1. 系统设计--项目效果图请看最后面 1技术选型 (系统架构) JSTL + JSP + Servlet + JavaBean + BeanUtils + FileUpload + JavaMail ...
- pwnable.kr fb
fb-1 pt 连接到服务器,发现 有三个文件,fd脚本,fd.c脚本的源程序,flag是要看的东西,无权限 来我们分析一下源码 如果只传进去一个值,print” pass argv[1] a num ...
- Light oj 1281 - New Traffic System 多状态最短路
题目大意:有向图,新计划的地铁,有k个计划新路,利用现有的铁路.k条新路和限定只能用d条新路,找出从0到n-1的最短路径 题目思路:用dist[u][use],储存使用use条新路,到达节点u的最短路 ...
- “指定的参数已超出有效值的范围”在【 parameterUpdate.Add(new OracleParameter("STATUS", 0));】报错
改成:parameterUpdate.Add()); 就不报错,并不能知道为什么,有知道为什么的,评论告诉我. /// <summary> /// 插入数据 /// </summar ...
- python判断字符串是字母 数字 大小写
字符串.isalnum() 所有字符都是数字或者字母,为真返回 Ture,否则返回 False. 字符串.isalpha() 所有字符都是字母,为真返回 Ture,否则返回 False. 字符串.is ...
- requests库入门01-环境安装
最近在项目中写了一个接口自动化测试的脚本,想要写一些文章来一下,方便自己回头来温习,感兴趣的可以跟着看,先写关于requests库的一些基本操作,然后再写整个框架的搭建.使用的是Python3+req ...
- ThinkPHP框架整合phpqrcode生成二维码DEMO
ThinkPHP框架发展到今天功能已经变得是非常强大了,但是ThinkPHP框架中没有二维码相关的库,因此我们可以通过整合phpqrcode来完成生成二维码的功能.想使用phpqrcode首先就要把p ...
- laravel sql复杂语句,原生写法----连表分组
### 使用了临时表.又分组又连表的感觉好难写,使用拉 ravel 但是现在越来也相信,没解决一个新的难题,自己又进步了一点点 ### 原生的sql: select user_code, realna ...
- 用puttygen工具把私钥id_rsa转换成公钥id_rsa.ppk
1 前言 有时候需要ppk格式的公钥,可以用putty来处理 2 步骤 1. 产生密钥 可以参考Gitlab的SSH配置(linux和windows双版本) $ ssh-keygen -t rsa - ...
- layui框架中关于table方法级渲染和自动化渲染之间的区别简单介绍
方法级渲染: <table class="layui-hide" id="LAY_table_user" lay-filter="user&qu ...