JavaWeb
域名无法解析
这个作者很懒,什么都没留下…
展开
-
生产环境Tomcat安全规范
Tomcat的安全生产环境tomcat规范1.更改服务监听端口若 Tomcat 都是放在内网的,则针对 Tomcat 服务的监听地址都是内网地址标准配置:2.telnet管理端口保护修改默认的 8005 管理端口不易猜测(大于1024),但要求端口配置在8000~8999之间修改SHUTDOWN命令为其他字符串标准配置:3.AJP连接端口的保护修改默认的ajp 8009端口为不易冲突(大于1024),但要求端口配置在8000~8999之间通过iptables规则限制ajp端口访问的权限转载 2021-11-21 09:57:45 · 272 阅读 · 0 评论 -
Mysql8.0版本驱动getTables返回所有库的表
前言本文主要介绍的是关于Mysql8.0驱动getTables返回所有库的表的相关内容,MySQL Connector/J 8.0版本驱动向下兼容之前的5.5+版本MySQL,如果你使用的是5.5+版本MySQL,都可以升级成8.0版本驱动。如果你是使用的5.X版本驱动,需要将Driver Class换成: com.mysql.cj.jdbc.Driver需要注意的是:8.0版本驱动DataSource相关的参数有变化:比如8.0版本驱动将参数 nullCatalogMeansCurrent 的默转载 2021-10-22 11:14:13 · 451 阅读 · 0 评论 -
Mybaits级联
一对多:collection标签,ofType:集合属性中的pojo类型,select:可指定另一个查询。多对一:association标签,select:可指定另一个查询。使用select会导致多次查询,产生N+1问题...原创 2020-02-10 23:52:58 · 116 阅读 · 0 评论 -
Spring中BeanFactory与ApplicationContext区别
二者都是从Spring容器中获取bean的,个人理解为懒加载和预加载的区别。BeanFactory为懒加载,在调用getBean时才实例化Bean,使用方式如下:XmlBeanFactory factory = new XmlBeanFactory(new ClassPathResource("spring.xml"));factory.getBean("bean");Applicat...原创 2020-02-10 23:21:12 · 166 阅读 · 0 评论 -
Spring注解
javax下的一个注解仅在加载Servlet时运行一次,在构造函数之后,init方法之前执行。Spring框架中也会识别该注解Spring框架Component中的执行顺序:Constructor -》 @Autowired -》 @PostConstruct...原创 2020-02-10 23:07:09 · 169 阅读 · 0 评论 -
前端跨域解决方案
跨域解决方案1、 通过jsonp跨域2、 document.domain + iframe跨域3、 location.hash + iframe4、 window.name + iframe跨域5、 postMessage跨域6、 跨域资源共享(CORS)7、 nginx代理跨域8、 nodejs中间件代理跨域9、 WebSocket协议跨域详见以下博文:https://se...原创 2020-02-10 22:46:11 · 102 阅读 · 0 评论 -
如何解决查询N+1问题
1.使用数据库LEFT JOIN来实现,在一次数据库查询中查出多条数据,但是要对结果进行分组组装。但是对于分页支持不好,需要自定义分页插件,现有解决思路如下:编写SQL时,将主表的条件写入到WHERE条件中,将所有LEFT JOIN的条件写到ON中,使用AND来拼接多个条件,然后编写分页插件识别连接查询,将主表外包裹一层子查询,子查询中使用LIMIT关键字来做分页。2.先将主表中的数据查询出来...原创 2020-02-10 22:35:20 · 506 阅读 · 0 评论 -
Mybaits中模糊查询写法
由于%是xml关键字,所以会导致Mybatis不能正确识别。所以可以通过使用MySQL数据库中的concat以字符串拼接的方法,拼接‘%’但是如果更换了数据库,就不一定支持拼接函数了,Mybaits中有bind动态绑定功能,使用方式如下:<select id="selectList"> <bind name="bind" value="'%'+fiel...原创 2020-02-10 22:11:36 · 136 阅读 · 0 评论 -
Maven的Scope区别笔记
依赖的Scopescope定义了类包在项目的使用阶段。项目阶段包括: 编译,运行,测试和发布。分类说明compile默认scope为compile,表示为当前依赖参与项目的编译、测试和运行阶段,属于强依赖。打包之时,会达到包里去。test该依赖仅仅参与测试相关的内容,包括测试用例的编译和执行,比如定性的Junit。runtime依赖仅参与运行周期中的使用。一般这种类库都是接口与实现...转载 2019-10-24 22:18:15 · 96 阅读 · 0 评论 -
TCC分布式事务
https://www.cnblogs.com/jajian/p/10014145.html转载 2019-06-19 18:12:01 · 93 阅读 · 0 评论 -
多线程场景下如何使用 ArrayList
转载一篇博文如下:https://www.cnblogs.com/zjfjava/p/10217720.html其中介绍了ArrayList的部分源码,以及线程不安全的体现,还有ArrayList线程安全处理。转载 2019-04-10 18:39:02 · 388 阅读 · 0 评论 -
JavaWeb线程分析以及使用实记
现有如下需求:批量访问某接口,将接口返回数据回写数据库。解决方案:使用循环进行线性访问,然后批量回写数据库。使用消息队列,将流程分为两步,第一步提交到消息队列,第二步回写。建立多个线程来进行访问,接口响应后回写数据库。分别带来的问题:某接口响应时间较长,使用循环来进行线性访问,时间会随着循环次数的增加而增加。需要额外运行消息队列服务,并且需要考虑内存消耗,代价是否划算。如果使...原创 2019-04-10 14:33:17 · 193 阅读 · 0 评论 -
TKmybatis框架使用与分析
1.框架介绍刚听说的一个框架,是基于Mybatis的一个框架,框架的核心思想就是对于Mapper的封装。减少传统的Mapper编写。但是有个问题,使用Mybatis就是因为在该框架Mapper中编写SQL语句的灵活性,如果把这个特性封装起来了,和Hibernate有什么区别?而且据说Hibernate性能还比较好。框架具体来源暂时不知道,以后更新。2.框架使用1)建立Mapper接口 ...原创 2018-07-13 16:41:22 · 3984 阅读 · 0 评论 -
Rest风格框架实战
摘要: 本人在前辈《从MVC到前后端分离(REST-个人也认为是目前比较流行和比较好的方式)》一文的基础上,实现了一个基于Spring的符合REST风格的完整Demo,具有MVC分层结构并实现前后端分离,该项目体现了一个具有REST风格项目的基本特征,即具有统一响应结构、 前后台数据流转机制(HTTP消息与Java对象的互相转化机制)、统一的异常处理机制、参数验证机制、Cors跨域请求机制以...转载 2018-08-09 22:52:13 · 627 阅读 · 0 评论 -
mybatis中ResultMap对应关系
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" ><mapper namespace="top.hech原创 2018-08-23 23:42:31 · 517 阅读 · 0 评论 -
Mybatis-Mapper使用问题
不要在Mapper注释中使用#{},Mybatis会识别到,导致参数数量不对。原创 2018-08-28 10:28:05 · 126 阅读 · 0 评论 -
Maven引入本地Jar包并打包进War包中
1.概述 在平时的开发中,有一些Jar包因为种种原因,在Maven的中央仓库中没有收录,所以就要使用本地引入的方式加入进来。拷贝至项目根目录 项目根目录即pom.xml文件所在的同级目录,可以在项目根目录下创建文件夹lib,如下图所示: 拷贝Jar这4个Jar包是识别网页编码所需的包。配置pom.xml,依赖本地Jar 配置Jar的dependency,包括groupI...转载 2018-09-05 17:13:22 · 1194 阅读 · 0 评论 -
SpringBoot找不到Dao
默认Maven打包后不包括配置文件,一定要记得手动指定,包括Yml。<build> <resources> <resource> <directory>src/main/java</directory> <includes> ...原创 2018-09-05 17:17:18 · 5981 阅读 · 0 评论 -
SpringBoot自定义404、500返回JSON数据
现有的方法,编写全局的异常处理,需要在SpringBoot配置文件中配置没有找到Controller时抛出异常,并且将静态资源映射关闭。因为默认是不抛出异常的,是去找错误页面,所以还需要关闭静态资源映射。但是这样就无法访问静态资源了。以下是解决方法。 当未找到页面时,会调用默认的Controller,就是这个没有值的RequestMapping。 在这个Controller中手动抛出异常,实际...原创 2018-09-12 14:06:31 · 5727 阅读 · 3 评论 -
Java配置SSL双向认证
从JDK中找到keytool.exe,随便复制到一个方便的目录,在命令行中进入这个目录。第一步:为服务器生成证书 tomcat.keystore,名字就是域名,其他的看着写。keytool -genkey -v -alias tomcat -keyalg RSA -validity 36500 -keystore tomcat.keystore第二步:为客户端生成证书,双向认证时需要客户端安...原创 2018-09-18 13:48:03 · 804 阅读 · 2 评论 -
Mybatis插入时返回自增主键ID
如下设置Mapper,keyProperty是实体类的id,keyColumn是字段id,useGeneratedKeys设置为true的时候,调用dao层的时候,原本返回的int值会从影响行数变为自增ID。Mapper:<insert id="insertTest" parameterType="com.test.Entity" useGeneratedKeys="true" key...原创 2018-09-20 10:59:14 · 243 阅读 · 0 评论 -
MySQL+Hibernate实现中文按拼音排序
在MySQL中,GBK编码默认以中文拼音排序,可以将数据库编码改为GBK解决(可以针对于想中文排序的表更改编码,无需整个库都修改),这样OrderBy出来直接就是按中文拼音排序的了。注意一点,更改数据库编码后,并不会将原有数据编码转换,还需要将数据进行转码。alter table 表名 convert to character set gbk;但是如果表中存在GBK编码存储不了的数据,不能...原创 2018-11-05 14:47:07 · 1211 阅读 · 0 评论 -
JVM编码设置
在Windows环境下,JVM默认编码为GBK。Linux环境下默认编码为UTF-8。那么也就导致在程序中,使用String等类型时,默认采用编码会根据系统的不同使用了不同的编码。可以在运行JVM时指定-Dfile.encoding=utf-8参数来规定编码。在Tomcat中配置catalina文件Linux中,在catalina.sh配置JAVA_OPTS="$JAVA_OPTS -D...原创 2019-03-05 18:31:22 · 4534 阅读 · 0 评论 -
计算字符串Hash摘要时的注意事项
在计算字符串的Hash摘要时,一定要注意字符串的编码,使用Charset.defaultCharset()查看JVM的默认字符编码。不同字符串编码算出来的Hash值是不一样的。可以使用StringBuilder构建字符串,然后转码为固定的StringStringBuilder mingxiSb = new StringBuilder();String mingxi = new String...原创 2019-03-14 16:35:31 · 307 阅读 · 0 评论