Java菜鸟学习日记28

CSS样式表和JS脚本加载顺序
  • CSS样式表文件要在<head>中先加载,这样网页显示时可以第一次就渲染出正确的布局和样式,网页就不会闪烁,或跳变
  • JS脚本尽可能放在<body>结束时再加载,因为JS脚本作为i程序,要求按顺序执行,而且是由主线程(单个线程)去执行的,如果很多JS脚本放在头部,就会导致浏览器无法以多线程的方式加载和渲染页面,浏览器会等待所有JS一个接一个执行完毕后才继续往下加载。其结果是网页打开的速度变慢。
点击后执行一个JS函数
  1. 用<a>标签:href="javascrip:函数名(参数)"
  2. 用其他标签:οnclick="函数名(参数)"
SpringMvc在URL路径中传参数
传 id 时:
  1. /user/remove?id=123:QueryString:查询字符串传参
  2. /user/remove/123:Path:路径传参
    1. 更加漂亮,符合RESTful风格,SEO权重也比较高,有利网页排名
使用路径传参,要求映射必须能够支持占位符。
  • 所以Servlet不支持
  • SpringMVC通过下面的方式支持URL占位符
    • @RequestMapping("/user/remove/{id}")
  • 占位符可以有多个
  • 取值时,在请求方法中使用
    • @PathVariable 注解标记参数
如果希望分页页码也放在Path中
  • /user/list/3
  • user/list/1 第一页又不希望有/1
  • 如果把占位符写成/user/list/{pageNo}
    • 当访问/user/list 时就会出现 404,因为现在映射匹配不上了
    • 解决的方法是:添加一个新的请求处理方法,将映射设置为@RequestMapping("/user/list")
publilc String list() { list(1) }
SpringMVC服务端数据验证
  1. 服务端验证是必须的!即使已经通过JS在浏览器端实现了漂亮的数据验证,服务端也不能相信JS。
  2. 服务端验证可以有效的抵御网络攻击,可以保证服务器的安全,同时也能有效的检查出不合法的数据,予以拒绝,避免将非法数据写入数据库或文件
  3. 服务端验证是有关系统安全的大事!
在Java中专门有一个标准提案:JSR303负责制定数据验证的规范。JSR303的常用实现是Hibernate-Validator。JSR303规定使用注解实现验证,定义验证规则,比如是否可空、是否符合正则表达式、长度、日期格式是否正确。
常用验证注解:
SpringMVC通过@Valid调用数据验证。通过BinDingResult或者Errors请求处理参数,拿到验证结果。在请求处理方法中,应该先调用BinDingResult.hasErrors()检查是否有错误,在进行其他操作,否则会导致抛出异常。
SpringMVC通过<form:error path="属性名">在页面上显示错误信息

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值