1.springboot业务分析
综合业务分析
暂时理解
重定向和请求转发:
Controller层
按钮跳转重定向 return “redirect:/goods/doGoodsUI” (避免)
普通return"Goods"
请求转发未懂
Browser是浏览器
web server是网页服务器
今天开始
表示层 html
**
应用架构设计(MVC)
**
**
1.项目开始
**
导入数据库文件 activity.sql
1.创建项目
https://start.aliyun.com 替换外国的io
讲思维导图 客户端对服务器端 http协议
1.当用户在浏览器的地址栏中输入一个URL并按回车键之后,浏览器会向HTTP服务器发送HTTP请 求。HTTP请求主要分为“Get”和“Post”两种方法。
2.当我们在浏览器输入URL http://www.baidu.com 的时候,浏览器发送一个Request请求去获取 ht tp://www.baidu.com 的html文件,服务器把Response文件对象发送回给浏览器。
3. 浏览器分析Response中的 HTML,发现其中引用了很多其他文件,比如Images文件,CSS文件, JS文件。 浏览器会自动再次发送Request去获取图片,CSS文件,或者JS文件。
tomcat可能限制线程
2.最基本的ap配置文件
切换时区
**
3.开始写活动模块
**
按顺序实现
参考hi现场
1.dto pojo
修正 createdTime改成date类型
2.dao层
查底层代码 基础Ctrl+xxxx
其他搜索:ctrl+shift+t 打入关键字
service层
controller层
实现:
刚刚报错:500报错
对应检查
application.properties文件
修正后 如图上效果 已解决错误
**
码云 老师还没有上传 下午记得对好新增的注释 很多
**
小错误 空指针
下午 一开始写客户端层 html
controller层
必须对应 有get方法
订单超时 就变成无效 实现这个需求(暂未实现)
模态框 实现弹出 (bootsnap)
对应例子
1.
2.
效果实现:
增强 模态框显示更多
替换
最终实现效果如下:
对比最初的和增强的:
再新增
瞎吉尔的效果实现
对应上面瞎写的代码
<!-- Body部分 -->
<div class="modal-body">
<form class="form-horizontal">
<div class="form-group">
<label for="titleId" class="col-sm-2 control-label">邮箱</label>
<div class="col-sm-10">
<input type="email" class="form-control" id="inputEmail3"
placeholder="Email">
</div>
</div>
<div class="form-group">
<label for="categoryId" class="col-sm-2 control-label">密码</label>
<div class="col-sm-10">
<select id="categoryId" class="form-control">
<option>教育培训</option>
<option>企业活动</option>
<option>交友活动</option>
</select> <input type="password" class="form-control"
id="inputPassword3" placeholder="Password">
</div>
</div>
<!-- 再新增 -->
<form class="form-inline">
<div class="form-group">
<label class="sr-only" for="exampleInputEmail3">Email
address</label> <input type="email" class="form-control"
id="exampleInputEmail3" placeholder="Email">
</div>
<div class="form-group">
<label class="sr-only" for="exampleInputPassword3">Password</label>
<input type="password" class="form-control"
id="exampleInputPassword3" placeholder="Password">
</div>
<div class="checkbox">
<label> <input type="checkbox"> Remember me
</label>
</div>
<button type="submit" class="btn btn-default">Sign in</button>
</form>
</form>
</div>
然后接下来看老师的代码 去查bootstrap对应的样式并理解
<!-- Modal(模态框) -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog"
aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<!-- 标题部分 -->
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"
aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<h4 class="modal-title" id="myModalLabel">创建活动</h4>
</div>
<!-- Body部分 -->
<div class="modal-body">
<form class="form-horizontal">
<div class="form-group">
<label for="titleId" class="col-sm-2 control-label">标题</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="title" id="titleId"
placeholder="title">
</div>
</div>
<div class="form-group">
<label for="categoryId" class="col-sm-2 control-label">类型</label>
<div class="col-sm-10">
<select id="categoryId" name="category" class="form-control">
<option value="教育培训">教育培训</option>
<option value="企业活动">企业活动</option>
<option value="交友活动">交友活动</option>
</select>
</div>
</div>
<div class="form-group">
<label for="startTimeId" class="col-sm-2 control-label">开始时间</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="startTime" id="startTimeId"
placeholder="start time">
</div>
</div>
<div class="form-group">
<label for="endTimeId" class="col-sm-2 control-label">结束时间</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="endTime" id="endTimeId"
placeholder="end time">
</div>
</div>
<div class="form-group">
<label for="remarkId" class="col-sm-2 control-label">备注</label>
<div class="col-sm-10">
<textarea type="text" class="form-control" rows="5" name="remark" id="remarkId">
</textarea>
</div>
</div>
</form>
</div>
<!-- 按钮部分 -->
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save Changes</button>
</div>
</div>
</div>
</div>
对比自己最简单的
延续老师的
实现效果
如上,提交不到数据库
**
添加保存的业务流程 对应保存 给数据库插入信息
**
1.html 客户端层
点保存后 暂时提交不了给数据库 没有显示
先写controller层
2.mapper层
3.dao层
4.service层 然后实现状态归零操作
第三方,自己去查
回归service层
接口
实现类 impl
controller层
执行 客户端实现
报500错误
检查错误
如上 引出来的不对应
该impl
改
继续执行 还是报500错误 并不指是这个引用错的原因 看控制台了
查验mapper.xml文件
修正后依然500错误
接下来解决state无效问题
让新增加的信息 默认状态是1
再重新执行客户端
如上 保存 新增操作 任务达成~
主要作业还剩下 删除操作自己写 还有添加注释 有必要笔记加入代码块(或者明天)
小拓展 日期格式
注释@DateTimeFormat(pattern = “yyyy/MM/dd”)
原html写的格式 yyyy/MM/dd
客户端页面
错误示范 如下
报400错误
修正
结束
下面是做删除按钮操作
思路
1.从客户端层面做起 html
需求:这此页面上 点删除按钮 根据id执行删除操作 传给cotroller层,再传给数据库,后面反向传回给页面
这个有什么用?
js代码
为了弹出窗口 (确认删除吗?)
dao层面写起
2.
dto层
3.service层
试一试这种粗犷的写法
4.controller层
5.尝试在客户端执行
删除时报404错误,而且地址栏没有重定向跳转回去
如上 表示找不到资源
尝试service层修正
依旧报404,估计是不能根据id找到对应行或页面,看完console控制台后,打算核对源码了
完全无法获取22行
老师源码:
1.dao层+dto层
认为没错
2.service层
3.controller层 应该就是没有获得id去删除的问题,才报404错误
@RequestMapping("/activity/doDeleteObject/{id}")
注释理解 有点忘了id
public String doDeleteObject(@PathVariable Long id) {
有点忘了注释@PathVariable
4.客户端实现
删除后 观察页面地址栏