-
Arrays.asList注意
今天遇到了一个错误:```javajava.lang.UnsupportedOperationExceptionatjava.util.AbstractList.remove(AbstractList.java:161)```后来Google了一下,原来使用`Arrays.asList`生成出来的这个集合对象是不能进行修改的。如果我们需要修改怎么办呢?我们可以重新`new`一个集合就可以了,如下:```javaListlist=newArrayList(Arrays.asList("a","b"));```
Arrays.asList Java -
Java空指针异常
相信大家多觉得Java的空指针非常简单,很容易排查,但是却又是非常容易忽略的一个错误。今天就遇到了一个比较麻烦的情况,因为使用的是别人打好的Jar,也没有什么语法错误,但就是运行的时候出错:```javajava.lang.NullPointerException```但是一般空指针异常也不应该出现在传递参数的方法这里啊,最后认真看了一下参数才发现,原来接收参数是`int`类型,但是我传入`Integer`类型参数为`null`时,自动拆箱时就会抛出空指针异常。例如:```javapublicstaticvoidtest(intnum){System.out.println("============>"+num);}publicstaticvoidmain(String[]args){Integernum=null;test(num);}```
Java 空指针 NullPointerException -
Hibernate的配置文件打包找不到实体类
公司最近要求把写好的代码打成Jar包,弄好后今天试了一下,居然报错:```javaorg.hibernate.MappingException:Unknownentity:xx.xx.xx.Useratorg.hibernate.internal.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:1092)atorg.hibernate.internal.SessionImpl.locateEntityPersister(SessionImpl.java:2436)atorg.hibernate.internal.SessionImpl.access$2100(SessionImpl.java:172)atorg.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.(SessionImpl.java:2378)atorg.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.(SessionImpl.java:2369)...
Hibernate Maven -
CentOS设置默认语言
今天安装了CentOS研究一下Linux,但是使用VM虚拟机太智能了,丫的我就输入了一下账号和密码,居然把语言,账号,分区等等全部配置好了。本来想学习一下安装的,不过这没什么,但是坑爹的是进去居然是英文,当年我英语150考试作弊也才60分,这不是要我的命。本来我是想找一下system下面有没有setting的,好吧没找到,于是乎网上我找了一下,基本上修改`/etc/sysconfig/i18n`那个文件。还有一个办法就是输入以下命令:```bashyuminstallsystem-config-languagesystem-config-language```修改后重启`reboot`,注销然后登陆好像不行,试了几次,所以我才找到后面那个方法的。参考文章:[https://www.centos.org/forums/viewtopic.php?t=2037](https://www.centos.org/forums/viewtopic.php?t=2037)
CentOS Linux -
PostgreSQL数据库错误
```sqlinsertintotb_b(select*fromtb_awherecln=20);ERROR:column"xxxx"isoftypebigintbutexpressionisoftypecharactervaryingLINE1:insertintotb_b(select*fromtb_awherecln...```遇到了这个问题,以前一直这么写插入的都没问题,怎么回事呢?提示类型不对?纳闷了很久。后来对比两张表发现,原来是修改表的时候字段的顺序不对应了,所以把语句修改为:```sqlinsertintotb_b(clna,clnb,clnc,cln)(selectclna,clnb,clnc,clnfromtb_awherecln=20);```这样就可以了,现在发现SQL当年学的相当马虎啊。需要恶补一下,顺便推荐一个书不错:《SQL必知必会》
PostgreSQL -
Maven编译Struts2源码
前几天修改了Struts2的默认action和通配符的冲突,现在我们就是用Maven编译和打包struts的源代码。首先我们先安装Maven,搭配环境,这个自行Google就可以了。然后解压struts的`xwork-core`,进入到该目录我们修改代码后就可以使用命令编译打包:```bashmvnpackage-Dmaven.test.skip=true```>注意:`-Dmaven.test.skip=true`设置跳过测试,因为里面测试的一些环境不对,编译会失败。修改代码的时候,添加了其他包的类,所有要修改pom添加依赖,否者会提示错误:程序包`org.apache.struts2.dispatcher`不存在,添加以下信息到pom.xml:```xmlorg.apache.strutsstruts2-coreversioncode```>上面的versioncode是你的struts版本,如果还需要其他依赖包可以在[http://mvnrepository.com/](http://mvnrepository.com/)这个网站搜索。在运行上面的命令就ok了。![Maven编译Struts...
Maven Struts2 -
Struts2通配符和默认action冲突
Struts2找不到action的时候就会抛出一下错误:```javaUnabletoinstantiateAction,xxxxAction,definedfor'xxxx/xxxx'innamespace'/'xxxxActionatcom.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:316)atcom.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:397)atcom.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:194)atorg.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:63)atorg.apache.struts2.impl.StrutsActionProxyFactory.c...
Struts2 通配符 default-action-ref -
Python编码问题
今天Python一个编码问题,我的文件都是UTF-8的,我直接把那段字符串复制也没问题,就是从文件读出来有问题,错误信息:```pythonUnicodeDecodeError:'gbk'codeccan'tdecodebytesinposition221-222:illegalmultibytesequence```诶,想不通?为什么会报这个错误,当然解决办法是用`str()`函数处理一下。有时间在考虑这个问题了,没时间看动画片了。
Python 编码 -
Python腾讯微博上传图片
好吧下午弄完腾讯微博登录模拟,发送文章信息,我实在是等不及实现发送图片了,于是我挤了点时间,动画片都没看来把下面的写完。首先我们看一下图片上传时的信息:![腾讯微博浏览器上传信息](https://static.acgist.com/resources/images/article/201501/13960973728971055.png)OK,我们假设已经处于登录状态了,发送图片微博和文字微博差不多,只不过上传图片和添加一下图片信息就可以了。在文字微博的参数加入图片信息如下:```jsonformdata={"content":msg,"pic":"",#上传图片获得的链接"countType":"","pgv_ref":"web.base.master.talkBox.btnApolloMyHome","apiType":"14",};```好了,最重要的就是上次图片操作,代码如下:```pythondefgetPicUrl(imgmsg):#读取图片连接ifimgmsg==None:returnNone;returnimgmsg.split(",")[1].split("{")[1].split("\"...
Python 模拟浏览器 文件上传 腾讯微博上传图片 -
Python模拟登录腾讯微博发送微博
前不久用Java模拟登录微信,今天我有心血来潮想刷一下图片微博,于是我就用Python写了一个登录腾讯微博刷微博的。本来可以用Java写的,但是几天没看Python差不多又忘了,于是还是用Python来写,主要是练练手。这里不得不说Python的`urllib`和`urllib2`这两个包实在是太强大了。首先我们要实现这个功能我们需要几步:1.登录微博;2.记住登录状态,也就是`cookie`的保存;3.发送微博;我们先来写第一个登录微博:先我们用浏览器可以很清楚的看到登录地址:```bashhttps://ssl.ptlogin2.qq.com/login?u=%s&verifycode=%s&p=%s&pt_rsa=0&ptredirect=1&u1=http%%3A%%2F%%2Ft.qq.com&h=1&t=1&g=1&from_ui=1&ptlang=2052&action=9-101-1396061515832&js_ver=10073&js_type=1&login_sig=N7rJv...
Python 模拟浏览器登录 模拟登录腾讯微博 模拟发送腾讯微博 -
Google浏览器的正确使用方法
其实做网站这些事情,浏览器在我们的手中觉得不仅仅是展现网页那么简单。浏览器在我们手中那就是一个瑞士军刀,功能太多。现在我就介绍一些Google浏览器审查元素的强大用法,我只讲解一下一些简单的功能,更多强大功能,请参考后面的文章。其实火狐的审查元素也是很厉害,但是我很少用我就不描述了,基本一样。首先在网页右键我们可以看到审查元素,或者使用快捷键`Alt+Ctrl+J`或者`F12`打开控制台。![Google浏览器控制台](https://static.acgist.com/resources/images/article/201501/13959039568511006.png)这里是控制台,我主要描述`elements`和`network`的用法。`elements`就是浏览器的元素,找到元素后我们可以随意修改。![Google浏览器元素](https://static.acgist.com/resources/images/article/201501/13959041364001013.png)在右侧有选定元素的CSS,我们把颜色修改为蓝色:![Google浏览器修改元素CSS](https://sta...
Chrome Google浏览器 浏览器其他用法 -
微信公众平台开发中的小问题
最近搞了一下微信的接口,遇到了一些问题,这里总结一下:1.发送被动响应的消息时,`ToUserName`和`FromUserName`需要调换位置。2.网页授权的时候如果在电脑端测试会提示“该链接无法访问,请稍后再试”,这个只能在手机版微信上面测试,因为要获取登录用户的`openid`。
微信公众平台开发 微信网页授权 -
MongoDB修改
最近研究了一下MongoDB,感觉修改的有点点麻烦,我这里总结一下。```sqlupdate(q,o,upsert,multi);```>第一个是条件;>第二个参数是修改的内容;>第三个没有找到条件的项是否添加,默认false;>第四个参数是是否多个结果修改,默认false。如果没有使用参数的状况下,默认修改第一条。如果没有使用`$set`,那么将会替换里面所有的属性:![MongoDB查询结果](https://static.acgist.com/resources/images/article/201501/13950459657171006.png)使用了修改器,就会追加到最后:![MongoDB查询结果](https://static.acgist.com/resources/images/article/201501/13950460138311013.png)然后麻烦一点就是批量修改:如果是多个修改的时候我们需要设置修改器,否者会出错:```sqlmultiupdateonlyworkswith$operators```我们需要这么写:![MongoDB查询结果](http...
MongoDB -
build.prop修复
昨天心血来潮刷了系统,然后软件,`root`都弄好了,然后改了一下`build.prop`居然进入不了系统,最后百度了一下原来是没有修改权限。于是我就刷了`twrp`(也有其他第三方`recovery`应该也可以的),然后进去修改权限,但是怎么也看不到`system`里面的`build.prop`文件。我着急啊,最后发现原来要在`mount`里面挂载你的`system`就可以了。大概流程我记录一下:*下载`adb`和`fastboot`等工具,自行Google。*下载对应版本的`twrprecovery`的`img`文件。*启动到`bootloader`(开机按住音量下键)*然后`fastbootflashrecovery`你的`twrp.img`。*最后重启手机到recovery模式。```bashfastbootflashrecoveryTWRP_U9508_v3.imgfastbootreboot#重启注意启动时按住音量上键进入recovery模式```*进入`twrp`后,挂载`system`,在`mount`里面勾选上`system`就可以了。*启动`cmd`,进入你的`adb`工具文件夹,执行以下...
build.prop -
MyEclipse字体优化
MyEclipse的字体其实很好看的,但是我们写到中文的时候就非常尴尬,字体很小看不清楚,但是字体调大后看起来有很别扭。这时候我们可以设置框里面的脚本选取中欧字符,这样中文就很好看了。![MyEclipse字体优化](https://static.acgist.com/resources/images/article/201501/13945012605391006.png)Eclipse同样适用。**注:如果不知道字体在那里设置或者其他配置选项的,可以直接在上方的搜索框搜索“font”或者相应关键字。**
MyEclipse 字体优化 Eclipse -
监听器粗心小错误
本来我就是个粗心的人,丫的今天又上一当,自己配置了一个监听器用来启动时初始化一些数据和停服务器的时候用来统计数据的,结果死活启动时没有初始化。对比我以前的项目代码我都一样的,为什么?为什么?到底是为什么?结果让我吐血啊,原来我的代码是这样:```javapublicvoidcontextInitialized(ServletContextEventevent){Logger.writeInfo(this.getClass(),"系统启动。。。");Initializer.init();//开始初始化}publicvoidcontextDestroyed(ServletContextEventevent){Destroyer.destory();Logger.writeInfo(this.getClass(),"系统关闭。。。");}```注意上面代码的方法顺序,最新的那个我是用`Ctrl+1`生成的方法,然后悲剧的事情发生了。**自动生成的方法是按照方法名来排序的,也就是`destroy`方法在前面,我没看就直接理解为先是初始化方法再是销毁的方法了**,所以我把初始化代码写在销毁的方法里面肯定出是不行的了😂...
ServletContextListener 监听器 -
Python导入模块
学了几天Python了,用PyDev导入模块时总是出问题,搞定了,这里记录一下。导入代码如下:```pythonfromcc.first.firstimportman```我都是用工具自动提示的,Alt+/,我想导入没问题的,编辑器也没报错,当然我确实看不出哪里有问题。可是每次运行就报错:```pythonTraceback(mostrecentcalllast):File"E:\eclipse\helloworld\cc\first\skd.py",line12,infromcc.first.firstimportmanImportError:Nomodulenamedcc.first.first```**这里提示找不到`cc.first.first`,原来这里不要加上路径名字,直接`fromfirstimportman`就可以了**。当然这里我也有错误的地方,因为我这里的`cc.first`不是包,而是文件夹,所以会出错误。如果你要改成包,你要添加`__init__.py`到文件夹里面(每个文件夹里面都要有这个文件),改成包前面的就没有问题了。
Python 模块 PyDev -
Struts2通配符找不到ation
好久没有手动配置新项目了,因为以前我都是直接`/*`拦截的,现在改为`*.do`了,于是乎今天弄了半天Struts。贴一下大概的配置(web.xml):```xmlstruts2org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilterstruts2*.do```struts.xml:```xml${target}.jsp${target}.html${target}${target}${target}.ftlresult```访问`xx/xx.do`,可是什么反应都没有,一直找不到action,于是我把`web.xml`的`*.do`改成`/*`,可以访问,于是我各种改啊。我一直以为是我的通配符有错误,google也找不到答案,最后就找了很久以前学习的时候的一个项目终于是让我找到了。**解决办法就是在struts.xml里面配置:**```xml```Done
Struts2 -
Python学习
今天看了看Python,感觉挺不错的,学一个脚本语言还是挺方便的。以后修改系统文件名什么的终于不用那么幸苦了,呵呵。我推荐现在已经学会了一门语言的开发者看看Python或者是Ruby学一个,语法简单,开发快。当然我推荐Python,语法看起来比较爽,如果你喜欢Ruby那一屏的美刀我也没辙。今天才开始不好写太多,以后慢慢补上。我的第一个例子:```python#coding:utf-8print"helloworld";```诶,各种碉堡了的语法和碉堡了的函数啊,虽然有很多很好用,但是感觉语法结构很随意啊。不过多行字符串输入的那个是个好东西,就是三个引号那种输入,要是Java有就好了,再也不用为长字符串输入转义而烦恼了。>20220521批注这么多年过去了,Java17开始终于正式支持多行文本了,也是三个引号😁😁😁
Python -
浏览器静态资源文件(CSS/JS/图片)不能正常加载
今天遇到了一个重来没有遇到的问题,浏览器控制台提示:```ResourceinterpretedasStylesheetbuttransferredwithMIMEtypetext/html:"http://www.xxxx.com/index.css".```诶,类型不对也不可能啊,服务器类型都没问题,同事的电脑访问都正常,直接敲地址也能访问。```Content-Type:text/html;charset=gb2312```控制台的类型是这个,确实不对啊,浏览器问题,换浏览器还是一样。什么问题呢?刚好同事提醒是不是安全卫士的问题,于是我关了TX电脑管家,果断正常了。这我就纳闷了,这怎么拦截我的CSS?不科学啊。原来我昨天启用了腾讯管家的广告拦截那个插件,TX这也太没有技术含量了,这也能当成广告过滤,不过应了那句话自作孽啊。还有一些浏览器:猎豹、360很多都自带广告拦截的,不知道有没有人也踩过坑了。
浏览器 静态资源