Java web
小方同学_
码农,爱写bug,爱吃清汤面。
展开
-
使用 webMagic 简单爬取维基百科国家对照表
描述记一次业务使用的国家代码不匹配问题。业务需求根据国家英文名称显示国家中文名称,原项目使用的不准确,不知道哪找来的。解决方案解决方案查找维基百科「国家代码对照表」,地址是 https://zh.wikipedia.org/wiki/%E5%9B%BD%E5%AE%B6%E4%BB%A3%E7%A0%81%E5%AF%B9%E7%85%A7%E8%A1%A8爬出当前表格代码对照表的内容出来...原创 2020-03-09 11:24:12 · 646 阅读 · 1 评论 -
如何快速写一个 Http Client
项目中快速完成一个 Http Client 可以参考以下Okhttp 使用https://square.github.io/okhttp/Hutool Http客户端-HttpRequest 使用https://www.hutool.cn/docs/#/http/Http%E8%AF%B7%E6%B1%82-HttpRequest...原创 2019-10-24 23:45:47 · 511 阅读 · 0 评论 -
Spring aop
aop 面向切面,所有业务都要处理的业务/** * Created by Administrator on 2017/7/18. */@Aspect@Componentpublic class HttpAspect { private final static Logger logger = LoggerFactory.getLogger(HttpAspect.class);原创 2017-12-17 00:31:40 · 563 阅读 · 0 评论 -
Spring MVC全局处理Exception
/** * Created by Administrator on 2017/7/18. */@ControllerAdvicepublic class ExceptionHandle { @ExceptionHandler(value = Exception.class) @ResponseBody public Result handle(Exception e)原创 2017-12-17 00:25:28 · 549 阅读 · 0 评论 -
获取常用系统的物理地址
获取系统的物理地址工具类:import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.HashSet;import java.util.Set;public class GetMacAddress{ public static Str原创 2017-12-05 23:47:01 · 950 阅读 · 0 评论 -
centos6 安装tomcat
安装jdk1.7以下选段取自于java中文官网用于基于 RPM 的 Linux 平台的 Java成为超级用户,方法是运行 su 并输入超级用户口令。卸载任何之前安装的 Java 程序包。 rpm -e package_name切换到所需的安装目录。键入:cd directory_path_name例如,要将软件安装到 /usr/java/ 目录中,请键入:cd /usr/java安装程原创 2017-09-16 01:38:19 · 718 阅读 · 0 评论 -
使用truelicense实现用于JAVA工程license机制(包括license生成和验证)
开发的软件产品在交付使用的时候,往往会授权一段时间的试用期,这个时候license就派上用场了。不同于在代码中直接加上时间约束,需要重新授权的时候使用license可以避免修改源码,改动部署,授权方直接生成一个新的license发送给使用方替换掉原来的license文件即可。下面将讲述使用truelicense来实现license的生成和使用。Truelicense是一个开源的证书管理引擎,详细介转载 2017-12-01 13:47:14 · 5224 阅读 · 0 评论 -
jsp提示is exceeding the 65535 bytes limit错误
jsp文件大小超过63kb的限制,解决办法:将jsp文件拆分成多个,再<%@ include file=”/view/include/i18n.jsp”%>原创 2017-11-21 09:31:23 · 2027 阅读 · 0 评论 -
Spring MVC Junit单元测试
/*** * 测试类 * @author Stark fang * 2017年11月10日 下午5:59:56 */@RunWith(SpringJUnit4ClassRunner.class)//此处调用Spring单元测试类@ContextConfiguration(locations = {"classpath:conf/app-context.xml"})//加载spring容器原创 2017-11-14 18:05:49 · 758 阅读 · 0 评论 -
web.xml中url-pattern的3种写法
① 完全匹配 <url-pattern>/test/list.do</url-pattern> ② 路径匹配 <url-pattern>/*</url-pattern> 匹配根路径下的全部请求③ 扩展名匹配 <url-pattern>*.htm</url-pattern> 匹配全部htm结尾的请求原创 2017-11-02 18:48:07 · 2081 阅读 · 0 评论 -
java error: message Invalid tld file: see JSP 2.2 specification section 7.3.1 for more details
完整的错误信息如下严重: Servlet.service() for servlet jsp threw exceptionorg.apache.jasper.JasperException: /view/exception/exceptionmsg.jsp (line: 2, column: 0) /view/include/common/normal.jsp (line: 1, colu原创 2018-01-11 15:41:20 · 1779 阅读 · 0 评论 -
spring注解方式 idea报could not autowire
本人遇到环境是ideaIU-2016.3,使用了mybatis,XxDao使用了Mybatis的@Mapper注解,由于IDEA似乎无法解析@Mapper注解,报could not autowire(但只是代码中有红色报错,运行一切正常)。网上查找的处理方法有 1:删除spring关联。File-Project Structure 页面 Facets下删掉 Spring(直接右键Delete原创 2018-01-18 11:50:51 · 1064 阅读 · 0 评论 -
spring boot controller 方法误用 private声明
在一次快捷键填补方法代码中,误用private 来声明 controller 方法,导致该类的注解实体和服务无效,即拿到的对象都是null ,误操作如下:原因大概是Spring要处理@RequestMapping(将请求路径映射到控制器类或方法中),声明私有的就存在问题了,修改将方法声明改为public即可。原创 2018-02-02 11:36:16 · 3036 阅读 · 0 评论 -
MyBatis3操作数据库
为什么使用MyBatis框架为什么要使用MyBatis框架呢?举一个简单例子,在使用传统的JDBC代码时,需要写上必要的DAO层代码,在DAO层代码中将数据表中的数据封装到自定义的实体类中。这给代码的维护带来了问题。但MyBtis和Hibernare解决了这个问题,使用它们做查询时,可以自动地将表中数据记录封装到实体或者Map中,再将它们放入List中返回。这么常见的功能都可以由MyBatis和Hi原创 2017-07-27 18:56:06 · 883 阅读 · 0 评论 -
MyBatis + oracle Generator配置 和jdbc配置
MyBatis + oracle Generator配置 和jdbc配置配置文件 generatorConfig.xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"原创 2017-08-10 18:30:15 · 5534 阅读 · 0 评论 -
推荐几个Github项目,下半年好好学习
1、el-admineladmin基于 Spring Boot 2.1.0 、 Jpa、 Spring Security、redis、Vue的前后端分离的后台管理系统, 权限控制的方式为RBAC,项目支持数据字典与数据权限管理,支持一键生成前后端代码,支持前端菜单动态路由2、zheng基于Spring+SpringMVC+Mybatis分布式敏捷开发系统架构,提供整套公共微服务服务模块:内容...原创 2019-08-09 23:47:27 · 1633 阅读 · 0 评论 -
秒杀常见问题解决思路
如何解决卖超问题在sql加上判断防止数据边为负数数据库加唯一索引防止用户重复购买锁机制优化-缓存redis永久缓存对象减少压力redis预减库存减少数据库访内存标记方法减少redis访问页面级缓存优化-订单处理队列请求先入队缓冲,异步下单,增强用户体验请求出队,生成订单,减少库存客户端定时轮询检查是否秒杀成功安全性设计秒杀接口隐藏数字公式验证码接口防刷限流...原创 2019-07-09 18:05:54 · 1928 阅读 · 3 评论 -
使用Guava的RateLimiter做限流
RateLimiter 从概念上来讲,速率限制器会在可配置的速率下分配许可证。如果必要的话,每个acquire() 会阻塞当前线程直到许可证可用后获取该许可证。一旦获取到许可证,不需要再释放许可证。简单示例 public static void main(String[] args) { RateLimiter rateLimiter = RateLimiter.creat...原创 2018-11-18 17:58:17 · 457 阅读 · 0 评论 -
记layui 跨域会话问题
layui 跨域会话问题问题描述解决方案1解决方案2参考文章问题描述前端使用layuiadmin,后台架构是springboot整合redisson+spring-session,在使用传统的cookie, session 进行session会话管理的时候发现前端登录后没有sessionId一值的,所以无法发送cookie到后端,也就导致登录后的用户信息通过setSessionAttribut...原创 2018-09-28 22:27:57 · 7303 阅读 · 0 评论 -
SpringBoot 使用 webjar 处理静态资源遇到的问题
问题:maven 引用如下jar <dependency> <groupId>org.webjars</groupId> <artifactId>jquery</artifactId> <version>1.12.4</version> </dependency&a原创 2018-07-18 00:53:14 · 3963 阅读 · 0 评论 -
Spring注解@RequestBody 接收Json对象字符串问题
最近犯浑给自己埋了一个坑:将接口的传参转成json字符串传输,瞎操作造成浪费了接近1小时。。仅此记录一下以免重复犯错//原服务接口@PostMapping("go") public Response attackByAction(@RequestBody AttackParams params){ //process code...... }//对应对的调用方法priv...原创 2018-06-11 18:19:15 · 15380 阅读 · 0 评论 -
no RY3Java in java.library.path
bug: 分析:Web Project引用了 java.library.path 路径下的RY3Java.dll这个文件;然而路径并没有成功解决方法:输出”java.library.path”的路径, public static void main(String[] args) { System.out.println(System.getProperty("jav原创 2018-02-02 12:09:37 · 1239 阅读 · 1 评论 -
java.lang.OutOfMemoryError: PermGen space
java.lang.OutOfMemoryError: PermGen space摘要PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存益出,解决方法也一定是加大内存。背景最近公司的一个项目要求更换新版UI,但人手不足,为了赶上计划工期,帅帅哒的我就这样愉快地被原创 2017-06-09 22:50:38 · 760 阅读 · 0 评论 -
利用Eclipse Memory Analyzer检查内存泄漏
今天在effective java书中看到内存泄露例子,本着寻找一个可用的检查工具故搜索网上的一些demo,记录下面操作1.在Eclipse Marketplace 搜索Eclipse Memory Analyzer插件进行安装 2.编写测试代码@Testpublic void testOutOfMemory(){ List<String> list = new Arr原创 2017-10-15 03:07:56 · 1248 阅读 · 0 评论 -
微信本地调试、ngrok、tunnel
打开网址: http://www.tunnel.mobi/教程:在myeclipse运行tomcat时 ,记得tomcat端口和设置ngrok配置是端口要一致。。。原创 2015-08-08 11:16:34 · 1665 阅读 · 0 评论 -
JQuery EasyUI combobox动态添加option
方法一:1 var data, json;2 json = '[{"id":"年计划","text":"年计划","selected":true}]';3 data = $.parseJSON(json);4 $("#rwlb").combobox("loadData", data);方法二:1 var data,json;2 data = [];3 da原创 2016-10-23 16:30:31 · 884 阅读 · 0 评论 -
EasyUI Datagrid 鼠标悬停显示单元格内容
EasyUI Datagrid 鼠标悬停显示单元格内容第一种方式:1.js 定义函数 "text/javascript"> //格式化单元格提示信息 function formatCellTooltip(value){ return "" + value + "'>" + value + "";转载 2017-02-13 23:53:14 · 12888 阅读 · 0 评论 -
html5页面简单判断当前有无网络
JavaScript Window NavigatoronLine简介: 判断当前网络是否有用法也是相当地简单: if (navigator.onLine) { alert('online'); } else { alert('offline'); } 我们可以通过事件的件的监听,去实时获取到网络状态的变化 window.addEventListener('off原创 2016-07-07 11:56:32 · 12736 阅读 · 0 评论 -
如何显示隐藏密码输入框的值?
直接贴上代码<!DOCTYPE html><html><head> <title>password intput demo</title></head><style type="text/css">body{ margin:0px; background-color: white; font-family: 'PT Sans', Helvetica,原创 2017-07-16 23:44:34 · 1804 阅读 · 0 评论 -
正确显示textarea中输入的回车和空格
在textarea中输入的文本。如果含有回车或空格。在界面上显示的时候则不哪么正常。回车消失了,空格变短了。如何解决这个问题呢。有2种方法。1.使用标签 w3c对pre元素是这样定义的:pre 元素可定义预格式化的文本。被包围在 pre 元素中的文本通常会保留空格和换行符。而文本也会呈现为等宽字体。 更详细的内容请参考 http://www.w3school.com.cn/转载 2017-01-06 10:28:43 · 3879 阅读 · 0 评论 -
bootstrap table服务端实现分页
实现bootstrap table服务端实现分页demo原创 2017-08-09 22:47:07 · 8453 阅读 · 3 评论 -
几款整站抓取的工具
TeleportUltraTeleport Ultra所能做的,不仅仅是离线浏览某个网页(让你离线快速浏览某个网页的内容当然是它的一项重要功能),它可以从Internet的任何地方抓回你想 要的任何文件,它可以在你指定的时间自动登录到你指定的网站下载你指定的内容,你还可以用它来创建某个网站的完整的镜象,作为创建你自己的网站的参考。 WebZipWebZip 把一个网转载 2017-03-15 10:02:01 · 38706 阅读 · 2 评论 -
iTextRenderer(Flying Saucer) HTML转PDF
iTextRenderer(Flying Saucer) HTML转PDF iTextRenderer 在依赖 iText 的基础上,单独实现了HTML渲染PDF,基本上能实现 CSS 2.1的整体性,并且完全符合 W3C 规范。使用html和css定义样式和呈现的内容。如下流程图: 中文支持转载 2017-03-08 17:57:43 · 4965 阅读 · 7 评论 -
webuploader文件接收服务端
前提:了解webuploader,并引入资源,资源地址http://fex.baidu.com/webuploader/getting-started.html 服务端接收代码实现 /** * 实现文件上传 * @param fileUpload * @param request * @return */ @RequestMapping( "/fileUpload" )原创 2016-07-06 16:50:26 · 12684 阅读 · 2 评论 -
一个简单的webmagic爬虫 demo
maven 依赖<dependency> <groupId>us.codecraft</groupId> <artifactId>webmagic-core</artifactId> <version>0.7.3</version> </dependency> <dependency> <groupId>us.codec原创 2017-10-31 21:38:29 · 1344 阅读 · 0 评论 -
SpringMVC接收复杂集合参数
[原文地址:](http://jxd-zxf.iteye.com/blog/2072300)Spring MVC在接收集合请求参数时,需要在Controller方法的集合参数里前添加@RequestBody,而@RequestBody默认接收的enctype (MIME编码)是application/json,因此发送POST请求时需要设置请求报文头信息,否则Spring MVC在解析集合请求参数时原创 2017-08-29 00:23:25 · 948 阅读 · 0 评论 -
解决同一浏览器登录多个账户session共享问题
首先session是同一PC同一浏览器共享的.比如如下代码:public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { HttpSession hs = request.getSession();原创 2017-10-11 17:53:06 · 34728 阅读 · 0 评论 -
证书转化 .cer .crt .jks
cer格式——>JKS (keytool 为java JDK自带的,可以在bin目录下找到) keytool -import -alias mycert -file d:\def.cer -keystore mykeystore.jks (导入证书到keystore)cer格式——>crt (linux 命令进入openssl,然后敲下面代码)原创 2017-08-20 01:11:33 · 17136 阅读 · 0 评论 -
bootstrapDualListbox 动态选中某一项
var selector = $('.dual_select').bootstrapDualListbox();//初始化组件$("#dual_select option[value='"+result[i]+"']").attr("selected","selected");}selector.bootstrapDualListbox('refresh');//option项选中后须刷新组件原创 2017-09-02 01:27:05 · 4498 阅读 · 0 评论 -
一次偶然的ajax请求导致status为canceled的原因
原文地址:http://www.lovejavascript.com/#!zone/blog/content.html?id=32如图所示,这只是一个很简单的登录请求。 刚看到这个请求返回状态时,也是觉着很诧异。经过确认参数等情况,发现并没有什么异常,且进行第二次登录操作时会返回正常。排查思路:发现url在第一次登录操作后由原来的 [*/login.html]更改转载 2017-09-16 01:10:10 · 1449 阅读 · 0 评论