
java web开发
文章平均质量分 69
wjxbj
这个作者很懒,什么都没留下…
展开
-
Java Web项目Chrome文件下载问题解决办法
工作中,一同事做下载功能时,在Chrome浏览器下不能正常,最后发现是需要对下载文件名做处理,特记录,源代码如下:response.reset();response.setContentType("application/octet-stream");String filename = "";if(httpRequest.getHeader("User-Agent...2017-01-26 09:40:12 · 1181 阅读 · 0 评论 -
监听器Listener
一.监听器介绍1.监听器的概念 监听器是一个专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动。监听器其实就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法立即被执行。 2.监听器案例——监听window窗口...原创 2016-07-13 23:22:20 · 169 阅读 · 0 评论 -
JAVA发送HttpClient请求及接收请求完整代码实例
在发送HTTP请求的时候会使用到POST和GET两种方式,如果是传送普通的表单数据,我们直接将参数到一个Key-value形式的Map中即可,随着JSON的应用越来越广,我们在很多场合需要传送JSON格式的参数。 下面我使用HttpClient类库提供的功能来实现这个,以便以后参考。一.完善SpringMVC工程 完善SpringMVC工...2016-07-09 15:51:45 · 3138 阅读 · 0 评论 -
Tomcat启动完毕后启动方法任务
Tomcat启动完成后再执行一个指定的方法,不影响Tomcat的启动时间。 本文主要介绍Tomcat启动真正完成后(即在eclipse的控制台上出现类似于Server started in 2300ms这样的消息后)执行一个操作。 如下的3种方法都是在Tomcat启动过程中执行的,这样会影响Tomcat的启动时间,从而造成Tomcat不能启...原创 2016-06-27 09:06:02 · 446 阅读 · 0 评论 -
java.lang.NoClassDefFoundError: org/apache/commons/collections/map/LRUMap解决方法
今天在开发过程中,碰到了java.lang.NoClassDefFoundError: org/apache/commons/collections/map/LRUMap问题,在此记录下,以免下次碰到能快速解决。 解决方法:在commons-collections-2.1.1.jar包中找到了LRUMap.class文件但他没在map文件夹下而是直接放在了col...原创 2016-06-17 22:51:10 · 991 阅读 · 0 评论 -
java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher异常解决方法
最近在做web项目时用到JSONObject,Eclipse编译未报错,但执行JSONObject jsonObject = new JSONObject()时却报java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher异常。 很明显是没有找到相应的class,原来是除了要导入json-lib-2.1-j...原创 2016-06-17 22:19:21 · 807 阅读 · 0 评论 -
Wireshark基本介绍和学习TCP三次握手
抓包工具wireshark用来获取网络数据封包,包括http,TCP,UDP,等网络协议包。 大学的时候就学习过TCP的三次握手协议,那时候只是知道,虽然在书上看过很多TCP和UDP的资料,但是从来没有真正见过这些数据包, 老是感觉在云上飘一样,学得不踏实。有了wireshark就能截获这些网络数据包,可以清晰的看到数据包中的每一个字段。更能加深我们对网络协议...原创 2016-05-25 23:24:05 · 149 阅读 · 0 评论 -
wireshark如何抓取本机包
在进行通信开发的过程中,我们往往会把本机既作为客户端又作为服务器端来调试代码,使得本机自己和自己通信。但是wireshark此时是无法抓取到数据包的,需要通过简单的设置才可以。 具体方法如下:方法一: 1.以管理员身份运行cmd 2.route add 本机ip mask 255.255.255.255 网关ip ...原创 2016-05-22 19:54:00 · 498 阅读 · 0 评论 -
Wireshark快速抓取HTTP数据包
一.前言 在火狐浏览器和谷歌浏览器中可以非常方便的调试network(抓取HTTP数据包),IE也可以用HttpWatch,360系列浏览器也可以使用HttpAnalyzer等工具,我个人推荐Fiddler工具。当然如果从浏览器端跟踪HTTP请求,以上工具我觉得都已经很满足要求了。 但要从网络层面来抓包,Linux下用tcpdump,Windows则强烈推荐...原创 2016-05-21 22:30:19 · 1618 阅读 · 0 评论 -
Apache HTTP Server和Tomcat的性能优化
现在很多公司用Apache和Tomcat做负载均衡,所以一定需要考虑对Apache和Tomcat进行性能优化,以便能够充分发挥硬件和软件的处理能力。一.Apache Http Server 影响性能的最核心特性:MPM(Multi-Processing Modules,多道处理模块),进入httpd-2.0.45目录,运行以下代码:$ ./config...原创 2016-05-18 22:38:47 · 189 阅读 · 0 评论 -
sendRedirect的URL请求中文乱码问题
在项目中有另外一系统请求我们的系统,我们会根据请求传入的入参数再进一步获取其它的参数,然后才sendRedirect到真正的请求上。在测试时发现,如果获取的其它参数中有中文汉字,再sendRedirect时出错,原因是地址栏上的中文汉字变成了乱码。 在网上看到说通过URLDecoder.decode(request.getParameter("param1")...2015-08-21 19:16:40 · 786 阅读 · 1 评论 -
response.sendRedirect(url)参数过长和中文乱码问题
一.参数过长 response.sendRedirect(url)是get传输,url长度最大限制在2k,如果url的参数是动态增长的,建议不使用此方法进行跳转,用forward进行跳转,使用setAttribute传递大数据。request.setAttribute("aa","大数据");request.getRequestDispatcher(url).forw...2015-08-21 22:44:27 · 1261 阅读 · 0 评论 -
Java Web文件下载
工作中,一同事做下载功能时,在Chrome浏览器下不能正常,最后发现是需要对下载文件名做处理,特记录,源代码如下:response.reset();response.setContentType("application/octet-stream");String filename = "";if(httpRequest.getHeader("User-Agent...2017-01-26 09:38:48 · 202 阅读 · 0 评论 -
Cookie入门及应用实例
最近在工作中,牛逼的前端为追求更好的体验,如对于无需与后台请求交互(纯前端的页面跳转、页面内容的展示),但Session已过期,用户操作后提交,后台再提示已过期,给用户的体验不好,于是想到了Cookie,具体如下:1.后台过依然在过滤器中以Session来进行是否过期的判断2.在过滤器中增加设置Cookie的逻辑,过期时间同Session,即从Sesion中获取用户信息...2017-01-24 17:49:29 · 322 阅读 · 0 评论 -
spring mvc使用@InitBinder标签对表单数据绑定
在SpringMVC中,bean中定义了Date,double等类型,如果没有做任何处理的话,日期以及double都无法绑定。 解决的办法就是使用spring mvc提供的@InitBinder标签。 在我的项目中是在BaseController中增加方法initBinder,并使用注解@InitBinder标注,那么spring mvc在绑...2016-03-12 20:30:23 · 257 阅读 · 0 评论 -
transfer-encoding:chunked的含义
Transfer-Encoding: chunked表示输出的内容长度不能确定,普通的静态页面、图片之类的基本上都用不到这个。 但动态页面就有可能会用到,但我也注意到大部分asp,php,asp.net动态页面输出的时候大部分还是使用Content-Length,没有使用Transfer-Encoding: chunked。 不过如果结合:C...原创 2016-03-06 20:45:49 · 445 阅读 · 0 评论 -
服务器使用Gzip压缩JSON数据报“socket write error: Connection reset by peer.”错误
现有服务器部署及问题出现点:原因分析: JsonDispatherHandler对response.getWriter()进行write和flush方法后,response.getWriter()就被Web服务器关闭了,这样在过滤器中去获取输出流并writer时,就会抛出Connection reset by peer的错误。 解决方法: ...2016-03-06 20:22:20 · 514 阅读 · 0 评论 -
IVY throws IOException Resetting to invalid mark原因及解决办法
当Ivy文件大于10K后,执行jar包加载后会报如下错:impossible to resolve dependencies: java.io.IOException: Resetting to invalid mark。 删除一些注释后,文件小于10K,下载又正常了。 查找了官方网站说明,确认是一个BUG:https://issues.ap...2016-02-16 18:34:28 · 1340 阅读 · 0 评论 -
Java Web XSS安全防御
XSS攻击简单来讲就是攻击者在请求中巧妙地加上执行脚本,达到攻击的目的。实践过滤器方案和JSP的EL表达式+JSTL标签库方案都还可以达到防XSS攻击的目的。一.过滤器方案XSSFilter.javapackage com.bijian.study.filter;import java.io.IOException;import javax.serv...2017-05-14 20:49:06 · 398 阅读 · 0 评论 -
服务器使用Gzip压缩数据,加快网络传输
服务器使用Gzip压缩数据,加快网络传输,提高页面性能。使用方法也很简单,在web.xml进行过滤器的配置即可,如下所示。<filter> <filter-name>gzipFilter</filter-name> <filter-class> net.sf.ehcache.const...2015-12-09 20:24:04 · 458 阅读 · 0 评论 -
js清除浏览器缓存的几种方法
一.关于浏览器缓存 浏览器缓存,有时候我们需要他,因为他可以提高网站性能和浏览器速度,提高网站性能。但是有时候我们又不得不清除缓存,因为缓存可能误事,出现一些错误的数据。像股票类网站实时更新等,这样的网站是不要缓存的,像有的网站很少更新,有缓存还是比较好的。今天主要介绍清除缓存的几种方法。 二.清理网站缓存的几种方法1.meta方法//不缓存<MET...原创 2016-08-08 23:15:54 · 991 阅读 · 0 评论 -
Tomcat不同版本所对应的Servlet/JSP规范
在别人机器上做演示,写好 Servlet居然访问不了。排查发现是是Tomcat版本不一致的问题,我用的是Tomcat 7.0建的Project,他们大多数都是用的6.0的版本。因为我用到了6.0版本不支持的特性—即为了省去在web.xml里指定URL的麻烦,我一般都是直接在Servlet里导入javax.servlet.annotation.*然后直接@WebServlet( "...原创 2016-05-08 16:01:54 · 220 阅读 · 0 评论 -
tomcat如何配置环境变量
下载安装tomcat,如何配置环境变量?配置过程中是否经常出现错误?下面小结了一下配置过程及注意事项。一.安装JDK和Tomcat1.安装JDK:直接运行jdk-7-windows-i586.exe可执行程序,默认安装即可。 备注:路径可以其他盘符,不建议路径包含中文名及特殊符号。2.安装Tomcat:直接解压缩下载文件"apache-tomcat-...原创 2016-05-08 15:56:17 · 922 阅读 · 0 评论 -
如何在eclipse中给tomcat增加设置参数
J2EE开发的时候经常会需要往tomcat服务器中配置一些参数,方便开发路径管理,并且在遇到一些堆溢出的问题时,需要增加一些参数的配置,那么如何在eclipse中给tomcat增加设置参数呢? 一.进入J2EE Eclipse,首先需要创建一个tomcat,这个可以通过J2EE自带的进行创建,也可以另行配置,按照安装向导即可完成。如图: ...原创 2016-05-08 15:30:40 · 829 阅读 · 0 评论 -
web.xml之Spring配置(基于Spring+Struts+Ibatis)
指定Spring配置文件位置<context-param> <param-name>contextConfigLocation</param-name> <param-value> /WEB-INF/spring-dao-bean.xml,/WEB-INF/spring-resources.xml, /WEB-IN...原创 2014-02-11 12:48:16 · 235 阅读 · 0 评论 -
web.xml之资源管理对象配置 resource-env-ref
resource-env-ref元素来指定对管理对象的servlet引用的声明,该对象与servlet环境中的资源相关联<resource-env-ref> <resource-env-ref-name>资源名</resource-env-ref-name> <resource-env-ref-type>查找资源时返回的资...原创 2014-02-11 12:47:29 · 368 阅读 · 0 评论 -
web.xml之Servlet配置
定义:<servlet> <servlet-name>myservlet</servlet-name> <servlet-class>com.myapp.controller.MyFirstServlet</servlet-class> <init-param> <param-name&原创 2014-02-11 12:47:11 · 161 阅读 · 0 评论 -
web.xml之jsp-config
1.作用:主要用于设定JSP页面的相关配置。2.常见定义:<jsp-config> <taglib> <taglib-uri>URI(定义TLD文件的URI,JSP页面的tablib命令可以经由此URI获取到TLD文件)</tablib-uri> <taglib-location> TLD文件所在的位置...原创 2014-02-11 12:46:36 · 201 阅读 · 0 评论 -
web.xml之welcome-file-list、error-page
welcome-file-list1.定义:<welcome-file-list> <welcome-file>login.jsp</welcome></welcome-file-list> 2.作用:用来指定WEB应用首页名称。 error-page1.定义:<error-page> ...原创 2014-02-10 12:55:02 · 335 阅读 · 0 评论 -
web.xml之session-config、mime-mapping
session-config1.定义:<session-config> <session-timeout>20</session-timeout></session-config>2.作用:用于定义整个WEB站点session的有效期限,单位是分钟。 mime-mapping1.定义:<mime-mapp...原创 2014-02-10 12:54:33 · 265 阅读 · 0 评论 -
web.xml配置详解之filter
一.定义<filter> <filter-name>encodingfilter</filter-name> <filter-class>com.my.app.EncodingFilter</filter-class> <init-param> <param-name>encoding&a原创 2014-02-10 12:54:00 · 169 阅读 · 0 评论 -
web.xml配置详解之listener
一.定义<listener> <listen-class>com.myapp.MyListener</listen-class> </listener> 二.作用 该元素用来注册一个监听器类。可以收到事件什么时候发生以及用什么作为响应的通知。事件监听程序在建立、修改和删除会话或servlet环境时得到通知。...原创 2014-02-10 12:53:34 · 383 阅读 · 0 评论 -
web.xml配置详解之context-param
一.格式定义:<context-param> <param-name>contextConfigLocation</param-name> <param-value>contextConfigLocationValue></param-value> </context-param>作用:...原创 2014-02-10 12:53:01 · 555 阅读 · 0 评论 -
使用GZip来压缩传输量
启动GZip压缩要用到一个开源的Filter:PJL Compressing Filter。这个Filter自1.5.0开始该工程开始构建于JDK5.0,因此在JDK1.4环境下只能使用1.4.6。 PJL Compressing Filter:这个servlet过滤器能够对写到response中的数据进行压缩。支持多种压缩算法(包括gzip,deflate等...原创 2015-01-21 12:50:06 · 152 阅读 · 0 评论 -
http认证原理和https
一.基础介绍 在URL前加https://前缀表明是用SSL加密的。 你的电脑与服务器之间收发的信息传输将更加安全。 Web服务器启用SSL需要获得一个服务器证书并将该证书与要使用SSL的服务器绑定。http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。http的连接很简单,是无状态的。 HTTPS...原创 2015-01-24 14:41:25 · 343 阅读 · 0 评论 -
JSON串转换成Map以及如何转换到对应的数据类型
在实际开发中,难免会碰到JSON串转换成Map的情况,下面来看看这方面的实例。另外,由于fastjson只支持JDK1.5及以上版本,因此在JDK1.4的项目中可以采用net.sf.json来处理。一.fastjson实例JsonUtil.javapackage com.study;import java.util.ArrayList;import ja...2015-06-11 20:16:39 · 1891 阅读 · 0 评论 -
fastjson简单使用实例
一.简介 阿里巴巴fastjson是一个Java语言编写的高性能功能完善的JSON库。它采用一种“假定有序快速匹配”的算法,把JSON Parse的性能提升到极致,是目前Java语言中最快的JSON库;包括“序列化”和“反序列化”两部分,它具备如下特征: a.速度最快,测试表明,fastjson具有极快的性能,超越任其他的Java Json parser。包括自...原创 2015-06-07 22:12:48 · 183 阅读 · 0 评论 -
http请求测试实例(采用json-lib解析)
由于fastjson只支持JDK1.5版本,因些对于JDK1.4的项目,可以采用json-lib来解析JSON数据。如下是http请求的另外一种写法,仅供参考。package com;import java.util.HashMap;import java.util.Map;import net.sf.json.JSONObject;import...原创 2015-06-07 22:09:10 · 350 阅读 · 0 评论 -
http请求测试实例(采用fastjson解析)
在实际开发中,我们经常会去做http请求的开发,下面则是如何请求的单元测试小实例,仅供参考。import java.util.HashMap;import java.util.Map;import org.apache.commons.httpclient.HttpClient;import org.apache.commons.httpclient.Nam...原创 2015-06-07 22:08:30 · 348 阅读 · 0 评论 -
一种基于Weblogic容器的鉴权设计
服务器对请求的鉴权可以在请求头中加Authorization之类的key,将用户名、密码保存到此key对应的value中,当然对于用户名、密码这种高机密的信息,应该对其进行加砂加密等,最简单的方法如下:String vuser_id = "weblogic";String vuser_pwd = "weblogic";;String loginInfo = vu...2015-06-06 18:10:06 · 160 阅读 · 0 评论