Java EE

JAVA项目之增删改查

こ雲淡風輕ζ 提交于 2020-12-05 12:49:34
public class ProductDao { // 查询所有商品 // BeanListHandler查询所有商品 public List<Product> getAll() throws SQLException { QueryRunner qr = new QueryRunner(MyDBUtils.getDataSource()); String sql = "select * from product" ; List <Product> arr = qr.query(sql, new BeanListHandler<Product>(Product. class )); return arr; } // 添加商品 public void add(Product product) throws SQLException { QueryRunner qr = new QueryRunner(MyDBUtils.getDataSource()); String sql = "insert into product(pid,pname,market_price,shop_price,pdate,pdesc,is_hot,cid) values(?,?,?,?,?,?,?,?)" ; Object[] obj = { product.getPid(), product

SpringBoot事务注解详解

两盒软妹~` 提交于 2020-12-05 10:53:57
点击上方 蓝色字体 ,选择“标星公众号” 优质文章,第一时间送达 作 者 | Kero小柯 来源 | cnblogs.com/kesimin/p/9546225.html 66套java从入门到精通实战课程分享 精品帖子大汇总 @Transactional spring 事务注解 1.简单开启事务管理 @EnableTransactionManagement // 启注解事务管理,等同于xml配置方式的 <tx:annotation-driven /> 2.事务注解详解 默认遇到throw new RuntimeException(“…”);会回滚 需要捕获的throw new Exception(“…”);不会回滚 指定回滚 @Transactional (rollbackFor=Exception.class) public void methodName () { // 不会回滚 throw new Exception( "..." ); } 指定不回滚 @Transactional (noRollbackFor=Exception.class) public ItimDaoImpl getItemDaoImpl () { // 会回滚 throw new RuntimeException( "注释" ); } 如果有事务,那么加入事务,没有的话新建一个(不写的情况下) @

SpringBoot事务注解详解

邮差的信 提交于 2020-12-05 10:42:40
@Transactional spring 事务注解 1.简单开启事务管理 @EnableTransactionManagement // 启注解事务管理,等同于xml配置方式的 <tx:annotation-driven /> 2.事务注解详解 默认遇到throw new RuntimeException(“…”);会回滚 需要捕获的throw new Exception(“…”);不会回滚 指定回滚 @Transactional(rollbackFor=Exception. class ) public void methodName() { // 不会回滚 throw new Exception("..." ); } 指定不回滚 @Transactional(noRollbackFor=Exception. class ) public ItimDaoImpl getItemDaoImpl() { // 会回滚 throw new RuntimeException("注释" ); } 如果有事务,那么加入事务,没有的话新建一个(不写的情况下) @Transactional(propagation=Propagation.REQUIRED) 容器不为这个方法开启事务 @Transactional(propagation=Propagation.NOT_SUPPORTED)

Springboot和SpringMVC区别

ⅰ亾dé卋堺 提交于 2020-12-05 10:21:26
spring boot只是一个配置工具,整合工具,辅助工具. springmvc是框架,项目中实际运行的代码 Spring 框架 就像一个家族,有众多衍生产品例如 boot、security、jpa等等。但他们的基础都是Spring 的ioc和 aop,ioc 提供了依赖注入的容器, aop解决了面向横切面的编程,然后在此两者的基础上实现了其他延伸产品的高级功能。 Spring MVC提供了一种轻度耦合的方式来开发web应用。 它 是Spring的一个模块,是一个web框架。通过Dispatcher Servlet, ModelAndView 和 View Resolver,开发web应用变得很容易。解决的问题领域是网站应 用程序或者服务开发——URL路由、Session、模板引擎、静态Web资源等等。 Spring Boot实现了自动配置,降低了项目搭建的复杂度 。它主要是为了解决使用Spring框架需要进行大量的配置太麻烦的问题,所以它并不是用来替代Spring的解决方案,而是和Spring框架紧密结合用于提升Spring开发者体验的工具。同时它集成了大量常用的第三方库配置(例如Jackson, JDBC, Mongo, Redis, Mail等等),Spring Boot应用中这些第三方库几乎可以零配置的开箱即用(out-of-the-box)。 Spring

找基于微信小程序的公众号代设计做

给你一囗甜甜゛ 提交于 2020-12-05 09:56:38
现在又到了做毕业设计的时候了。很多同学都喜欢用SSM框架来做设计,从我个人的经验来看,这个是很好的选择。因为它可以比较快速的搭建起项目,在后期也能很好的升级和维护。 联系我们:.扣.扣.号(幺零三贰三七幺贰幺) 在Java企业级应用开发中,SSM框架逐渐被市场接受和认可,这是一个轻量级的框架,也是目前高校教学中比较常用的一种框架技术.在web系统的开发中使用SSM框架既可以实现分层设计,让系统更加便于维护、松耦合的特点;又能让开发人员更加专注于系统业务的开发,而且通过使用框架可以节省代码的书写量,提升开发效率.对于计算机专业的学生来说,学习此框架技术既可以提升专业素养,也为以后在企业进行开发工作起到了很好的衔接作用. 但是如果要做基于SSM框架,或者基于java的设计,以及微信小程序的设计很难完成吗?下面我们来说说步骤吧。 本人积累多年工作经验,承接毕设项目,代码质量保证,轻量简洁,本团队擅长基于JAVA、基于SSM框架、基于JVAWEB、基于J2EE、基于安卓、基于微信小程序等多项技术。为你量身定制的毕业设计,毕业只有一次,我们将尽心尽力为你完成毕设,十年毕设经验,尽在我们。 我们首先根据您的掌握情况来选择适合您的题目。因为选题是最重要的。 选完题目后,就需要做好开题报告。如果你已经写好了开题,那我们就根据你的开题来设计。 不管是什么题目都是可以定制的。肯定是百分百按需定制

SpringBoot 拦截器

|▌冷眼眸甩不掉的悲伤 提交于 2020-12-05 02:25:40
web拦截器作用有权限控制,日志记录等等。SpringBoot 提供 HandlerInterceptor 方便我们开发; 我们定义一个自定义拦截器 实现 HandlerInterceptor 接口,实现三个方法, preHandle 是请求处理之前调用, postHandle 是请求处理之后并且视图渲染之前调用, afterCompletion 请求结束之后并且视图渲染之后调用; package cn.smart4j .interceptor; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; /** * 自定义拦截器 * @author Administrator * */ public class MyInterceptor implements HandlerInterceptor{ @Override public boolean preHandle(HttpServletRequest request,

升级到tomcat8碰到的问题总结

本秂侑毒 提交于 2020-12-04 23:56:44
一.url中特殊字符问题 根据rfc规范,url中不允许有 |,{,}等特殊字符,但在实际生产中还是有些url有可能携带有这些字符,特别是|还是较为常见的。在tomcat升级到7以后,对url字符的检查都变严格了,如果出现这类字符,tomcat将直接返回400状态码。 后来有人对此提出了异义,见: https://bz.apache.org/bugzilla/show_bug.cgi?id=60594 经过一番讨价还价,tomcat的开发人员增加一项设置,允许配置在url可以出现的特殊字符,但也仅限于|,{,}三种,见:http://tomcat.apache.org/tomcat-8.0-doc/config/systemprops.html#Other 该项设置在以下版本的tomcat中有效: - 8.5.x for 8.5.12 onwards - 8.0.x for 8.0.42 onwards - 7.0.x for 7.0.76 onwards 二.jso语法兼容问题: 如果使用到了jsp,则语法方面需要配置一下兼容:在catalina.properties里面加上: org.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false org.apache.jasper.compiler.Parser.STRICT

SpringBoot入门 (十三) WebSocket使用

独自空忆成欢 提交于 2020-12-04 20:46:02
本文记录在SpringBoot中使用WebSocket。 一 什么是WebSocket   WebSocket是基于TCP协议的一种网络协议,它实现了浏览器与服务器全双工通信,支持客户端和服务端之间相互发送信息。在有WebSocket之前,如果服务端数据发生了改变,客户端想知道的话,只能采用定时轮询的方式去服务端获取,这种方式很大程度上增大了服务器端的压力,有了WebSocket之后,如果服务端数据发生改变,可以立即通知客户端,客户端就不用轮询去换取,降低了服务器的压力。目前主流的浏览器都已经支持WebSocket协议了。   WebSocket使用ws和wss作资源标志符,它们两个类似于http和https,wss是使用TSL的ws。主要有4个事件:   onopen    创建连接时触发   onclose    连接断开时触发   onmessage 接收到信息时触发   onerror    通讯异常时触发 二 简单使用示例   SpringBoot对WebSocket也做了支持,需要使用的话引入依赖所需要的包spring-boot-starter-websocket就可以了。我们利用它可以双向通信的特性来实现一个简单的聊天室功能。主要功能如下   1 用户在浏览器端进入聊天室(创建WebSocket连接);   2 用户端发送消息到服务端(客户端像服务端发信息);   3

springboot xss防护

↘锁芯ラ 提交于 2020-12-04 17:50:18
概述   XSS(Cross Site Script)全称跨站脚本攻击,为了跟CSS区分开来,所以变成了XSS。它允许恶意代码植入到正常的页面中,盗取正常用户的账号密码,诱使用户访问恶意的网站。 攻击   实施XSS攻击必须具备两个条件 向web页面注入恶意代码。 这些恶意代码能够被浏览器执行。 看一个简单的demo,更能清晰的了解什么XSS攻击 @RequestMapping(value = "/demo11",method = RequestMethod.GET) public String demo11(@RequestParam String name,@RequestParam int age) { return name; } 我们输入访问地址 127.0.0.1:8080/demo11?name=<script>alert("正在发动xss攻击")</script><a href="http://www.baidu.com">澳门皇家赌场上线了<a>&age=11 点击诱惑连接 这就是一个简单的反射性XSS攻击,也叫非持久性XSS,将非法代码提交到服务器,服务器解析并响应,而响应中包含XSS代码,最后浏览器解析并执行。另一种XSS攻击也叫持久型XSS,将XSS代码发送到服务器,如果没有后台效验,直接给存上了,在回显时,会从服务起解析加载出来,浏览器发现XSS代码

Java程序员从京东、阿里、携程面试回来,已成功拿到京东offer

旧街凉风 提交于 2020-12-04 15:55:04
阿里巴巴(一面) 阿里找了一个北邮学长的内推,准确来说应该是直推,是他帮我直接录的简历,他本科进的阿里蚂蚁金服,厉害吧?是真的佩服。第一次在官网上填资料,想想马云有多出名,想想蚂蚁金服这样的顶级技术,有些兴奋,有些期待。 录完简历后等待简历评估,原来,找内推不一定能得到面试机会,能不能得到面试机会要经过简历评估(我这才知道,原来内推免笔试可不是那么容易的),毕竟内推能免去在线笔试直接面试,互联网第一梯队像百度、阿里,腾讯的笔试真的很有难度,做过前几年这些公司的笔试题,真的太难了。在阿里的校招群里看到很多研究生研究算法,前端,Java研发的,简历评估后直接变成已回绝没有得到面试机会。心想,我一个研究生,Java研发都是自学的,项目都是自己设计的需求,简历也就一张纸,究竟能不能得到面试机会? 填完资料的一个星期后收到了支付宝的面试电话,突然变得好紧张,居然得到了面试的机会。 自我介绍 简单的介绍一下你的项目 一个有500个用户的广播系统,你怎么做性能优化 当用户提交请求后,却立即按撤回按钮,涉及性能的数据落地问题你怎么处理 Lucene底层实现原理,它的索引结构 ibatis跟hibernate的区别 ibatis是怎么实现映射的,它的映射原理是什么 Java I/O底层细节,注意是底层细节,而不是怎么用 你对mysql有什么了解 说一下数据库事务的四个特性