Java Web 开发
Clement-Xu
经验总结。
展开
-
同一个服务器部署多个Tomcat并用Nginx实现负载均衡分担
为了实现服务器升级不影响用户使用,有必要配置两个tomcat在一个或多个服务器中。下面介绍在同一个服务器配置两个Tomcat的过程。步骤如下:1、拷贝原来的Tomcat到另外一个目录,如:tomcat-8090,清除logs目录2、修改Tomcat中的server.xml文件,把shutdown和Connector端口修改成另外的数值,如8006/80903、修改startup原创 2015-03-06 19:22:08 · 7159 阅读 · 0 评论 -
项目报错:Cannot find class file for javax/servlet/ServletException
两种解决方法:1. 如果是Maven项目,添加servlet-api依赖包: javax.servlet javax.servlet-api 3.1.0 provided provided: 表示JDK或者容器会在Runtime时提供这些jar,部署时是不需要它的,因为应用服务器肯定有这些东西。provided的东西在编译和测试时会用到,不参与传原创 2015-06-28 11:38:28 · 7221 阅读 · 0 评论 -
SpringMVC统一转换null值为空字符串的方法
在Java Web中,如果数据库中的值为null,而不做任何转换的话,传到前端页面中会显示为null,影响美观。本文介绍一种如何简单地利用SpringMVC的<mvc:annotation-driven>和<mvc:message-converters>配置统一转换null值为空字符串的方法。原创 2014-12-26 11:05:30 · 13717 阅读 · 3 评论 -
Spring的多事务配置(多个Transaction Manager)和使用方法
大多数项目只需要一个事务管理器。然而,有些项目为了提高效率、或者有多个完全不同又不相干的数据源,最好用多个事务管理器。机智的Spring的Transactional管理已经考虑到了这一点,首先分别定义多个transactional manager,并为qualifier属性指定不同的值;然后在需要使用@Transactional注解的时候指定TransactionManager的qualifier原创 2015-08-04 13:00:14 · 31719 阅读 · 3 评论 -
定义不被SpringMVC拦截的静态资源(html, js, css等文件),通用方法,不需要每个目录都设置
springMVC的标签是在spring3.0.4出现的,主要是用来定义对静态资源的访问。上网搜了一下跟这个配置相关的文章,大多推荐用下面这种。可是,用这种的话,如果有一个新目录,就得新增一条配置,比较麻烦。 下面这种是直接根据静态文件的后缀来配置的,比较通用,不用为每个子目录配置一个: (原创文章,转载请注明转自Clemen原创 2015-07-05 15:05:57 · 27368 阅读 · 3 评论 -
web登录:随机验证码的设计和实现
本文特点: 针对验证码的生成做了很多算法优化和调整,支持一个典型的验证码生成和验证流程,利用缓存服务器解决聚群部署架构中数据同步的问题。基本需求:登录页面显示一个随机验证码图片、有背景干扰用户输入验证码大于3位之后,开始实时验证正确性,如果正确则在输入框后面提示(比如“√”)登录时,后台检查验证码是否正确支持服务器集群部署的架构(绝对原创,转载请注明转自Cl原创 2015-09-28 19:35:38 · 24796 阅读 · 7 评论 -
HTML5 jQuery+FormData 异步上传文件,带进度条
利用jQuery和html5的FormData异步上传文件的好处是:实现很简单很方便地支持进度条很方便地进行扩展和美化先看看效果图:图片上传后的结果:实现步骤如下:第一步:配置好SpringMVC + servlet3.0 文件上传所需要的各种资源,参考:http://blog.csdn.net/clementad/article/detai原创 2015-11-08 11:58:35 · 8860 阅读 · 4 评论 -
SpringMVC 返回数据的缺省格式
对于注解了@ResponseBody或RestController的类或方法,SpringMVC的缺省返回格式(JSON或XML)由引用的包决定。如果应用的是下面这个包,则返回JSON: com.fasterxml.jackson.core jackson-databind 2.6.0 如果应用的是下面这个包,则返回XML: com原创 2015-09-21 20:52:58 · 1469 阅读 · 0 评论 -
SpringMVC + servlet3.0 文件上传的配置和实现
简单几步,实现SpringMVC+servlet3.0文件上传功能:第一步:配置web.xml文件中的servlet,添加multipart-config: myWeb org.springframework.web.servlet.DispatcherServlet contextConfigLocation classpath:springmvc原创 2015-10-31 15:20:05 · 6559 阅读 · 0 评论 -
Ajax请求的跨域(CORS)问题
用浏览器,通过XHR(XMLHttpRequest)请求其他域名的数据时,会碰到跨域(CORS)问题。CORS:Cross-Origin Resource Sharing 什么是跨域?简单的来说,出于安全方面的考虑,浏览器页面中的JavaScript无法访问其他服务器上的数据,即“同源策略”。而跨域就是通过某些手段来绕过同源策略限制,实现不同服务器之间的通信。原创 2015-07-22 20:22:52 · 4981 阅读 · 2 评论 -
使用Filter防止浏览器缓存页面或请求结果
只需要两步:1、定义一个Filter:public class NoCacheFilter implements Filter{ @Override public void destroy(){ } @Override public void doFilter(ServletRequest req, ServletResponse resp, FilterChain cha原创 2015-07-05 16:01:26 · 3627 阅读 · 0 评论 -
JBoss vs. Tomcat
JBoss支持Servlet、Web Server和其他J2EE FeaturesServlet引擎使用Tomcat的内核SSL性能比Tomcat快4倍(据说)支持.net、PHP、CGI支持EJB比较耗费资源Tomcat是Servlet和JSP容器,Web Server轻量级、节省资源Spring+Tomcat是完美配合(据说)原创 2015-07-09 20:02:13 · 1756 阅读 · 0 评论 -
使用多个tomcat实现负载均衡后,tomcat端口不对外开放的情况下,实现精确访问tomcat的方法
背景:使用Nginx和两个Tomcat实现了负载均衡,并在防火墙中关闭了tomcat的端口(8080和8090),对外只开放80端口。Nginx配置如下:upstream tomcatCluster { server :8080 ; server :8090 ;}server{ listen 80;原创 2015-03-10 20:09:58 · 2792 阅读 · 0 评论 -
关于Tomcat的点点滴滴(体系架构、处理http请求的过程、安装和配置、目录结构、设置压缩和对中文文件名的支持、以及Catalina这个名字的由来……等)
总结Tomcat的体系架构、处理http请求的过程、安装和配置、目录结构、设置压缩和对中文文件名的支持、以及Catalina这个名字的由来……等。原创 2015-07-11 15:38:37 · 3634 阅读 · 0 评论 -
为什么HikariCP被号称为性能最好的Java数据库连接池,如何配置使用
HiKariCP是数据库连接池的一个后起之秀,号称性能最好,可以完美地PK掉其他连接池。本文从不同的方面说明其为什么这么优秀,以及在项目中如何配置使用。原创 2015-07-17 15:53:14 · 73176 阅读 · 15 评论 -
对Guava Cache的封装和使用(包括一个管理页面实现了查看统计信息、情况、查看记录等)
由于项目的实际情况,需要缓存一些比较不经常改动的数据在本地服务器中,以提高接口处理的速度。决定采用Guava Cache。现在,该系统已经实现,并已经在正式环境中运行了一段时间,日均总命中次数超过一百万,大部分缓存的命中率在98%以上,为某些接口的请求节省了一半的时间。本文介绍具体的实现详情。原创 2015-06-14 15:46:15 · 15563 阅读 · 11 评论 -
SpringMVC使用Map或MultiValueMap接收前端提交的Form Data或Query String
在SpringMVC中,可以使用Map或MultiValueMap接收前端提交的Form Data或Query String,省去定义一大堆不同的VO类。直接上代码:测试中需要依赖到的包: org.springframework spring-web 4.1.2.RELEASE org.springframework spring-webmv原创 2015-02-26 19:48:12 · 26463 阅读 · 4 评论 -
Maven打包时自动选择不同的配置(利用profile和filter插件)
项目开发时,一般都会部署到两套以上不同的环境中(比如开发环境和生产环境)。打包的时候需要修改配置文件中的很多信息、或替换不同的配置文件,很容易出错而且不方便。下面举例介绍如何利用Maven的profile和filter插件来解决这个问题——为不同环境打包前自动修改配置文件中的内容:假设有两个环境:开发环境生产环境配置文件目录为src/main/resources原创 2015-02-07 14:51:42 · 7570 阅读 · 0 评论 -
Java连接SQL Server 2000 (version 8)
对于古老的SQL Server 2000,连接方法有点特别。1、下载SQL JDBC 驱动,3.0版 的jar包(一定要3.0版的,4.0版的只能用在SQL server 2005版以上,而且Maven Repository找不到的,只能自己加入本地仓库或直接放入项目中)http://download.csdn.net/detail/clementad/8862363原创 2015-07-02 20:58:35 · 5298 阅读 · 0 评论 -
如何解决XML文件中的警告提示“No grammar constraints (DTD or XML Schema) referenced in the document.”
如何解决XML文件中的警告提示“No grammar constraints (DTD or XML Schema) referenced in the document.”原创 2015-06-01 18:17:02 · 14277 阅读 · 6 评论