Java EE

Spring @Valid

我与影子孤独终老i 提交于 2020-11-23 20:50:39
@Valid基本用法 强烈推荐如果要学习@Valid JSR303, 建议看这里的API Bean Validation规范 ! Controller控制器中在需要校验的实体类上添加 @Valid 即可使用JSR303校验(前提记得添加hibernate-validator相关jar,<mvc:annotation-driven/>); modelMap是为了将校验失败信息写回到request属性中返回给JSP页面展示 @RequestMapping("/demo2") public String test2(@Valid User user, BindingResult result, ModelMap modelMap){ System.out.println(user); List<FieldError> fieldErrors = result.getFieldErrors(); for (FieldError e:fieldErrors) { System.out.println(e.getDefaultMessage()); //验证不通过的信息 System.out.println(e.getField()); modelMap.addAttribute(e.getField(),e.getDefaultMessage()); } return "test"; }

验证码原理分析及实现

南楼画角 提交于 2020-11-23 08:35:03
一、前言 最近学习实现了验证码,首先附图效果如下:( 简单说明: 分别提交正确、错误的验证码及对应效果 本文是图文结合说明) 二、验证码的作用 验证码是目前大多网站所支持并使用于注册登录的。就在于其作用能有效防止恶意登录注册,验证码每次都不同, 这就可以排除,用其他病毒或者软件自动申请用户及自动登陆.有效防止这种问题。 三、原理及知识点分析 1.原理 验证码于服务器端生成,发送给客户端,并以图像格式显示。客户端提交所显示的验证码,客户端接收并进行比较,若比对失败则不能实现登录或注册,反之成功后跳转相应界面。 2.主要知识 服务器端的相关实现,前端运用 HTML 5,CSS 3 ,(可空白留给美工实现,须有 HTML 基础知识)。 主要是三部分: (提交界面, 成功及失败的) jsp (后台对应提交 jsp 验证提交内容的) servlet (生成验证码的) servlet XML 文档 四、验证码实现 1.所用软件为 Myeclipse 新建项目,默认生成 index.jsp 新建成功及失败 jsp(文件名自定义,但后台使用其路径时要对应即可) 注意:将 charset ,pageEncoding 设置为 utf-8 才能支持中文,否则乱码,此处采用 post 方法处理 Form 表单提交数据 2. jsp 代码写界面 提交界面jsp 代码及成功 jsp失败 jsp

验证码实现原理

孤者浪人 提交于 2020-11-23 08:25:46
最近对前端注册和登录的验证码感兴趣,研究了一下; 开始研究时候主要有以下几个问题; 1,前端的验证码图片是怎么生成的(jQuery/js前端直接生成还是通过java,swing绘图而刷到前端的) 2,如果是jQuery的话,生成了验证码图片,是怎么把这个生成的字符刷到后台,而进行验证的; 3,如果是java swing 绘图生成图片,是怎么把这个图片刷到前端的,后端又是怎么判断的; 带着这几个问题开始了研究: 1:首先是利用java swing的绘图工具在服务端绘图输出的工作原理: 前端设置一个img标签,绑定一个onclick事件,图片的src地址(第一次加载的时候就会显示),是项目名加这个servlet,也就是说当点击事件发生后servlet收到请求,并把绘制的图片响应出去,当然onclick事件里面的函数也是一个同样一个src,每次点击则重新加载一次src, 需要注意的是:浏览器会判定是否重复提交链接,如果重复提交的话,则不发出请求,所以,要在后面加上一个每次都会变的值(获取当前事件,或者用math的random方法生成一个随机数),来激发servlet的每次校验运行,这样的一个小技巧能够实现 局部刷新 ; 服务端的变化是:通过java swing一个servlet生成一个图片,谁请求这个servlet,就利用此servlet里面的响应函数,把图片响应出去

Java Web相关课程学习笔记

ε祈祈猫儿з 提交于 2020-11-23 05:38:44
第一部分 JavaWeb基础入门 1、JSP入门 JSP语法 声明语法 <%! int i = 0; %>, 此方式声明的变量为成员变量和成员函数 程序脚本 <% int j = 0; %>, 此方式声明的变量为局部变量和局部函数 注释 <%-- java脚本。jsp中其他代码 --%> 内容输出表达式 <%= %> 包引入语法 <%@page import = "java.util.* ,java.io.* "%> <span></span>被用来组合文档内的行内元素 2、JSP内置对象 JSP内置对象(9个内置对象): 不需要预先声明就可以在脚本代码和表达式中随意使用 作用域:pageContext、request、session、application request:封装了由web浏览器或其他客户端生成http请求的细节(参数,属性,头标,数据) out:代表输出流的对象 response:封装了返回到http客户端的输出,向页面作者提供设置响应头标和状态码的方式 request作用域:用户的请求周期,相邻两个web资源之间共享 pageContext:提供了转发请求到其他资源和包含其他资源的方法,提供获取其他内置对象的方法 pageContext.forward("a.jsp?name=imooc"); 请求转发的方法 pageContext.include(

servlet和servlet-mapping的作用

烈酒焚心 提交于 2020-11-23 05:11:19
转载:https://www.jianshu.com/p/6dadc489969a 某个工程的 web.xml 文件片段: 执行顺序 访问顺序为1—>2—>3—>4,其中2和3的值必须相同。 url-pattern 标签中的值是要在浏览器地址栏中输入的 url,可以自己命名,这个 url 访问名为 servlet-name 中值的 servlet,两个 servlet-name 标签的值必须相同,因为通过 servlet 标签中的 servlet-name 标签映射到 servlet-class 标签中的值,最终访问 servlet-class 标签中的 class。 还有,web.xml 的 / 表示的是 http://localhost:8080/ + 工程名 而.jsp页面的action,加了/表示绝对路径 http://localhost:8080/ ,没有加 / 表示的是相对路径 也就是说: servlet和servlet-mapping都含有<servlet-name></servlet-name> 主要原因是想通过servlet-name作为纽带,将servlet-class和url-pattern构成联系,从而使URL映射到类servlet-class所指定的类中! 作者:简单的书写点 链接:https://www.jianshu.com/p

随心所遇,随遇而安。

末鹿安然 提交于 2020-11-22 15:29:13
Java数据类型 包装类型 为了 让基本类型也具有对象的特征 ,就出现了包装类型(比如在使用集合类型Collection时就一定要使用包装类型而非基本类型) 因为容器都是装object的,这时就需要这些基本类型的包装类了。 区别: 1. 声明方式不同:包装类型需要使用 new 关键字来 在堆空间中分配存储空间 ; 2. 存储方式以及位置不同:基本类型是直接将变量存储在 栈 中,而包装类是将对象放在 堆 中,通过引用来使用; 3. 默认值不同,基本类型都有默认值,int是0 、boolean是false;包装类型的默认值是 null ; 4. 使用方式不同:基本类型直接赋值使用;包装类型可当做对象来使用; Integer128==128?false Integer类内部 通过静态内部类提供了一个缓存池,范围在-128~127之间, 如果超过这个范围 Integer 值都是new出来的对象。     short s1=1 s1=s1+1 × 由于s1+1运算时会自动提升表达式的类型,所以结果是int型,再 赋值给short类型s1时,编译器将报告需要强制转换类型的错误。 s1+=1 √ 由于 +=是java语言规定的运算符,java编译器会对它进行特殊处理,因此可以正确编译。 a++和++a &和&&的区别 &和&& 都可以用作逻辑“与”的运算符,当运算符两遍表达式的结果都没true时

Java架构师学习路线

ⅰ亾dé卋堺 提交于 2020-11-22 14:31:24
想要成为Java架构师,除了需要对自身的职业规划有着清楚的认识,还需为自己量身定制一份Java架构师学习路线。 精通Java技能,不仅能让你找到一份心仪的工作,还能让你在Java架构师的道路上走的更远。Java架构师学习路线不只是指对自己的工作方向有一个大致的规划,还需要对知识技能进行一个系统的梳理。 2018年,TIOBE通过分析谷歌、百度和YouTube等平台的数据发现,Java使用人数占据15.37%,位居十大编程语言之首。Java由于其可移植性、可扩展性和庞大的用户社区,受到广泛程序员与大公司的喜爱。 在此,博主将整理所得的Java架构师学习路线分享给大家,希望各位学员能在走向Java架构师的道路上少走弯路。 1. 深入Spring 5与设计模式 (1)Spring 5实践 (2)IOC (3)AOP (4)常见设计模式 2. 深入数据架构设计 (1)Spring JDBC与MySQL实践 (2)ORM与Hibernate实践 (2)Spring事务实践 (3)MySQL主从,分页优化 (4)分布式事务实践 (5)NoSQL实践 3. 深入分布式架构设计 (1)服务治理,服务注册与发现 (2)配置中心 (3)Hystrix,客户端路由,服务降级 (4)本地缓存,分布式缓存 (5)异步驱动,JMS,Queue (6)消息服务,RabbitMQ/Kafka (7)幂等性消息设计

基于Java web的志愿者管理系统

守給你的承諾、 提交于 2020-11-22 08:08:24
源码编号:B-E00023 点击查看( 分类规则 ) 项目类型:Java EE项目(非开源) 项目名称:基于Java web的志愿者管理系统(volunteer-web) 当前版本:V1.0.0版本 难度等级: ✩✩ 复杂程度: ✩ 点击查看 难度等级 用户类型:双角色(志愿者和管理员) 设计模式:MVC(jsp+servlet+javabean) 项目架构:B/S架构 开发语言:Java语言 主要技术:jqueryEasyUI、 ajax 、 jsp、servlet、jdbc、html5、jquery、css、等技术 运行环境:win7/win10/jdk1.8 开发工具:Eclipse 运行工具:Eclipse/ M y Eclipse ,clipse最兼容 数 据 库:Mysql5.5/5.7/8.0版本 运行服务器:Tomcat6.0/7.0/8.0/8.5/9.0等版本 数据库表数量:1张表 jsp页面数量:6张左右 是否有分页:有分页 是否有代码注释:有注释 是否有idea版本:暂无 是否有课程报告:暂无 相关版本:暂无 源码列表:点击查看 公众号所有源码 携带服务:远程调试服务和指导服务(远程调试、问题答疑和指导) 适用场景:课程设计学习参考,对学计算机的大学生来说非常适合学习。 功能描述:本程序具有志愿者和管理员两个角色,志愿者登陆以后可以查看自己的个人信息

基于Java web的职工工资管理系统

纵饮孤独 提交于 2020-11-22 07:48:40
源码编号:B-E00034 点击查看( 分类规则 ) 项目类型:Java EE项目(非开源) 项目名称:基于Java web的职工工资管理系统(employee_sal) 当前版本:V1.0.0版本 难度等级: ✩ 复杂程度: ✩ 点击查看 难度等级 用户类型:只有管理员( 设计模式:MVC(jsp+servlet+javabean) 项目架构:B/S架构 开发语言:Java语言 主要技术:c3p0技术、 jsp、servlet、Layui、html5、js、jquery、css等技术 运行环境:win7/win10/jdk1.8 开发工具:Eclipse 运行工具:Eclipse/MyEclipse,Eclipse最兼容的 数 据 库:SQLServer2008/2014版本 运行服务器:Tomcat6.0/7.0/8.0/8.5/9.0等版本 数据库表数量:2张表 jsp页面数量:7张左右 是否有分页:无 是否有代码注释:有注释 是否有IDEA版本:暂无 是否有课程报告:暂无 是否有毕业论文: 暂无 相关版本:点击查看 公众号所有源码 携带服务:远程调试服务和指导服务(远程调试、问题答疑和指导) 适用场景:课程设计学习参考,对学计算机的大学生来说非常适合学习。 功能描述:本系统采用了SQLserver数据库开发的职工工资管理系统,用户注册登陆以后

6 月程序员工资出炉,Java 程序员酸了!

ぐ巨炮叔叔 提交于 2020-11-22 06:43:17
2020 魔幻开局,不少企业开始缩减招聘名额,更别说涨薪了!据第三方统计,今年 6 月程序员平均工资 14404 元,工资中位数 12500 元。作为第一编程语言的 Java,平均工资 14433元。 程序员薪资相较于上个月继续下跌。不少网友 感叹互联网环境大不如前了,而且近些年学习 Java 的人也越来越多,竞争环境激烈。 想拿到一份理想薪酬的工作越来越“南”! 好消息是,虽然薪资下降了,但 6 月的招聘岗位比上个月多了起来,随着经济好转,之前有用心沉淀技术、储备技能、调查过市场主流需求的朋友,可以操练起来了。 其 实,对于 Java 人来说,评估其技术能力的维度无非就是这几个方面—— 主流技术框架、源码阅读能力、高并发设计经验、项目实战、架构设计 。 招聘热度正不断加温,为了能让急需提升的伙伴,少走些弯路, 在有限时间内补齐短板, 这里再次推荐下开课吧与众头部互联网公司深度合作的 《Java EE 企业级分布式高级架构师》 ( 如果觉得很对口,我这里还争取了10个优惠预约名额 )。 不同于市面上一些训练营或培训班,知识点零零散散,又缺乏一定的深度。该 课程由开课吧与 廖雪峰 老师深度合作,联合众一线互联网企业架构师 / 技术负责人,倾力打造,课程体系全面深入,旨在帮助 Java 人于较短时间内突破技术瓶颈,扫清面试障碍,早日实现职业晋升。 课程已开设 16 期,已经有 3600