
java
文章平均质量分 68
yytoo2
专业打杂
展开
-
SpringMVC和Struts2的区别
在网上看到了这个问题, 突然想起之前没有仔细总结过, 于是写了这篇博客.现在使用Struts2的公司估计是很少了, 除非是一些很久以前的历史遗留项目(很有可能是已经在重构的路上或者准备重构的路上了)我的第一份工作使用的还是Struts2的框架, 在大概一年以后公司也使用SSM框架代替原有框架了. 现在估计很多公司是直接使用SpringCloud了, 个人感觉SpringCloud虽然好, 但是极个别情景下使用个人感觉有点杀鸡用牛刀, 不同微服务间的通信浪费了很多不必要的资源(采用http协议, 一般会使原创 2020-08-11 12:11:35 · 254 阅读 · 0 评论 -
spring声明式事务@Transaction的避坑指南(一)
在spring框架下开启事务, 直接在类或者方法上加伤Transaction注解, 简单粗暴. 但是实际上却有很多坑需要注意.第一个:Transaction并不是在捕捉到任何异常时都会执行回滚.@Transaction注解的默认捕捉异常是RunTimeException我们首先需要知道, 异常分为两类: 运行时异常和非运行时异常.运行时异常...原创 2020-05-28 20:20:13 · 1274 阅读 · 0 评论 -
ftp连接成功, 但是accept timeout
ftp服务器在外网, 本地应用服务器端在内网,被防火墙拦截了.对tomcat放行, 或者关闭防火墙原创 2019-10-24 19:24:12 · 4280 阅读 · 1 评论 -
IDEA生成的get/set与非驼峰式命名
在写接口的时候发现对方传过来的参数不是驼峰式的, 而是首字母大写的格式.然后我用IDEA自动生成的get/set方法, 使用@RequestBody注解自动将对方传过来的json放入对象于是, 当然是读到一堆null了orz看了下IDEA自动生成的set方法里面传入的参数, 首字母被转化成了小写, 如下:private String Demo;public void setDe...原创 2019-10-20 17:19:12 · 1468 阅读 · 0 评论 -
fiddler抓取HTTPClient
在代码中调用其它接口, 使用HTTPClient发送请求的时候,fiddler并不能抓取到这个请求.为了调试方便所以在HTTPClient代码中设置代理, 如下:HttpHost proxy = new HttpHost("127.0.0.1",8888);requestConfig = RequestConfig.custom().setProxy(proxy).build(); ...原创 2019-10-20 17:09:11 · 842 阅读 · 0 评论 -
getBytes与编码
在使用MessageDigest进行md5加密前, 需要把使用String的getBytes方法获得字节数组需要注意的是getBytes()方法在不传入参数的情况下, 使用的是系统默认的编码方式.同一个字符串在不同的编码方式下, 获取到的字节数组是不同的, 这会引起,md5加密后得到的值不同.所以一般最好确认编码方式并作为参数传入:MessageDigest md = Mess...原创 2019-10-20 17:03:04 · 498 阅读 · 0 评论 -
项目中遇到的悲观锁和乐观锁
悲观锁:悲观锁就是假设每次操作都会有其他人使用同一个资源, 所以每次执行过程都是; 加锁-->使用资源-->释放锁, 项目中常使用synchronized对需要的代码部分加锁。使用synchronized主要是因为synchronized使用的是内置锁, 加锁和解锁都由jdk实现, 使用者无需手动控制, 比较方便。使用场景多是多线程开发时, 并行处理数据, 对方法或者代码块...原创 2019-08-12 15:20:54 · 729 阅读 · 0 评论 -
《重构:改善既有代码的设计》读书笔记(持续更新中)
背景(我也不知道这个算不算读书笔记,书本知识点整理和个人理解内容可跳至下面正文):最近过年加找工作一直没想起来整理学习内容, 时间都很零碎。回想一下, 的确一直以来都是为了完成项目去看知识点。 除了刚开始想转行做IT的时候跟着慕课网的两条前后端路线系统地学习了一下, 但是终究囫囵吞枣。前几天刚好有被问到《重构》这本书的内容。这两天临时抱佛脚看一下。 有了一定量的代码量积累的现在, 带着些许...原创 2019-02-26 12:47:23 · 2358 阅读 · 1 评论 -
jenkins安装(一)
一 环境本次安装是在win7下进行的, 中间件是tomcat7, 该tomcat使用的jdk是1.8版本二 步骤1. 从jenkins官网下载war包https://jenkins.io/, 这里可以下载最新版本, 也可以去Past Releases下载历史版本http://mirrors.jenkins.io/war-stable/, 我这边下载的是2.89.4版本, 下载的是.wa...原创 2018-12-19 14:44:18 · 201 阅读 · 0 评论 -
java正则表达式匹配域名前半部分
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object arg2) throws Exception { StringBuffer url = request.getRequestURL(); //获取访问页面的完整URL...原创 2018-11-26 10:34:44 · 2515 阅读 · 0 评论 -
ssm使用pageHelper分页插件
pageHelper不同版本的配置是有区别的, 源码中类和依赖在不同版本中有较大变化.一 需要下载的资源1. 以下我使用的spring/springmvc版本3.2.XX, mybaits版本是3.1.X2. pageHelper版本是5.1.4 下载可以上maven仓库下载:http://mvnrepository.com/artifact/com.github.pagehel...原创 2018-08-22 15:45:48 · 1748 阅读 · 1 评论 -
ssm的几个配置文件(持续更新)
spring+springmvc+mybatis的配置文件,会持续更新,对应jar包已上传,截图见文末这里需要的配置文件是3个:web.xml、springMVC.xml(springMVC的配置文件)、applicationContext.xml(spring的配置文件)1. web.xml<?xml version="1.0" encoding="UTF-8"?>&...原创 2018-05-12 23:32:00 · 640 阅读 · 0 评论 -
java使用流实现浏览器下载docx文件
后端代码如下:需要注意的是头的设置,需要告诉浏览器需要下载文件,以及下载文件名。在这里我下载的是一个docx文件 /** * 导出 * @param aFileName * @param aFilePath */ public void doExport(String aFileName, String aFilePath,HttpServletRequest...原创 2018-04-17 10:46:09 · 9211 阅读 · 2 评论 -
java中的数据存储方式笔记
1. 寄存器: 处于处理器内部,快速但是数量有限。 由编译器分配(区别堆栈)2. 堆栈: 驻留于常规RAM(随机访问存储器)区域中),可通过堆栈指针获得直接处理的支持。 指针下移创建新的内存;指针上移则释放存储区域。 创建程序时,编译器必须准确地知道堆栈内保存的所有数据的“长度”以及“存在时间”(区别堆)。 java对象不在其中。主要类型(boolean/char/byte...原创 2018-03-12 23:05:06 · 212 阅读 · 0 评论 -
eclipse Maven插件的安装地址
eclipse中Maven插件在线安装:Help→Install New Software中选择add填写name和url地址进行安装,网上建议都是使用:http://download.eclipse.org/technology/m2e/releases这个地址,但是我填写这个地址后总是提示无法找到资源,然后试了下http://m2eclipse.sonatype.org/sites/m原创 2017-06-27 09:47:07 · 383 阅读 · 0 评论 -
appium+java(一)安装
我在这里使用的是myeclipse,所以只要安装sdk+adt+JUnit插件就可以了使用的是三星Android4.4.2的真机,尝试在Android6.0.1的手机上运行,但是运行测试程序时使用context方法切换到webview模式每次都失败。使用的语言是java,appium的强大点之一就是支持多语言。1.安装myeclipse和adt+sdk+JUnit插件,这里需要注意的是原创 2017-06-27 10:31:34 · 728 阅读 · 0 评论 -
appium+java(三)webview
接上篇在AppiumTest.java中:package com.test.demo2;import io.appium.java_client.AppiumDriver;import io.appium.java_client.android.AndroidDriver;import org.junit.After;import org.junit原创 2017-06-27 10:33:58 · 2088 阅读 · 1 评论 -
hibernate4的cfg.cml文件和hbm.xml文件无法读取报错
开始我是出现了:Caused by: org.dom4j.DocumentException: http://www.jboss.org/dtd/hibernate/hibernate-mapping-3.0.dtd%20 Nested exception: http://www.jboss.org/dtd/hibernate/hibernate-mapping-3.0.dtd%20at or原创 2017-08-15 09:53:18 · 1317 阅读 · 0 评论 -
跳转至websocket聊天页面时传递简单信息
一、要求:制作了两个简单的页面,一个是用户登录,一个是群聊的聊天室。首先用户在登录页面输入账号密码登录后自动跳转至聊天室,在聊天室中,我希望能将用户信息带过去。二、遇到的问题:首先我想到的是使用session,因为WebSocket中的session不是http的session,而我在登录的代码中还是使用了request和response,所以在这中间需要使WebSocket获得h原创 2017-10-25 11:52:06 · 952 阅读 · 0 评论 -
hibernate中buildServiceRegistry()方法报错
报错内容如下:The method buildServiceRegistry() is undefined for the type ServiceRegistryBuilder这是我在用hibernate-core-4.3.0.Final.jar这个版本hibernate核心包时自动生成 HibernateSessionFactory.java中调用buildServiceRegistry(原创 2017-12-11 16:42:08 · 628 阅读 · 0 评论 -
ajax获取后台json信息时跨域
问题描述:1. 使用ajax接收后台传递过来的转化为string类型的json数据时进入error函数,2. 且alert()方法打印出在error中获取到的responseText内容为空,3. 使用chrome浏览器,在console页面看到报错:No 'Access-Control-Allow-Origin' header is present on the requested原创 2017-12-20 14:47:14 · 412 阅读 · 0 评论 -
输入校验二(struts2中的输入校验,服务器端)
在struts中有validate()方法,可以用于实现在服务器端对用户输入信息进行校验。该方法需要类继承ActionSupport类,通过重写validate()方法实现。struts2框架在执行Action类时,会在调用该Action类中的罗技处理方法之前,调用validate()方法。validate()方法的父类中还有一个addFieldError()方法,可以在该方法传入fi原创 2017-12-04 15:45:24 · 443 阅读 · 0 评论 -
java中String类总结(更新中)
因为入门时学的是C语言,在自学java时,发现java的String和c中着极大的差别,当时半知半解,现在重新整理下这方面知识点.String和int/double等不同点之一是:String是不可变类。一旦创建了 String 对象,那它的值就无法改变了如果我们队String对象进行如下操作:String a="asd";System.out.println(a);a="原创 2017-11-28 11:50:06 · 337 阅读 · 0 评论 -
json引起的float/double类型精度丢失问题
JSONObject obj = new JSONObject();float a = 15.123f; //这里加f是表示这是浮点型,15.123默认是double的float b=15;obj.put("floata", a);obj.put("floatb",b);obj.put("Stringa", a+""); //加上“”自动转string类型,也可以使用Strin...原创 2018-02-08 14:42:07 · 11984 阅读 · 0 评论 -
JAVA在方法中对象作为参数传递
java方法中只有值传递,没有传地址,这是和C语言一个较大的差别。在C语言中我们使用传地址,实参把自己的内存地址传给了形参,这样对实参的修改就有效了。但是在java中,将方法A中的某个对象传递到方法B中进行修改后,再返回到A中,我们会发现对象在B中的修改在A中也有效。示例代码如下:有一个bean类:public class DemoBean { private String id; pu...原创 2018-02-23 17:42:35 · 10439 阅读 · 0 评论 -
使用java将mysql中获得的时间戳转标准时间格式
首先先明白一点:mysql中存入的时间戳是10位的int在存入的时候我们做过如下操作:Date date = new Date(); //获得当前时间long lTime = date.getTime(); //取出date类型中的日期时间,这里精确到毫秒的String sDateTime=lTime+""; 将long转stringsDateTi原创 2017-06-27 09:44:34 · 4722 阅读 · 0 评论