Java EE

Spring事务异常回滚,捕获异常不抛出就不会回滚

徘徊边缘 提交于 2020-12-23 04:34:46
最近遇到了事务不回滚的情况,我还考虑说JPA的事务有bug? 我想多了....... 为了打印清楚日志,很多方法我都加tyr catch,在catch中打印日志。但是这边情况来了,当这个方法异常时候 日志是打印了,但是加的事务却没有回滚。 例: 类似这样的方法不会回滚 (一个方法出错,另一个方法不会回滚) : if (userSave){ try { userDao.save(user); userCapabilityQuotaDao.save(capabilityQuota); } catch (Exception e) { logger.info( "能力开通接口,开户异常,异常信息:"+ e); } } 下面的方法回滚(一个方法出错,另一个方法会回滚): if (userSave){ try { userDao.save(user); userCapabilityQuotaDao.save(capabilityQuota); } catch (Exception e) { logger.info( "能力开通接口,开户异常,异常信息:"+ e); throw new RuntimeException(); } } 或者: if (userSave){ try { userDao.save(user); userCapabilityQuotaDao.save

【ORM框架】Spring Data JPA(一)-- 入门

自作多情 提交于 2020-12-23 03:18:03
本文参考: spring Data JPA入门 【原创】纯干货,Spring-data-jpa详解,全方位介绍 Spring Data JPA系列教程--入门 一、Spring Data JPA介绍 1、什么是JPA?什么是Spring Data JPA? JPA(Java Persistence API)是Sun官方提出的Java持久化规范。它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据。他的出现主要是为了简化现有的持久化开发工作和整合ORM技术,结束现在Hibernate,TopLink,JDO等ORM框架各自为营的局面。值得注意的是,JPA是在充分吸收了现有Hibernate,TopLink,JDO等ORM框架的基础上发展而来的,具有易于使用,伸缩性强等优点。 注意:JPA是一套规范,不是一套产品,那么像Hibernate,TopLink,JDO他们是一套产品,如果说这些产品实现了这个JPA规范,那么我们就可以叫他们为JPA的实现产品 Spring Data JPA 是 Spring 基于 ORM 框架(hibernate)、JPA 规范的基础上封装的一套JPA应用框架,可使开发者用极简的代码即可实现对数据的访问和操作。它提供了包括增删改查等在内的常用功能,且易于扩展。 2、Spring Data JPA能干什么? spring data

cookie和session

a 夏天 提交于 2020-12-23 00:54:46
cookie简介 在登录某个网站时,比如登录163邮箱的网站,界面中有个十天免登陆的选项,先不勾选该选项,登录成功之后关闭浏览器或重启电脑,当再次访问163邮箱时会提示用户登录,这说明http协议是无状态的,在不同的请求之间是无法进行数据传递的。 而当勾选了十天免登陆的选项并登录成功之后,关闭浏览器或者重启电脑,之后再次访问163邮箱时就会自动登录了。这说明用户登录的一些信息保存到了该电脑的硬盘中( 默认会存在浏览器的缓存中,可以设置保存在硬盘上 ),当访问163邮箱网站时,浏览器会将这些数据发送到服务器,从而实现了自动登录的功能,客户端电脑中用于保存这数据的资源,称为cookie。 用户在勾选十天免登陆的选项并登录成功之后,由服务器生成 Cookie,并将其封装到响应头中,以响应的形式发送给浏览器。 浏览器接收到这个响应后,将 Cookie 保存到硬盘中。当浏览器再次发送同类请求后,在请求中会携带保存在硬盘的Cookie数据,发送到服务端,由服务器对解析该Cookie。 Cookie 技术并不是 JavaWeb 开发专属技术,而是属于 Web 开发的技术,是所有 Web 开发语言均支持的技术。Cookie 是由若干键值对构成,这里的键一般称为 name,值称为 value。 Cookie 中的键值对均为字符串。 总的来说cookie的作用就是在客户端存储一些数据

jsp+servlet分页查询

孤街醉人 提交于 2020-12-22 23:52:55
分页查询 减少服务器内存开销 提高用户体验 效果图 思绪图 分页显示Bean文件代码 package cn.ytmj.findlist.domain; import java.util.List; /** * @author rui * @create 2019-08-17 23:34 * 分页对象 * 使用泛型为多种页面提供服务 */ public class PageBean<T> { private int totalCount; //总记录数 private int totalPage; // 总页数 private List<T> list; //每页的数据list集合 private int currentPage; //当前页码 private int rows; //每页显示的条数 public PageBean(){} public int getTotalCount() { return totalCount; } public void setTotalCount(int totalCount) { this.totalCount = totalCount; } public int getTotalPage() { return totalPage; } public void setTotalPage(int totalPage) { this

基于jsp+servlet的博客系统

余生长醉 提交于 2020-12-22 23:52:22
该系统基于jsp、servlet技术,前端使用html、js等技术,基于MVC模式,数据库使用Mysql。包含源码,数据库,演示视频,功能讲解(典型的两三个功能讲解)。 数据库表一共4张,功能分为前后台可进行二次开发。 项目结构 博客前台 博客后台 以上是部分截图,源码下载请: 点击 。 来源: oschina 链接: https://my.oschina.net/u/3934417/blog/3105860

Java编程在线学习靠谱吗?能学会吗?

落爺英雄遲暮 提交于 2020-12-22 22:24:33
  Java编程在线学习靠谱吗?能学会吗?在线学习Java的方式靠不靠谱主要看机构的课程,和个人的努力情况。费用、时间上有压力建议选择在线学习,但在线学习对自控能力要求更高,坚持看完整期课程需要自律。如果找到一家靠谱的在线学习平台课程内容有保障,那么学习的方向不会出错。   重点是看Java在线培训机构的课程大纲,那么Java编程在线学习内容有哪些呢?   1、Java核心库   JavaSE的内容包括:环境搭建、基础语法、面向对象、数组、集合、常用类、IO流、反射机制、网络编程。   2、MySQL数据库   搞定一门数据库相关的课程,如:MySQL、Oracle,搞定一个就可以了,目前互联网公司都在使用MySQL,学习MySQL数据库,小巧轻盈,免费,由于互联网公司的项目访问量比较大,所以一般会搭建数据库的集群,可以一个数据库不够,所以需要搭建数据库集群,应付高并发。   3、WEB前端   从事Java开发JavaEE开发,主要开发的系统结构是B/S结构的,B指的是Browser,S指的是Server。要开发这种系统,B端要会,S端也要精通。WEB前端的学习就是学习B端技术。包括:HTML、CSS、JavaScript(JS)、jQuery框架。   4、WEB后端   WEB后端其实可以是很多种不同的编程语言,例如:PHP、C、C++、Java

request、session、ServletContext三大域对象总结

…衆ロ難τιáo~ 提交于 2020-12-22 22:22:16
1、相关API: a、设置数据:void setAttribute(String name, Object o) ; b、获取数据:Object getAttribute(String name); c、删除数据:void removeAttribute(String name); 2、生命周期:a、ServletContext域对象:服务器正常启动,项目加载时创建;服务器关闭或项目卸载时销毁;整个web项目共享数据; b、HttpSession域对象:用户第一次调用request.getSession()方法时创建;销毁:服务器非正常关闭,未活动状态30分钟,自杀;一次会话中多次请求间共享数据;c、HttpServletRequest域对象:用户发送请求时创建;服务器做出相后销毁;一次请求中多次转发间共享数据; 总结:1、能用小的不用大的:request<session<servletContext; 2、使用场景:request:一次查询的结果(servlet转发jsp);session:存放当前会话的私有数据,比如用户登录状态、验证码、购物车; servletContext:若需要所有的servlet都能访问到,才使用这个域对象; 来源: oschina 链接: https://my.oschina.net/u/4571343/blog/4821446

jsp+servlet搭建在线投票问卷系统

只愿长相守 提交于 2020-12-22 20:50:50
点赞再看,养成习惯 程序帮QQ:1022287044 开发环境准备: jdk1.8 tomcat8 mysql5.7 intellij IDEA 系统采用技术: jsp+ servlet mvc三层架构模式 jdbc jQuery+ajax ECharts 4.3.0 项目介绍 用户端 <br> 用户端可以查看问卷列表并参与问卷调查 查看个人参与的调查报告以及整个问卷情况 管理端 <br> 问卷的新增和维护 用户信息维护 项目设计 运行效果 登录 添加问卷 问卷投票列表 投票详情 数据库表 代码结构截图 关键代码: 添加问卷: public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { String questionTitle = request.getParameter("questionTitle"); //问卷标题 String qId = request.getParameter("qId"); //问卷id Integer ops =Integer.valueOf(request.getParameter("ops"));//具体几组 String doType=request.getParameter("doType"); //操作类型

关于三只蛤蟆的语言使用

谁都会走 提交于 2020-12-22 19:41:26
各种动态语言,如ASP、PHP、CGI、JSP等,都是脚本语言。按目前的服务规则,虚拟主机网站只能采用脚本语言来实现 动画术语名词解释 脚本:写剧本的人,也叫故事构成。 一个脚本可以使得本来要用键盘进行的相互式操作自动化。一个Shell脚本主要由原本需要在命令行输入的命令组成,或在一个文本编辑器中,用户可以使用脚本来把一些常用的操作组合成一组序列。 主要用来书写这种脚本的语言叫做脚本语言。很多脚本语言实际上已经超过简单的用户命令序列的指令,还可以编写更复杂的程序。脚本(script)是bai使用一种特定du的描述性语zhi言,依据一定的格dao式编写的可执版行文件,又称作宏或批处理权文件。 来源: oschina 链接: https://my.oschina.net/u/4883857/blog/4829647

手写个Tomcat雏型

徘徊边缘 提交于 2020-12-20 03:02:16
前言 目的: 网络编程在编程领域随处可见,本文尝试手写一个简单的 HttpServer ,了解网络请求后台的大致思路及为学习Tomcat打好基础。 准备知识: OOP:面向对象编程思想 collection:Java常用容器 IO:网络IO操作 Thread:多线程 Socket:网络编程 XML:配置文件解析 reflect:框架基石反射 HTML:HTML基本语法 HTTP:网络传输协议 思路 先说下大致流程: 服务端开启一个服务,进入一个死循环来给前端提供服务。 客户端发送一个HTTP请求。 服务器端收到请求后,加载一次XML文件解析,主要目的是获得客户的请求网址对应的那个Servlet(服务器端小程序)。 找到对应的Servlet后通过反射映射出实例,然后业务处理。 最终Socket通信返回结果。 流程图: 代码结构 代码实现 1. XML解析 XML文件解析的方式有多种,本文以 SAXException 来解析。 xml文件信息 <?xml version="1.0" encoding="UTF-8"?> < web-app > < servlet > < servlet-name > login </ servlet-name > < servlet-class > com.sowhat.user.LoginServlet </ servlet-class > </