![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 65
梦想的征途
这个作者很懒,什么都没留下…
展开
-
mybatis-plus实现代码层面的读写分离
一、添加mybatis-plus相关依赖<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.3.0</version></dependency><dependency> <groupId>原创 2020-12-03 11:27:56 · 1477 阅读 · 6 评论 -
解决JPA级联查询出现的死循环问题
一、问题当实体使用一对一/一对多/多对多双向关联时,出现如下两种情况时,会出现死循环:1.实体类的toString()方法中包含对级联对象的输出,代码中调用了实体类的toString()方法。2.接口查询时,对实体对象进行序列化。二、原因以一对多举例,用户类(User)为一,爱好类(Hobby)为多,User和Hobby为双向关联,当使用JPA查询User,会自动查询Hobby...原创 2019-11-04 16:45:53 · 3097 阅读 · 2 评论 -
spring security:ajax请求的session超时处理
1.在spring-security.xml配置session超时时触发的方法(配置在标签内)2.超时处理方法代码@RequestMapping(value = "/timeout") public void sessionTimeout(HttpServletRequest request,HttpServletResponse response) throws原创 2016-10-11 19:36:53 · 4133 阅读 · 0 评论 -
获取spring的ApplicationContext几种方式
Java类获取spring容器的bean常用的5种获取spring 中bean的方式总结:方法一:在初始化时保存ApplicationContext对象代码:ApplicationContext ac = newFileSystemXmlApplicationContext("applicationContext.xml");ac.getBean("beanId")转载 2016-10-13 10:13:15 · 374 阅读 · 0 评论 -
Java安全验证之jwt(json web token)实践
系统开发来讲,安全验证永远是最重要的,从最原始的session、cookie验证方式,到符合restful风格、满足前后端分离需求、启用https请求,各方面都在不断变化中。本文以jwt(json web token)的实践为例,介绍一二。首先,来看一下jwt的概念,流程图如下所示:用户发起登录请求,服务端创建一个加密后的jwt信息,作为token返回值,在后续请求中jwt转载 2016-12-12 18:51:41 · 34717 阅读 · 2 评论 -
Spring MVC全局异常后返回JSON异常数据
问题: 当前项目是作为手机APP后台支持,使用spring mvc + mybaits + shiro进行开发。后台服务与手机端交互是发送JSON数据。如果后台发生异常,会直接返回异常页面,显示异常内容,如果是404请求不到资源或者500这类服务器的问题,可能会导致返回404和500异常页面,手机端的处理就非常麻烦,为了解决这个问题,就需要做全局的异常处理。解决方转载 2017-01-09 19:45:33 · 998 阅读 · 0 评论 -
简单跨域请求和带预检的跨域请求
受浏览器的同源策略限制,JavaSript只能请求本域内的资源。跨域资源共享(Cross-Origin Resource Sharing, CORS)是为解决Ajax技术难实现跨域问题而提出的一个规范,这个规范试着从根本上解决安全的跨域资源共享问题。在此之前,解决此类问题的途径往往是服务器代理、JSONP等,治标不治本。目前基本所有浏览器都已经支持该规范。一个域是由schema、host、转载 2017-01-10 17:51:59 · 9880 阅读 · 0 评论 -
Tomcat启用HTTPS协议配置过程
概念简介Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。HTTP 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。HTTPS(全称:Hyper转载 2017-02-10 16:00:18 · 378 阅读 · 0 评论 -
Spring property文件配置方法以及如何与工程分离
1,Spring使用property文件作为配置源 工程中难免出现一些需要每次部署都需要配置的参数,如数据源连接参数等,测试环境跟实际运行环境是不一样的。 使用spring框架的话,这些参数可能独立分布在不同的springContex配置文件里面。 可以考虑将这些参数独立到一个配置文件并可以让spring方便加载注入。可选的一个方案是使用java的propert转载 2017-02-22 19:34:07 · 847 阅读 · 0 评论 -
spring security基于方法的权限控制
1.1 intercept-methods定义方法权限控制 intercept-methods是需要定义在bean元素下的,通过它可以定义对当前的bean的某些方法进行权限控制,具体方法是使用其下的子元素protect进行定义的。protect元素需要指定两个属性,access和method,method表示需要拦截的方法名称,可以使用通配符,access表示执行对应的方法转载 2017-02-14 17:48:58 · 3541 阅读 · 0 评论 -
ExecutorService 的理解与使用
接口 Java.util.concurrent.ExecutorService 表述了异步执行的机制,并且可以让任务在后台执行。壹個 ExecutorService 实例因此特别像壹個线程池。事实上,在 java.util.concurrent 包中的 ExecutorService 的实现就是壹個线程池的实现。ExecutorService 样例这里有壹個简单的使用Java 实现的转载 2017-03-14 19:00:49 · 282 阅读 · 0 评论 -
Spring 中处理XSS
有2种方式一:在BaseController中定义方法[java] view plain copy/** * 初始化数据绑定 * 1. 将所有传递进来的String进行HTML编码,防止XSS攻击 * */ @InitBinder protected void initBinder(WebDataBi转载 2017-06-06 17:03:50 · 1590 阅读 · 0 评论 -
使用AntiSamy防范XSS跨站脚本攻击
0x00 什么是XSS?XSS(Cross Site Scripting),即跨站脚本攻击,是一种常见于web application中的计算机安全漏洞。XSS通过在用户端注入恶意的可运行脚本,若服务器端对用户输入不进行处理,直接将用户输入输出到浏览器,则浏览器将会执行用户注入的脚本。 0x01 XSS的分类根据XSS造成的影响,可以将XSS分为非持久型和持久型。转载 2017-06-06 17:04:50 · 695 阅读 · 0 评论 -
使用 Log4j、ActiveMQ 和 Spring 实现异步日志
我的团队和我正在创建一个由一组RESTful JSON服务组成的服务平台,该平台中的每个服务在平台中的作用就是分别提供一些独特的功能和/或数据。由于平台中产生的日志四散各处,所以我们想,要是能将这些日志集中化处理一下,并提供一个能够让我们查看、过滤、排序和搜索我们所有的日志的基本型的日志查看工具就好了。我们还想让我们的日志是异步式的,因为我们可不想在写日志的时候(比方说,可能会将日志直接写入数据库转载 2016-05-18 19:05:33 · 1971 阅读 · 0 评论 -
comet4j-java服务器推送实例
使用comet需要用到comet4j-tomcat7.jar(用于tomcat7)、comet4j.js。注:spring及springMVC的相关配置略,只配置comet所需要的配置信息。1.修改tomcat7的server.xml文件,nio2.新建服务端的类TestComet , 实现 ServletContextListener 接口public class T原创 2015-12-24 16:00:39 · 3131 阅读 · 1 评论 -
浅谈JAVA ThreadPoolExecutor
基础在我看来,java比C++的一个大好处就是提供了对多线程的支持(C++只有多线程的库,语言本身不包含线程的概念)。而其中我最爱用的就是ThreadPoolExecutor这个类,它实现了一个非常棒的threadpool。threadpool一般被用来解决两个问题:当处理大量的同步task的时候,它能够避免thread不断创建销毁的开销;而另外一个也许更重要的含义是,它其实表示了一个bo转载 2014-07-10 17:23:44 · 426 阅读 · 0 评论 -
struts基本知识
1.strut2的类型转换对于8个原生数据类型以及Date,String等常见类型,Struts2可以使用内建的类型转换器实现自动的转换,但对于自定义的对象类型来说,就需要我们指定类型转换的方式了。2自定义类型转换器对于自定义的类型转换器来说需要提供3个信息:Action的名字、Action中待转换的属性名以及该属性对应的类型转换器。3.局部转换器可以使用struts2原创 2014-07-10 17:22:59 · 342 阅读 · 0 评论 -
如何解决get请求URL地址的中文参数问题
首先我们要明白为什么在get请求URL地址出现中文参数会乱码,这是因为页面发出请求的编码和tomcat获取数据的编码不一致造成的。在解决这个问题之前,我们得先了解一些知识:1.request.setCharacterEncoding("utf-8")方法只对post请求有效。2.get、post请求的url编码由标签,设定,标签表示页面实现的编码。3.了解js的encodeURI(原创 2014-07-10 17:20:37 · 3059 阅读 · 0 评论 -
https原理及tomcat配置https方法
一、 什么是HTTPS在说HTTPS之前先说说什么是HTTP,HTTP就是我们平时浏览网页时候使用的一种协议。HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全。为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(SecureSocketsLayer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。SSL目前的版本是3.0,转载 2014-07-10 17:26:35 · 327 阅读 · 0 评论 -
javamail
public class MailHandle { publicstatic void sendMail(String host, final String userName, finalString password) { Properties pro = new Properties(); pro.setProperty("ma原创 2014-07-10 17:18:03 · 405 阅读 · 0 评论 -
Mybatis3 缓存
首先我列出Mybatis的配置文件:settings> setting name="cacheEnabled" value="true"/> setting name="lazyLoadingEnabled" value="true"/> setting name="aggressiveLazyLoading" value="true转载 2015-01-30 16:31:23 · 408 阅读 · 0 评论 -
JAVA 计算地球上任意两点(经纬度)距离
/** * 计算地球上任意两点(经纬度)距离 * @param long1 第一点经度 * @param lat1 第一点纬度 * @param long2 第二点经度 * @param lat2 第二点纬度 * @return double */ public static doubl转载 2015-04-07 08:55:26 · 820 阅读 · 0 评论 -
ajaxfileupload+springMVC上传文件
1.在springMVC.xml(springMVC的配置文件)中配置 class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> 2.页面部分代码:需要导入:$.ajaxFileUpload原创 2015-04-13 21:47:08 · 389 阅读 · 0 评论 -
java通过百度地图把实际地址转换为经纬度
package com.mvc.action;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.URL;import java.net.URLEncoder;import java.util.HashMap;转载 2015-05-25 09:16:07 · 1255 阅读 · 1 评论 -
解决spring quartz定时任务执行2次的问题
原因:tomcat下部署项目,去掉项目名,通过ip+端口号访问项目。如:解决办法:将里面的改成 autoDeploy="false" deployOnStartup="false" 这样就可以避免tomcat服务器中自启动导致quartz定时任务被触发两次。(当然还可以按需求修改,毕竟每个项目的需求都不尽相同)如:<Host appBase="webapps" autoDeploy="fa原创 2015-08-12 11:13:41 · 2226 阅读 · 0 评论 -
spring+ehcache 缓存
1.在web.xml中添加 contextConfigLocation classpath:resources/application.xml 2.在application.xml中添加 xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://w原创 2015-11-06 16:15:23 · 367 阅读 · 0 评论 -
Spring mvc 中使用 kaptcha 验证码
生成验证码的方式有很多,个人认为较为灵活方便的是Kaptcha ,他是基于SimpleCaptcha的开源项目。使用Kaptcha 生成验证码十分简单并且参数可以进行自定义。只需添加jar包配置下就可以使用。kaptcha所有配置都可以通过web.xml来完成,如果项目使用了Spring MVC,那么实现方式会略有不同。一、Servlet项目1、添加jar包依赖 maven项目转载 2014-07-16 09:56:35 · 531 阅读 · 0 评论