做一个简易jsp项目的详细开发流程及步骤
步骤目录
- 一.数据库
- 1.建库
- 2.建表,添加约束,插入数据,导出
- 二.创建项目
- 1.导jar包(三个)
- 2建包:
- 1.创建util包,写DBHelper
- 2.创建model包,数据类
- 三.功能
- 一.登录
- 二.注册
- 三.列表
- 四.新增
- 五.修改
- 六.删除
- 七.详情(修改的前半段)
一.数据库
1.建库
CREATE DATABASE 库名ON PRIMARY(NAME = '库名_data',FILENAME = 'D:\DATA\库名_data.mdf',SIZE = 5MB,MAXSIZE = 10MB,FILEGROWTH = 15%)LOG ON(NAME = '库名_log',FILENAME = 'D:\DATA\库名_log.ldf',SIZE = 5MB,MAXSIZE = 10MB,FILEGROWTH = 15%)
2.建表,添加约束,插入数据,导出
这些根据所要创建的表自行添加这个可以通过点点点的操作完成,也可以通过sql语句完成
二.创建项目
1.导jar包(三个)
2建包:
1.创建util包,写DBHelper
1.加载驱动程序static{Class.forName("?");}2.连接数据库public static Connection getConn(){Connection conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;database=MyDB","sa","1");return conn;}3.关闭资源public static void close(Connection conn , PreparedStatement ps , ResultSet rs){conn.close();ps.close();rs.close();}4.更新(增删改)操作public static boolean update(String sql, Object [] objs){// 连接数据库Connection conn = getConn();// 与数据库进行交互PreparedStatement ps;// 设置数据for(int i = 0,i < objs.length , i++){ps.setObjecct(i+1,objs[i]);}// 结果int count = ps.execu;// 判断返回if(count > 0){return true;} else {return false;}// 关闭资源close(conn,ps,null);}
2.创建model包,数据类
1.根据数据库的列名添加私有属性eg: private Integer id;2.生成公有方法(无参构造方法,含参构造方法,get和set方法)可以通过Source下的1.Generate Getters and Setters2.Generate Constructor using Fields3.Generate Constructors from Superclass3.创建dao层,操作接口/实现类(impl) == > 为了方便可以直接把操作方法写在dao层及各个操作类的查询方法1.用户登录查询方法2.获取列表数据(所有数据)方法 --> 这个方法用在获取列表数据上3.通过id获取数据(单行数据)方法 -->这个方法用在详情和修改上4.创建action包,写servlet用的
三.功能
一.登录
1.写一个login.jsp页面一个form表单, action = "login"的servlet类中添加一个错误接受提示,当登录失败返回到登录页面显示错误2.登录的servlet(LoginServlet)1.设置编码 2.接收参数(用户名和密码)3.查询(通过用户名和密码去使用登录查询方法查询是否有这个数据)有:return 数据无:return null4.判断响应if(数据 != null){// 登录成功1.创建session会话,并将登录的用户数据设置到session会话当中去2.重定向到获取列表信息的servlet中} else {// 登录失败1.设置返回注释2.通过转发返回到登录页面}
二.注册
1.写一个reg.jsp页面一个form表单, action = "reg"的servlet类中 onSubmit= "return check()"-->这里通过js来进行非空验证添加一个错误接受提示,当注册失败返回到注册页面显示错误非空验证:1.通过 var c = document.getElementById("对应的id名").value; 来获取数据2.验证 if(c == "" || c == undefined){// 数据为空,出来一个提示弹框,并返回false终止注册alert("数据不为空");return false;} else {// 数据不为空,返回true,进入注册的Servlet中进行注册操作return true;}2.注册的servlet(RegServlet)1.设置编码 2.接收参数(注册的各个数据)3.DBHelper中更新方法(需要一个SQL语句,一个Object类型的数组用来储存注册数据)String sql = "";Object [] objs = {接收参数的个个变量};有:return true; ==> 更新成功无:return false; ==> 更新失败4.接收返回参数boolean isOk = DBHelper.update(sql , objs);4.判断响应if(isOk){// 注册成功2.重定向到login.jsp页面进行登录} else {// 注册失败1.设置返回注释2.通过转发返回到注册页面}
三.列表
1.获取列表信息的servlet(GetListServlet) 1.设置编码2.调用无参查询列表信息的方法并使用ArrayList<?> 接收 ?为你model包下定义的类名ArrayList<?> lists = ?Dao.select();3.通过转发将信息转发到列表的jsp中2.列表的jsp(list.jsp)1.写一个table表格2.通过<c:forEach itam="${注意:这里要一一对应}" var="自定义一个下面获取值的名称"></c:forEach>
四.新增
1.新增的.jsp(add.jsp)跟注册类似,只是form表单的内容有所改变这里也可以添加非空验证2.新增的servlet(AddServlet)1.设置编码2.接收参数3.插入操作跟注册类似;4.响应// 添加成功跳转到获取数据列表的servlet中,获取完数据,进入到列表页面// 添加失败返回到添加的.jsp页面
五.修改
1.通过id获取数据详情的servlet(getListToIdServlet)1.设置编码2.接收参数3.通过id获取数据详情的查询操作4.响应1.获取成功使用转发将数据发送到修改的jsp页面(update.jsp)2.获取失败返回列表2.修改的jsp页面(update.jsp)1.form表单 action="update"2.内容通过value="${}"获取3.修改的Servlet(UpdateServlet)1.设置编码2.接收参数3.String sql = "UPDATE <表名> SET 列名 = ?, WHERE id = ?";4.更新操作5.响应1.更新成功重定向到获取列表信息的servlet中2.更新失败返回到修改的.jsp页面
六.删除
1.删除的servlet(DeleteServlet)1.设置编码2.获取id3.String sql = "DELETE FROM <表名> WHERE id = ?";4.更新操作5.重定向到获取列表信息的servlet中
七.详情(修改的前半段)
1.通过id获取数据详情的servlet(getListToIdServlet)1.设置编码2.接收参数3.通过id获取数据详情的查询操作4.响应1.获取成功使用转发将数据发送到详情的jsp页面(info.jsp)2.获取失败返回列表2.详情的jsp页面(info.jsp)1.table表格 2.内容通过${}获取3.加一个超链接返回到获取数据列表的servlet中<a href="GetListServlet">返回列表</a>
做一个简易jsp项目的详细开发流程及步骤相关推荐
- 使用JSP做一个小小的新闻项目(END)
使用JSP做一个小小的新闻项目(END) 用户主页: show.jsp:用户的一个浏览界面 管理员主页: index.jsp:管理员主页(完全版,没多大变化,完善了一些机制) 新闻阅读: read.j ...
- 使用vue-cli+element-ui+expsess+mysql做一个简易的登录功能
使用vue-cli+element-ui+expsess+mysql做一个简易的登录功能 1使用webpack下载vue模板 vue init webpack aaa(aaa为项目名称) cd到aaa ...
- 一个项目的简单开发流程——需求、数据库、编码
关于一个项目的简单开发流程 前言:从11月8号开始到11月12号我们小组使用html+easyUI+ashx+异步,开发了一个简易的网 站,也就是简单的门户网站,下面我就将我们这几天开发中遇到的一些问 ...
- python 知乎接口_Python日记——用Django做一个简易的知乎日报API
为什么我要选择django做生成api的框架 因为其内置的orm简单易用 生成restful的api要配合rest_framework使用 文档地址:https://darkcooking.gitbo ...
- python发音机器人_只需三步,菜鸟也能用Python做一个简易版Siri
原标题:只需三步,菜鸟也能用Python做一个简易版Siri 当下,各个手机厂商都陆续的推出了属于自己的智能手机机器人,像是苹果的Siri,小米的小爱,还有等等.这些智能机器人不仅仅方便了我们对于手机 ...
- 安卓初体验一:做一个简易计分器
安卓初体验一:做一个简易计分器 1.成品图 2.准备:确定开发环境.明确应用功能 2.1开发环境 2.2应用功能 3.界面制作 3.1选择布局 3.2代码编写 4.功能编写 4.1提示信息功能编写 4 ...
- 艾伟也谈项目管理,如何做一个合格的项目经理
项目经理这个角色说大不大,说小也不小.在大公司,项目经理这样的角色可能存在不计其数,他们很多都是寄托于项目的存在而生,项目的完成而终:但对于一些小作坊的软件公司,项目经理一职很多时候是一个长期持有的过 ...
- 教你做一个优秀的项目经理
教你做一个优秀的项目经理 如何做个好的项目经理?项目经理应该做什么?不应该做什么?这个问题涉及的范围很广,我只能就以前的一些项目经验谈谈个人的体会.难免有以偏盖全的地方,还请大家多提意见. 1.项目经 ...
- 使用Trinamic TMC2300步进驱动器做一个迪斯科灯项目
从RoadTest发布,Trinamic TMC2300-loT-REF步进驱动器+电机看起来很优秀,使其成为机电远程控制应用的理想选择.出于对评估它的功能和建立一个迪斯科灯项目的兴趣,我申请了这个实 ...
- 做一个聪明的项目参与者--制订WBS清单
前段时间,团队开始实施一个新项目.这个项目有着中国IT行业的三个共同特点:需求繁.工期紧.资源缺. 虽然从目前情况来看,它还有希望不会沦为"死亡项目",但如果实施过程中不小心翼翼. ...
最新文章
- uboot源码分析笔记
- linux shell mkdosfs 命令用于建立 dos 文件系统
- logback修改日志内容_巧用maven profile动态修改logback日志目录
- 机房为什么要设计冷热通道,设计原则及如何施工?
- SpringBoot事件与监听机制
- 中序遍历的模板(以及变形更新中。。。)
- 不会跳回到微博认定申请书
- Unity 游戏开发技巧集锦之使用忍者飞镖创建粒子效果
- 求数组中数对的最大值
- 自定义notebook扩展插件_Anaconda3中的Jupyter notebook添加扩展插件
- C++导入导出动态库
- php报错致命错误203,Centos7 下安装PHP7 phpredis扩展报错解决办法 致命错误:ext/standard/php_smart_str.h...
- linux大数据命令操作
- 一楼土木人序列号查询_iPhone序列号是什么 序列号怎么查看【步骤】
- 1694 件 AI 事件大盘点,哪些事让你记忆深刻?
- [转载]Jquery mobile 新手问题总汇
- [转载] 语言程序设计第4版黄洪艺_计算机二级教程 Python语言程序设计 第8章python计算生态...
- 在Vue 项目 webpack 打包中关于 背景图片的路径问题
- moonlight不显示鼠标指针
- is this mysql server_mysql出现is not allowed to connect to this mysql server异常的解决办法