java语言
GuanHao
这个作者很懒,什么都没留下…
展开
-
JAVA 之 remote debug
在tomcat下remote debug在 catalina.sh 中添加 CATALINA_OPTS=”-Xdebug -Xrunjdwp:transport=dt_socket,address=5006,suspend=n,server=y”关闭防火墙,或允许端口 {address} 通过防火墙 在项目中启动 Remote Java Application 设置 Host ...原创 2018-08-17 19:40:01 · 541 阅读 · 0 评论 -
CAS5 之带着ST回Client后报404
遇到过两次这种情况,在此记录一下情况一 由于Client不认SSL证书导致PKIX错误,导致验证票据失败 404这种情况可以通过看Client项目的日志,查找报错原因,如果是PKIX SSL握手错误的话,就要手动导入SSL证书,最终保证 Client 与Server 之间能够使用HTTPS 协议通信即可。可以通过 curl 测试https 是否可用。情况二 由于Client项目的tom...原创 2018-08-17 19:04:17 · 1333 阅读 · 0 评论 -
CAS5 之 超时设置
TGT ST超时详见TGT Expiration Policy https://apereo.github.io/cas/5.2.x/installation/Configuration-Properties.html#tgt-expiration-policyTicket expiration policies are activated in the following order:...原创 2018-08-18 11:39:37 · 7354 阅读 · 1 评论 -
Linux下运行java报错Error: Could not find or load main class
遇到过两种情况情况1 去掉包名 或者在启动时加上包名 情况2 运行javac HelloWord.java时注意与类名一致 情况3 运行java HelloWord.class 去掉 .class原创 2018-08-02 09:51:42 · 13265 阅读 · 0 评论 -
CAS5 报错javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No name matchin
在Tomcat的Server.xml端口配置的密钥库没有你访问的域名设置进去 <Connector port="8443" protocol="HTTP/1.1" minSpareThreads="5" maxSpareThreads="75" enableLookups="true...原创 2018-08-01 17:03:23 · 1877 阅读 · 0 评论 -
CAS5 client单点登出
CAS5 Client单点登出即一处注销处处注销像单点登录一样,单点登出也是一处操作处处生效。 单点登录是靠拦截一个登录路径判断有无ticket,进而选择是获取登录信息在CAS Client取更多的用户信息装载入session后直接登录还是去CAS server认证后登录; 单点登出是在一个Client 通过cas logout发起登出后,CAS Server进行回调各个Client的接口...原创 2018-07-05 18:03:13 · 1425 阅读 · 2 评论 -
SpringDataJPA
注解的方式更新删除等事务操作需要加上Transactional 方式一@Transactional@Modifying(clearAutomatically = true)@Query(value = "UPDATE User u SET u.status =?1 WHERE u.id = ?2")Integer updateStatusById(String status, Lo...原创 2018-06-28 18:10:33 · 683 阅读 · 0 评论 -
SpringMVC之Controller
传递参数方式一@GetMapping(value = "/get/{id}")public Result getUser(@PathVariable Long id) { return "hello";}方式二post或get均可@PostMapping(value = "/add")public Result addUser(@RequestParam("u...原创 2018-06-28 17:27:31 · 164 阅读 · 0 评论 -
HTTP 之 浏览器模拟POST
推荐使用Firefox浏览器,可以直接修改请求方式,如下 在修改GET请求为POST时,需要在请求头加上: Content-Type: application/x-www-form-urlencoded; charset=UTF-8这样请求主体就可以像GET一样形式了paramNameA=paramValueA&paramNameB=paramValueB&am...原创 2018-09-03 16:17:07 · 1947 阅读 · 0 评论 -
关于N-U-L-L
为什么有NULL1)null是Java中一个很重要的概念。null设计初衷是为了表示一些缺失的东西,例如缺失的用户、资源或其他东西。2)就像每种原始类型都有默认值一样,如int默认值为0,boolean的默认值为false,null是任何引用类型的默认值,不严格的说是所有object类型的默认值。3)我们要澄清一些误解,null既不是对象也不是一种类型,它仅是一种特殊的值,你可以将其赋予任何...原创 2018-11-07 11:27:52 · 360 阅读 · 0 评论 -
排序算法
算法分类十种常见排序算法可以分为两大类:比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。算法复杂度相关概念稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面。不稳定:如...转载 2019-08-08 16:01:18 · 129 阅读 · 0 评论 -
解决JDBC Driver unregister问题
在项目中使用JDBC,出现数据库连接未注销错误。这是一个DBCP bug : https://issues.apache.org/jira/browse/DBCP-332org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc ...原创 2019-07-18 17:26:54 · 912 阅读 · 0 评论 -
CAS5.2 CAS Client集群环境单点退出异常
首先,这是一个已知的bug。cas-client通过org.jasig.cas.client.session.SingleSignOutFilter来实现单点退出。看看这个主要的类,这里只摘出我们关注的部分。public final class SingleSignOutHandler { /** Mapping of token IDs and session IDs to HTT...原创 2019-07-05 14:33:47 · 820 阅读 · 0 评论 -
MacOS-Eclipse配置SVN
直接通过Eclipse的自带管理功能安装SVN插件即可Help → install new software → 输入地址 Indigo - http://download.eclipse.org/releases/indigo选择 collaboration 选项里的 Subversive 等相关选项,全勾即可(或者直接勾选 collaboration)安装完成后,重启Eclipse,...原创 2019-03-14 11:56:39 · 443 阅读 · 0 评论 -
设计模式之设计模式原则
设计模式原则SRP 单一职责原则(Single Responsibility Principle)LSP 里氏替换原则(Liskov Substitution Principle)DIP 依赖倒置原则(Dependence Inversion Principle)ISP 接口隔离原则(Interface Segregation Principle)LoD 迪米特原则(Law of Demeter)...转载 2019-01-09 17:45:45 · 228 阅读 · 0 评论 -
CAS5.2 之 Session 共享后,带着ST回Client后报404,删除ST恢复正常
现象在上一篇Session共享的文章中可以看到我们最终选取了<Context sessionCookiePath="/" sessionCookieName="SESSIONID" >来实现Session共享,之后便出现了一下现象:登录时会报404,后台报“不符合目标服务”,删除URL后携带的ticket后可以成功进入判断问题在哪加上Session共享出现问题,移除Sess...原创 2018-11-30 18:14:23 · 1121 阅读 · 0 评论 -
Session 共享
目的:多个应用之间 Session 共享方法一 ServletContext 这是网上最容易搜到的方法,其实是完全错误的https://blog.csdn.net/u014756827/article/details/52597549#初看这个方法,好像是完成我们的目标,可是在实际应用时发现一个问题,就是当 user1 在登录前不可以进入 web1 应用,在 user1 登录后才可以进入we...转载 2018-11-29 16:09:10 · 152 阅读 · 0 评论 -
CAS client单点登录失败
问题:接入多个CAS client只能各自认证,不能单点登录按照之间的流程部署了CAS server,接入了两个CAS client,但是发现只能各自认证自己,同时生成自己的TGC,无法做到相互单点登录。原因:CAS client中配置CAS server的服务地址不相同APP1配置的是CAS server的域名,APP2配置的是CAS server的IP地址。由此导致APP1...原创 2018-07-03 21:01:03 · 4739 阅读 · 0 评论 -
主从表与复合主键
主表的主键是从表的一个复合主键主表@Entity@Table(name = "user")public class User { @Id @Column(name = "ID", unique = true, nullable = false, precision = 22, scale = 0) private Long id; @Column(na...原创 2018-06-26 21:01:53 · 342 阅读 · 0 评论 -
RMI报错error unmarshalling return;java.io.WriteAbortedException:writing abort
error unmarshalling return; nested exception is: java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: java.util.ArrayList$SubList 产生这种报错的原因是RMI只能传输 Serializable 的实现,即可原创 2018-02-28 16:27:06 · 1320 阅读 · 0 评论 -
Maven配置main入口
直入正题: POM文件中配置方法一:<build> <finalName>entrance</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>m原创 2018-01-18 09:56:00 · 10522 阅读 · 1 评论 -
org/apache/poi/POIXMLTypeLoader
独立jar包报错:java.lang.ClassNotFoundException: org.apache.poi.POIXMLTypeLoader;因为在IDE外运行缺少依赖包; 但是依赖包里已经有了poi包,还是报错! 解决 1、poi版本过低:使用 poi 3.14 beta1 以上 2、ooxml版本过低:ooxml-schemas 1.2以上 3、复制 POIXMLTypeLoa原创 2018-01-25 11:55:35 · 37905 阅读 · 8 评论 -
RMI在tomcat和karaf中传输文件解决方案
通过RMI传输文件,要将文件转换为byte数组进行传输。 在tomcat和karaf之间传输会产生很多问题,OOM,带宽限制; 解决方案:思路1:在tomcat与karaf之间建立共享存储,由RMI传输文件路径,tomcat操作文件,karaf处理路径即可。思路2:三次握手传输文件,类似TCP/IP协议; 开始传输文件信息然后分片发送,可以返回进度接受完毕,验证文件信息原创 2017-12-29 13:43:08 · 334 阅读 · 0 评论 -
MultipartResolver 或者 ServletFileUpload 冲突导致获取不到http数据/Multipart数据为空
转载自http://blog.csdn.net/cctt_1/article/details/8962322 如果不知道MultipartResolver 或者ServletFileUpload 的,请点击这里如果同时使用了MultipartResolver 和ServletFileUpload,就会在iter.hasNext()返回false.然后整转载 2017-12-28 11:17:37 · 1094 阅读 · 2 评论 -
JAVA Server上传文件 Spring MultipartResolver 或者 ServletFileUpload
转载自http://blog.csdn.net/cctt_1/article/details/8800964 如果想上传文件,那么有两种方法可以解决。一种使用Spring框架中的东西。另外一种是使用原生的代码。使用Spring框架非常简单。将如下xml放入到servlet.xml中。[html] view plain copy print?<bean转载 2017-12-28 11:16:12 · 316 阅读 · 0 评论 -
Struts2里使用commons.fileupload上传文件取不到item解决方案
struts2上传文件ServletFileUpload取tem=0 truts上传为空的原因是struts2拦截器对混合表单进行拦截,将混合表单的request转换为了普通表单的请求。 解决办法: 重写struts2拦截器对request的parser操作,具体实现如下 在struts2.xml添加如下代码:原创 2017-12-13 16:02:55 · 568 阅读 · 0 评论 -
nginx配置文件服务器
在一个域名下分别建立了tomcat代理、指定文件下载、指定目录树,三种不同的用法;以下是nginx.conf文件中的部分配置: server { listen 80; server_name localhost; location / { proxy_pass http://127.0.0.1:8080;原创 2018-04-25 20:13:05 · 661 阅读 · 0 评论 -
CAS配置客户端
所需依赖&amp;amp;amp;amp;lt;!-- https://mvnrepository.com/artifact/org.jasig.cas.client/cas-client-core --&amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;dependency&amp;amp;amp;amp;gt; &amp;amp;amp;amp;lt;groupId&am原创 2018-06-11 13:45:26 · 4093 阅读 · 0 评论 -
Hibernate属性
spring.jpa.hibernate.ddl-auto=?一共有4个值可供选择,分别是: “create-drop”: hibernate初始化的时候创建表,程序运行结束后把表删了 “create”(就是你设置的那个):hibernate每次初始化时重新创建表,和上一个选项的区别就是,运行结束时不删除表,而是在下一次启动程序进行初始化的时候再删除表并重新创建。 “update”:h...原创 2018-06-26 20:57:43 · 210 阅读 · 0 评论 -
CAS5.2 修改登录页面
cas默认的页面肯定不能满足需求,需要进行修改;在CAS5以前使用jsp,之后便使用html了,想要修改登录页面html为jsp的话,下面是个参考:覆盖webflow 修改webflow文件中的view属性为自己的页面名称 <view-state id="viewLoginForm" view="casLoginMyView" model="credential">...原创 2018-06-19 16:39:40 · 3674 阅读 · 4 评论 -
注解笔记
在controller上加注解@Controller 和@RestController都可以在前端调通接口,但是二者的区别在于,当用前者的时候在方法上必须添加注解@ResponseBody,如果不添加@ResponseBody,就会报上面错误,因为当使用@Controller 注解时,spring默认方法返回的是view对象(页面)。而加上@ResponseBody,则方法返回的就是具体对象了。@...原创 2018-06-19 16:24:17 · 185 阅读 · 0 评论 -
CAS原理图
cas原理流程图原创 2018-06-11 10:39:28 · 2060 阅读 · 0 评论 -
CAS5 依赖Spring data jpa 后日志冲突
报错说明 log4j-slf4j-impl-2.9.1.jar 和 slf4j-log4j12-1.7.2.jar 冲突了SLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding in [jar:file:/E:/workspace/.metadata/.plugins/org.eclipse.wst....原创 2018-06-25 15:19:12 · 716 阅读 · 0 评论 -
HTTPS之PKIX SunCertPathBuilderException: unable to find valid certification path to requested target
在配置测试环境的时候报告unable to find valid certification path to requested target错误。Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPat...原创 2018-06-29 16:51:23 · 19551 阅读 · 1 评论 -
CAS使用 配置Redis
首先配置依赖<!-- cas 的redis依赖 --><dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-support-redis-ticket-registry</artifactId> <versi...原创 2018-06-09 17:51:47 · 4870 阅读 · 0 评论 -
CAS设置主题
涉及的目录和文件 目录 说明 services 需要配置自定义登录的网站模版 static 静态文件目录,用于存放js,css代码的 templates 模板代码casLoginView.html 这个名称不可改 $themename.properties 用于存放网站的模版配置信息截图 service目录配置...原创 2018-06-12 15:20:42 · 1040 阅读 · 0 评论 -
Tomcat debug
错误信息 SEVERE: One or more Filters failed to start. Full details will be found in the appropriate container log file日志位置apache-tomcat/logs/localhost.2019-xx-xx.log原创 2019-09-02 17:38:00 · 348 阅读 · 0 评论