js表单校验
不能使用onsubmit提交表单!! 因为是同步请求
ajax异步提交表单
原因:为了获取服务器响应的数据. 因为前台使用html作为视图层,不能直接从Servlet相关的域对象获取值
表单提交时触发onsubmit事件
如果onsubmit的返回值为true代表提交表单,表单的onsubmit事件默认返回值时true
如果onsubmit的返回值为false阻止表单提交
表单一旦通过onsubmit事件提交,是同步请求!!!
baseServlet
基类抽取
前端
1.表单标签离焦事件校验
2.点击提交按钮的提交校验,不能提交表单
3.使用ajax进行表单提交
4.一定要提交日期
后台
web
接收表单数据
调用service的注册方法,获取boolean的返回值
封装结果Bean ResultInfo
把对象转换成json返回浏览器
service
dao
根据用户名查询用户 -> 返回查询到的用户user对象
注册 -> 执行sql的insert入库的操作
-------
subString和split的区别是什么?(在基类抽取的时候用subString 在分类的时候用split)
@WebServlet("/user/*") 中"/user/*"的意义
-------
header的分类
注意:
1.分类必须写在入口函数中
2.在入口函数中做字符串拼接( <li>的拼接 )
3.分类的数据不会经常发生变化 ,所以放进缓存redis
* service层
1.从redis中查询
2.判断集合是否为null {
* 是:
// 内存中无数据
查询数据库 , 并且存入redis中(注意将uid也存进去) (查询sortedset的分数的方法 *zrange with score)
*否:
// 内存中有数据
直接返回
} 返回集合
4.分类的数据在缓存中需要有顺序, 也就是需要用sortedset来存储
5.html之间的数据传递
传递方式:
1.在链接中拼接 xxx.html?cid=5
2.表单提交 action="xxx.html"
3.location.href
接收方式:
API : location.search 获取传递的数据
分页
注意
前台
后台
1.servlet接收3个参数(currentPage, pageSize, cid类型均为String), 首先要进行非空判断if (cidStr != null && cidStr.length() > 0),再转换为int类型 (否则会报异常),如果为空, 给其赋值
2.
---------
$(function () {
// 获取cid
var search = location.search;
var cid = serch.split("=")[1];
load(cid);
})
function load(cid,currentPage) {
// 发送ajax请求
$.post("/route/pageQuery", {"cid":cid,"currentPage":currentPage},
中在入口函数内调用load方法为什么只传一个参数,定义的时候有两个参数
---------
什么情况下需要用事务
--多条修改多条查询同时执行
|
|