Java EE

JPA操作PgSQL的JSON类型(org.postgresql.util.PSQLException: ERROR: column xxx is of type json问题)

蹲街弑〆低调 提交于 2020-08-15 07:30:57
遇到org.postgresql.util.PSQLException: ERROR: column xxx is of type json问题 可以再jdbc连接后面增加stringtype=unspecified来把JSON类型当STRING类型存储 jdbc:postgresql://localhost:5432/dbname?stringtype=unspecified 来源: oschina 链接: https://my.oschina.net/u/3005325/blog/4314586

JSP+SSM+Mysql实现的学生成绩管理系统

别来无恙 提交于 2020-08-15 07:26:59
项目简介 项目来源于: https://gitee.com/z77z/StuSystem 本系统是基于 JSP+SSM+Mysql 实现的学生成绩管理系统。主要实现的功能有教师管理、学生管理、课程管理、学生成绩管理。 难度等级:中等 技术栈 编辑器 Eclipse Version: 2020-03 (4.15.0) 前端技术 基础:html+css+JavaScript 框架: JQuery + H-ui 后端技术 Spring+SpringMVC+mybatis 模板引擎:JSP 数据库:mysql 5.7.27(个人测试使用) jdk版本:1.8.0_251(个人测试使用) tomcat版本:8.5.34(个人测试使用) 数据库连接池:druid 本地运行 Eclipse环境准备 1. eclipse新增jdk 2. eclipse新增tomcat 导入项目 若有疑惑可查看 视频版本 。 1.下载zip直接解压或安装git后执行克隆命令。 git clone https://gitee.com/z77z/StuSystem.git 2.使用eclipse导入项目,配置jdk、tomcat和所需jar包。 项目所依赖jar包在 WebContent/WEB-INF/lib 文件夹下。 3.打开Navicat For Mysql,创建stusystem 数据库,并运行

Java 必看的 Spring 知识汇总!

瘦欲@ 提交于 2020-08-15 07:13:48
Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性的角度而言,绝大部分Java应用都可以从Spring中受益。 Spring优点: 低侵入式设计,代码的污染极低; 独立于各种应用服务器,基于Spring框架的应用,可以真正实现Write Once,Run Anywhere的承诺; Spring的IoC容器降低了业务对象替换的复杂性,提高了组件之间的解耦 Spring的AOP支持允许将一些通用任务如安全、事务、日志等进行集中式管理,从而提供了更好的复用; Spring的ORM和DAO提供了与第三方持久层框架的良好整合,并简化了底层的数据库访问; pring的高度开放性,并不强制应用完全依赖于Spring,开发者可自由选用Spring框架的部分或全部。 Spring框架的组成结构图: Spring的核心机制 管理 Bean 程序主要是通过Spring容器来访问容器中的Bean,ApplicationContext是Spring容器最常用的接口,该接口有如下两个实现类: ClassPathXmlApplicationContext: 从类加载路径下搜索配置文件,并根据配置文件来创建Spring容器;

Mybatis 和 JPA 选用哪个好

99封情书 提交于 2020-08-15 06:36:24
一、事件起因 关于 Mybatis 和 JPA 孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。 我也看过知乎上一些问答,各有各的理由,感觉都挺有道理。如果让我不带感情色彩地去分辨,其实我也是懵的,因为真的是公说公有理婆说婆有理。 而在国内,不得不承认,用 Mybatis 的公司确实是要比用 JPA 的多,但是在 2015 年以前,用 Hibernate 的公司确实也是很多的。 为什么在国内,会有这样的现象发生? 二、目前生态 在最近(2018)的 JVM 生态报告中 可以看出,Mybatis 的占比只有可怜的 6%,大家看到这个统计结果应该会很吃惊,你会觉得,不对啊,我公司以及我很多朋友都在用 Mybatis 啊,好像没听说过有人用 JPA 的,这个统计结果是错的吧? 再从下面这个对比来看,MyBatis 的关注主要集中在中日韩。 首先,必须指出,对于青年程序员,其实都会质疑这个图的可信度。 中老年程序员都在感叹国外其实更注重开发效率和面向对象的分析和设计。但我可以非常负责任地告诉你,这图是真的。那么,造成这种现象的原因是? 三、国人喜欢 Mybatis 的原因 总结起来,有如下原因: 1.大厂带节奏 国内做互联网的 Java 程序很多都是拷贝阿里的,阿里一开始用例 iBatis,大量的老系统都是基于 iBatis/MyBatis 的

从连接器组件看Tomcat的线程模型——连接器简介

大憨熊 提交于 2020-08-15 05:52:56
Connector组件介绍 Connector(连接器)组件是Tomcat最核心的两个组件之一,主要的职责是负责接收客户端连接和客户端请求的处理加工。每个Connector都将指定一个端口进行监听,分别负责对请求报文解析和对响应报文组装。 Connector组件是整个Tomcat的入口,假如我们想要学习Tomcat的源码的话,建议从Connector组件开始看起。 还有一个比喻就是Tomcat是一座城堡,而Connector组件就是这座城堡的一个个城门。 上图是Connector组件的一个典型实现,其包含Protocol组件、Mapper组件和CoyoteAdaptor组件。 Protocol组件是协议的抽象,它将不同通信协议的处理进行了封装,比如 HTTP协议和AJP协议(目前Tomcat只支持这两种协议) 。Endpoint是接收端的抽象,由于使用了不同的I/O模式,因此存在多种类型的Endpoint,如BIO模式的JIoEndpoint、NIO模式的NioEndpoint和本地库I/O模式的AprEndpoint。Acceptor是专门用于接收客户端连接的接收器组件, Executor则是处理客户端请求的线程池, Connector可能是使用了Service组件的共享线程池,也可能是Connector自己私有的线程池 。Processor组件是处理客户端请求的处理器

Ngrok-教你免费把本地项目部署到外网

丶灬走出姿态 提交于 2020-08-15 04:21:00
文章目录 Ngrok 注册/登录 “购买”服务 下载工具 部署 测试 监控 关闭 Ngrok Ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放。 简单说就是ngrok实现了内网穿透,不用把网站部署到服务器上,可以直接部署在本地,然后公网也可以访问。 ngrok需要保证本地正常运行和隧道(终端)连接,所以适合短期的项目展示,体验调试等,比如向他人(甲方、老师同学)展示本地项目,答辩等,就十分方便了。 主要是白嫖 注册/登录 地址: http://www.ngrok.cc/ 登录成功后进到控制台 “购买”服务 隧道管理->开通隧道->服务器 最下面有免费服务器,人多可能慢,标注的很清楚,毕竟是白嫖。 下载工具 买( 嫖 )完服务器后,点击下载客户端(只有几M) 选择对应操作系统版本 部署 解压缩后点击启动工具 在隧道管理处复制id (不要关) 测试 内网: 外网: 后面的路径不要忘,可以理解为http://localhost:8080用这一坨代替(映射),所以该有的路径和jsp名称等还是要有( 这里是index.jsp )。 监控 可以在终端看见外网的请求 也可以在http://127.0.0.1:4040查看 关闭 如果你本地tomcat服务停掉: 或者关闭终端连接

基于权限安全框架Shiro的登录验证功能实现

|▌冷眼眸甩不掉的悲伤 提交于 2020-08-15 04:08:21
目前在企业级项目里做权限安全方面喜欢使用Apache开源的Shiro框架或者Spring框架的子框架Spring Security。 Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码学和会话管理。 Shiro框架具有轻便,开源的优点,所以本博客介绍基于Shiro的登录验证实现。 在maven里加入shiro需要的jar <!--shiro start--> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-all</artifactId> <version>1.2.3</version> </dependency> <!-- shiro end--> 在web.xml加上Shiro过滤器配置: <!-- Shiro过滤器配置 start --> <filter> <filter-name>shiroFilter</filter-name> <filter-class> org.springframework.web.filter.DelegatingFilterProxy </filter-class> <init-param> <param-name>targetFilterLifecycle</param-name> <param-value>true<

Dubbo远程调用之公司内部提供的服务

ⅰ亾dé卋堺 提交于 2020-08-15 03:40:28
公司内部提供的服务 一家对外提供服务的公司,例如百度,腾讯,阿里,京东,58 同城等,公司内部有多个事业群,事业部门,每个事业部门内部又有若干个子部门,子部门里面有多个不同的小组负责各自的业务。提供对外的服务。 公司内部,外部提供的服务不仅多,而且细分,还有交叉的情况。前面的例子是访问互联网上的服务,使用的是 http 请求网络资源。相对来说访问服务方式单一,处理服务的效率相对较低。公司内部服务之间可以使用多种不同的方式访问服务。 使用单一应用访问天气服务 图一: 图二: A、新建 web 项目 01- 项目结构: B、 新建数据类 重写 toString() C、 定义 Service 接口 D、定义 Service 接口的实现类 E、 定义 Servlet,提供访问地址 F、 定义访问添加服务的 首先加入 jQuery 库文件,放到项目的 js 目录 index.jsp G、执行 web 应 使用独立应用提供天气服务 (1)独立的应用提供服务 在一台或多台物理机器上,运行的独立应用程序,供多个客户端访问天气服务。 A、把 01-weatherService 应用复制,名称 02-companyProviderWeather B、 去掉 js 文件夹,index.jsp 文件 C、 使用 Servlet 提供服务 (2)在独立的应用中访问天气服务 在一台独立的计算上,

Spring学习(1)——快速入门

橙三吉。 提交于 2020-08-15 03:10:21
认识 Spring 框架 Spring 框架是 Java 应用最广的框架,它的 成功来源于理念,而不是技术本身 ,它的理念包括 IoC (Inversion of Control,控制反转) 和 AOP(Aspect Oriented Programming,面向切面编程) 。 什么是 Spring: Spring 是一个 轻量级的 DI / IoC 和 AOP 容器的开源框架 ,来源于 Rod Johnson 在其著作 《Expert one on one J2EE design and development》 中阐述的部分理念和原型衍生而来。 Spring 提倡以 “最少侵入” 的方式来管理应用中的代码,这意味着我们可以随时安装或者卸载 Spring 适用范围:任何 Java 应用 Spring 的根本使命:简化 Java 开发 尽管 J2EE 能够赶上 Spring 的步伐, 但 Spring 并没有停止前进, Spring 继续在其他领域发展,而 J2EE 则刚刚开始涉及这些领域,或者还没有完全开始在这些领域的创新。 移动开发、社交 API 集成、NoSQL 数据库、云计算以及大数据 都是 Spring 正在涉足和创新的领域。Spring 的前景依然会很美好。 Spring 中常用术语: 框架: 是能 完成一定功能 的 半成品 。 框架能够帮助我们完成的是:

RabbitMq(一、安装、设置)

好久不见. 提交于 2020-08-15 02:40:51
1、AMQP与JMS   消息队列实现的主流方式有AMQP(应用层标准消息队列协议,标准为消息中间件设计。主要实现中间件有RabbitMQ)、JMS(Sun公司提供的消息统一操作,类似JDBC这种标准。主要实现中间件有ActiveMQ)。 2、安装与启动RabbitMQ   RabbitMQ是使用Erlang编程语言编写的。安装前必须要 先安装Erlang 。需要 注意 的是Erlang 版本与RabbitMQ 版本需要匹配( https://www.rabbitmq.com/which-erlang.html ),否则会出错。   举例:win系统安装完成后进入 rabbitmq_server\sbin目录,点击rabbitmq-server即可启动。 如图所示,可以通过任务管理器点击服务查看、管理。 在centos中的安装: 1、去官网( https://www.rabbitmq.com/ )下载好安装包后 上传至服务器。 2、安装Erlang    使用yum仓库安装。 1 yum install esl-erlang_17.3-1~centos~ 6_amd64.rpm 2 yum install esl-erlang-compat-R14B-1.el6.noarch.rpm   3、安装RabbitMQ     进入上传安装包的目录,然后输入命令 rpm -ivh