java web
文章平均质量分 62
调皮的芋头
我是一个非常勤奋、自信的人。
GitHub:https://github.com/liuyu520
展开
-
阿里巴巴2024届校园招聘
ali招聘:https://alidocs.dingtalk.com/i/p/nb9XJ1l9KM1xOzyA/docs/6LeBq413JA9BOdm2ipvk2w0eJDOnGvpb原创 2023-03-08 11:00:02 · 406 阅读 · 0 评论 -
java 中反射的应用
java 中反射的应用: 1,获取指定类的所有成员变量,包括父类的成员变量:/*** * get all field ,including fields in father/super class * * @param clazz * @return */ public static List getAllFields(Class clazz) {原创 2013-07-28 22:42:05 · 643 阅读 · 0 评论 -
struts Caused by: no protocol dtd - Class: java.net.URL
情景:项目使用了struts2 框架,部署到tomcat中,而tomcat所在机器没有联网(处于公司安全方面的原因),所以启动tomcat时,报错:tomcat Unable to load configuration. - Class: java.net.SocketInputStream因为struts配置文件如下: "-//Apache Software原创 2013-08-07 14:06:52 · 1152 阅读 · 0 评论 -
java web http请求转发
java web,如何获取request中的请求参数呢?/*** * Get request query string * @param request * @return byte[] */ public byte[] getRequestStr(HttpServletRequest request){ int contentLength = request.get原创 2013-08-12 22:25:38 · 6063 阅读 · 0 评论 -
登录凭证的方式(公司使用cookie)
效果: 在同一个浏览器中登录了应用A ,就可以在该浏览器中直接访问应用B,而不用重新登录. 具体实现原理: 1,登录之前访问 认证系统的动态口令接口,获取动态口令:auth_token 同时会返回cookie:CCC ,目的:把浏览器和 auth_token 挂钩 等浏览器访问其他应用时,把该CCC带过去. 2,登录时参数包括(1)中返回的auth_token ; 3,访问应用B 时,原创 2015-09-11 16:05:34 · 2555 阅读 · 0 评论 -
图形验证码one
Servlet形式的图形验证码servlet代码如下:package com.common.web.servlet.verifycode;import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.image.BufferedImage;import java.io.IO原创 2015-09-29 11:19:11 · 418 阅读 · 0 评论 -
让tomcat支持https访问
如何让tomcat支持https访问呢 步骤:(1)生成keystore文件命令:keytool -genkey -alias tomcat -keyalg RSA -keysize 1024 -validity 365 -keystore tomcat22.keystore 生成的文件 就是:tomcat22.keystore (2)把keystore 文件放在conf目录下(3)修改ser原创 2016-01-15 19:50:44 · 4391 阅读 · 0 评论 -
解决IE 没法访问https 的问题
解决IE 没法访问https 的问题 点击“Internet 选项”, 进入“高级”选项卡,然后选中原创 2016-01-16 11:05:52 · 7116 阅读 · 1 评论 -
nginx启动和停止
nginx启动和停止linux中启动sudo nginx启动报错初次启动时,会报如下错误/usr/local/nginx/nginx8011/sbin/nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory执行下列语句,就O原创 2016-01-16 11:36:40 · 340 阅读 · 0 评论 -
failed to lazily initialize a collection of role: , could not initialize proxy - no Session
hibernate 报错信息如下:严重: Servlet.service() for servlet [spring2] in context with path [/convention] threw exception [Request processing failed; nested exception is org.hibernate.LazyInitializationException原创 2016-01-23 13:32:08 · 2308 阅读 · 0 评论 -
freemark如何判空容错
freemark如何判空容错呢? freemark是什么? freemark是java后台的模板语言 如果模板使用vm中没有的变量就会报错 怎么办呢? 针对使用场景分为两种:(1)用于页面显示<td><span class="info-date">${old_order_startTime!'--'}使用感叹号,如果没有设置值,就使用感叹号后面的”–”为默认值 实例: (2)用于判原创 2016-01-15 20:41:58 · 914 阅读 · 0 评论 -
登录凭证的方式
目前登录凭证的方式无非两种: 一个是通过服务器端的session,一个是通过浏览器的cookie. 简而言之:session和cookie常规的是通过session 步骤: 1,用户在浏览器登录 2,后台鉴权,若登录成功,则把用户信息写入session,servlet自动生成JSESSIONID 返回浏览器; 3,浏览器把JSESSIONID 写入cookie 说明:cookie是浏览原创 2015-09-11 15:13:15 · 6219 阅读 · 0 评论 -
freemark 判断list是否为空
freemark 判断list是否为空 <#if orgList?? && (orgList?size > 0) > <#else> <li class="T-creat">您还没有企业,请创建新企业<a href="javascript:void(0)" id="add-org-a" >立即创建</a></li> </#原创 2016-03-11 14:43:10 · 48149 阅读 · 3 评论 -
防xss攻击,需要对请求参数进行escape吗?
防xss攻击,需要对请求参数进行escape吗? 先看一个测试: 请求: http://localhost:8080/testapi/testapi?apiPath=http%3A%2F%2Fhbjltv.com%2Finfo%2Frequest%3Fusername%3Dhuang%26password%3Dadmin 解码之后就是: http://localhost:8080/testa原创 2016-04-08 23:28:14 · 3510 阅读 · 0 评论 -
监测第三方接口的应答状态
监测第三方接口的应答状态 有时候第三方接口不可访问,比如返回502(服务宕了),403(拒绝访问),导致程序报错. 经常是用户访问不了,或界面报错, 然后开发同学吭哧吭哧地排查,结果发现是协作方接口的问题,费力不讨好. 为了检查第三方接口的可用性,我写了一个接口,如下:package com.girltest.web.controller;import com.common.util.Syst原创 2016-04-09 18:56:42 · 880 阅读 · 0 评论 -
url传递参数乱码
url传递参数乱码 解决方法:原创 2016-06-12 18:29:44 · 404 阅读 · 0 评论 -
[转载]11条Java异常处理的最佳实践
11条Java异常处理的最佳实践 在之前关于Java异常的文章中,已经探讨过suppressed exceptions和Java Exceptions Tutorial 两个方面的内容。要想在实际项目中正确处理Java异常,你应该熟练掌握一些Java异常处理的最佳实践。不要 在catch语句块中压制异常public class ExceptionExample { public FileInput转载 2016-06-12 20:36:20 · 369 阅读 · 0 评论 -
java编程最佳实践
java编程最佳实践 jsp中引用资源永远使用绝对路径 不应该像下面这样:<script type="text/javascript" src="../static/js/mypassion.js"></script> <script type="text/javascript" src="./static/js/tv.js"></script> <script type="te原创 2016-06-13 21:48:12 · 743 阅读 · 0 评论 -
http 状态码的使用
http 状态码的使用 302 什么情况会出现302呢? 服务器端跳转(response.sendRedirect) 比如我访问http://blog.hbjltv.com/convention/test/list 但是拦截器发现没有登录,就在服务器端跳转到登录页面(http://blog.hbjltv.com/convention/user/loginInput)@Override原创 2016-07-01 09:48:22 · 967 阅读 · 0 评论 -
couldn't clear tomcat cache
couldn’t clear tomcat cachestruts2 项目中报错 在网上查到的方案是:升级Struts2的版本 我把Struts的版本由2.3.4.1 升级到了2.5.1但是启动tomcat时报错: ERROR StatusLogger Log4j2 could not find a logging implementation. Please add log4j-core t原创 2016-07-01 14:54:44 · 5624 阅读 · 0 评论 -
查看错误信息
查看错误信息网站上线之后,可能会出现bug,此时需要查看后台日志,这时就遇到了困难. 第一,因为查看日志,需要找运维,很麻烦 第二:线上日志很多,很杂,因为多个应用部署在同一个tomcat上, 所以tomcat日志文件包含多个项目的文件,不方便过滤.所以决定以后查看日志不依赖运维.怎么办呢? 把核心接口的错误信息存储到redis中,并开发查看redis的接口.查看redis的接口@Reque原创 2016-07-14 16:18:39 · 752 阅读 · 0 评论 -
总结下最近工作中犯的错误
总结下最近工作中犯的错误 误用BeanUtils.copyProperties注释掉未使用的局部变量 但是方法updateAccessTokenByCode(request, response, authRs)中是有业务逻辑的在集测增加https的强制跳转导致ios中调用接口返回null昨天我们在ios中测试,发现总是不对,后来才发现集测跟几个月前不同,因为增加了https的自动跳转. resp原创 2016-06-22 10:26:50 · 1053 阅读 · 0 评论 -
freemark常见用法
freemark常见用法 使用boolean变量window.canBuyMore=true; window.buyMorePeroid=${buyMorePeroid!0}; window.isSuite=${isSuite?c};/*http://stackoverflow.com/questions/19330013/freemarker-boolean-att原创 2016-05-12 10:05:30 · 6428 阅读 · 0 评论 -
Java获取用户ip
Java 如何获取客户端IP呢? 下面是我总结的几种方法:/** * 获取客户端ip地址(可以穿透代理) * * @param request * @return */ public static String getRemoteAddr(HttpServletRequest request) { String ip =原创 2015-05-31 21:31:03 · 14779 阅读 · 7 评论 -
google guava事件总线用法
Google EventBus组成部分事件(什么类型的事件);事件监听器,即事件处理程序(响应);注册事件监听器(register);触发事件(trigger/post);实例事件,可以是任何自定义对象 /** * Created by whuanghkl on 17/6/22.<br /> * 自定义事件 */public class AccessLoggerEvent {}事原创 2017-06-22 08:59:18 · 1848 阅读 · 0 评论 -
IDEA 配置优化 提高开发效率
IDEA 配置优化,提高开发效率去掉烦人的indent提示 如何去掉呢? 打开IDEA 的preferences|Editor|Code Style, 去掉下图中的两个勾选: 设置文件的模板我们创建一个java文件时,会在类的上面自动添加注释,包括作者和日期. 其实我们可以定制这个自动添加的注释: 原来是这样的: 修改为: 定制自己的snippetsnippet就是代码片段 用原创 2016-04-04 20:35:42 · 33587 阅读 · 2 评论 -
struts2 ValueStack的set方法与setValue方法的区别
struts2中 ValueStack的set方法与setValue方法的区别呢?示例代码:ActionContext.getContext().getValueStack().setValue("myname22", "ttt"); 区别:(1)setValue 方法必须要求有该属性的setter方法,否则会报错:Error setting expression'myna...2013-05-10 15:24:33 · 220 阅读 · 0 评论 -
使用chain方式,在第二action中获取第一个action中actionMessage
为什么采用chain 方式时,没有复制Errors, Field errors and Message? struts.xml中配置如下:<struts> <constant name="struts.devMode" value="true" /> <package name="default" namespace="/" extend2013-05-23 14:18:48 · 143 阅读 · 0 评论 -
[转载]难经3:Struts2,拦截器拦不住Result?
[问题]使用Struts2作为web框架,知道它的拦截器(Interceptor)机制,类似与Filter和Spring的AOP,于是实现了一个为Action增加自定义前置(before)动作和后置动作(after)的拦截器(曰:WInterceptor),不过用一段时间发现,在WInterceptor的after中,对Action对象的属性修改在页面看不到,对请求对象的属性设置也无效。为什...原创 2013-05-31 13:47:38 · 88 阅读 · 0 评论 -
使用spring aop aspect为什么没有被调用
使用spring aop aspect为什么没有被调用?我在Java web项目中使用到了spring 的aop,记录用户连续登录失败的次数,如果连续登录失败的次数达到3次,则在当前 时间段内禁止登录。aop的配置如下:<aop:config> <aop:pointcut id="userServicePointcut" expression="e...原创 2013-06-04 19:39:13 · 849 阅读 · 0 评论 -
struts2 项目中使用filter获取
我在ssh 项目中使用过滤器filter 拦截一个请求,然后在filter中想获取request(使用),然后获取请求体。filter中部分代码如下: for (int i = 0; i < contentLength;) try { int readlen = request.getInputStream().read(buffer, i, ...原创 2013-06-05 09:45:00 · 260 阅读 · 0 评论 -
Spring AOP会忽略从父类继承的方法
Spring aop会忽略从父类继承的方法。在项目中,我想拦截所有的dao类,结构如下:dao ---| generic ---| GenericDao ---| GoodsDao ---| SupermarketDao ---| UserDao下面的三个dao 继承自 统一的父类(GenericDao),在beans.xml...2013-06-05 11:23:18 · 1467 阅读 · 0 评论 -
java 删除空行
java 中会经常处理字符串,需要删除其中的空行,而且要删除仅包含Tab、空格的空行。范例如下:@Test public void deleteBlankLines4(){ String input="aa\r\n\t\r\nbb\r\n\r\n\r\ncc\r\naa\n\nbb\n\n\ncc\n"; System.out.println(input); Sys...2013-06-14 17:23:09 · 990 阅读 · 0 评论 -
java base64编码的三种方式
java 中如何使用base64编码呢?有如下三种方式:方式一:commons-codec.jarString base64String = "whuang123"; byte[] result = Base64.encodeBase64(base64String.getBytes()); 方式二:使用sun.misc.BASE64Encoder/** * 编...2013-11-05 15:46:38 · 2202 阅读 · 0 评论 -
【转载】Nexus添加新Repository后Maven仍找不到jar包的解决方案
Maven是个好东西,除了可以像ant一样构建外,还可以让我们申明式的取得jar包并且处理依赖包问题。maven好虽好,但他的jar包都是要去联网下载的,如果网上没有jar(比如oracle驱动、ibe接口等),或者不能上网(比如我们公司的内外网分离),那他就费了。 所以,maven需要个伙伴那就是“私服”,个人只接触过nexus,所以就用nexus了。。。 几步配置以后(很简单 网上很多教程),...原创 2013-06-24 10:34:34 · 682 阅读 · 0 评论 -
【转载】 Eclipse 插件Maven在使用 add dependency,找不到包,解决办法
通过右键单击pom.xml文件选择maven –> add dependency 或者是打开pom.xml文件,选择dependencies –>add 时,搜索不到依赖的jar包,解决方法如下:1、eclipse菜单 window-> show view –> other –> Maven2、在打开的窗口里,右键 local repositories –&...原创 2013-06-27 10:01:11 · 513 阅读 · 0 评论 -
zip压缩解决文件名中文乱码问题(2)
使用apache旗下的commons-compress 压缩和解压zip文件可以参考我的前一篇博客:http://hw1287789687.iteye.com/blog/1976309以下是我封装的一个工具类,专门负责zip的压缩和解压 CompressZipUtil:package com.common.util;import java.io.File;impo...2013-11-18 15:55:37 · 1377 阅读 · 0 评论 -
获取指定个数指定范围的随机数
我有这样的需求:我有100道试题,id是0到99,我想从中找出20道试题组成一个试卷,要求试题不重复,打乱顺序:/** * 产生无重复的随机数 sumInt:总样本 (0....sumInt-1) * resultSum: 产生的随机数个数 * * @return */ public static int[] randoms(int sumInt...2013-07-04 13:29:14 · 257 阅读 · 0 评论 -
JTable隐藏某列后如何再恢复显示?
下面是我总结的一个操作表格列隐藏和显示的工具类:package com.swing.table;import javax.swing.JTable;import javax.swing.table.TableColumn;import javax.swing.table.TableColumnModel;public class TableUtil3{ ...2013-07-09 11:31:37 · 259 阅读 · 0 评论 -
excel导入导出组件设计
这是我设计的excel导入导出组件,使用java 编写,通过xml文件的配置,来设置excel到java bean的映射。关键(配置)文件:ExcelModeMappingl.xml。之前一直为excel的导入导出烦恼,每写一次都感觉是“重复造轮子”,代码很繁琐,可移植性特别差。终于下决心写一个可重用性很高的组件,专门解决“重复造轮子”的问题。 xml配置文件名称:ExcelMode...2013-07-11 13:20:49 · 333 阅读 · 0 评论