java web
封宸落宇
IT码农,技术为java web方向,android应用和IOS应用开发
展开
-
理解RESTful架构
越来越多的人开始意识到,网站即软件,而且是一种新型的软件。这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点。网站开发,完全可以采用软件开发的模式。但是传统上,软件和网络是两个不同的领域,很少有交集;软件开发主要针对单机环境,网络则主要研究系统之间的通信。互联网的兴起,使得这两个领域开始融合,现在我们必转载 2013-10-22 14:32:49 · 611 阅读 · 0 评论 -
【Java+Maven】问题系列——Cannot change version of project facet Dynamic Web Module to XX.XX
网上搜了好多,都是说将.settings文件夹下的org.eclipse.wst.common.project.facet.core.xml文件中的jst.web改为你需要的版本,例如2.5.可是,可是,这样完全是不全面的。这只是绕过了Eclipse的检查,它检查这样是没法修改的,你改了也没有从根本上解决问题。大菜来了,解决的方法在下面。需要修改 project的 prop原创 2014-12-09 09:56:14 · 1441 阅读 · 0 评论 -
【maven】—— pom.xml配置用法大全
知道干什么的,而不知道配置这也是头疼的,这里包含了非常多的用法。后续我也会将我在使用中出现的问题再开博客详细讲解。POM包括了所有的项目信息groupId:项目或者组织的唯一标志,并且配置时生成路径也是由此生成,如org.myproject.mojo生成的相对路径为:/org/myproject/mojoartifactId:项目的通用名称version转载 2014-12-05 13:50:59 · 1761 阅读 · 0 评论 -
【Java+Maven】问题系列——Maven 报错 Missing artifact xxx:xxx:bundle:xx.xx.xx
这个问题可能是依赖的项目打包成bundle造成,比如mina就是这样的,打包成bundle,例子: org.apache.mina mina-core 2.0.4 bundle compile 然后需要添加一个bundle插件: org.apache.felix maven-bundle-plugin原创 2014-12-09 17:47:53 · 1642 阅读 · 0 评论 -
【Java】Quartz CronTrigger触发时间最完整配置说明
格式: [秒] [分] [小时] [日] [月] [周] [年] 序号说明 是否必填 允许填写的值允许的通配符 1 秒 是 0-59 , - * / 2 分 是 0-59 , - * / 3小时 是 0-23 , - * / 4 日 是 1转载 2015-11-25 11:23:10 · 2003 阅读 · 0 评论 -
【Java】利用Gearman进行Mysql到Redis的复制
开始的架构图已经有写得非常漂亮的。我这里就不重新再编辑了。java 版本实现job server和worker从第6点开始,红色部分是我遇到的一些坑。。。1, 环境CentOS 64位, MySQL, Redis, Javamysql安装通过lnmp进行安装。所以默认安装路径为/usr/local/mysql2, Redis简介Redis是一个开源的K-V内存数据库,它的k...原创 2015-12-10 18:00:48 · 4878 阅读 · 5 评论 -
【Java】java和android网络编程 - 对byte数组压缩和解压缩(zip,gzip,bzip2,jzlib)
无论是java还是android 都需要对网络字节进行加密和压缩。这里转载了一些压缩和解压缩的方法,可用于android的网络编程//导入bzip2.jar和jzlib相关java文件 import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io转载 2015-10-07 15:05:26 · 2672 阅读 · 1 评论 -
【Linux服务器搭建】——在linux上安装mysql5、tomcat8和jdk8并部署应用
Linux作为java web服务器是首要选择。在工作中也会搭建服务器。今天尝试在linux上搭建tomcat服务器。linux:susejdk:jre 1.8tomat:8.0.9mysql:5.5.39服务器是用的阿里云服务器。2G内存,双核CPU。1、mysql安装下载地址可以使用sohu的镜像进行下载 ,地址:http://mirrors.soh原创 2014-08-03 15:57:19 · 2474 阅读 · 0 评论 -
【Java】Eclipse最实用的快捷键(持续更新)
做java开发,eclipse作为首选编辑器,我也一直是用它,那总结和收集了一些提高开发效率的快捷键。收藏和查阅。1. shift+enter及ctrl+shift+enter Shift+enter在当前行之下创建一个空白行,与光标是否在行末无关。Ctrl+shift+enter则在当前行之前插入空白行。2. Alt+方向键上下(不复制移动),左右(返回历史编辑框)原创 2015-08-20 09:38:35 · 1321 阅读 · 0 评论 -
【Java】HTTP Web调试工具Fiddler介绍和使用教程
Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据. 使用Fiddler无论对开发还是测试来说,都有很大的帮助。Fiddler的基本介绍Fiddler的官方网站: www.fiddler2.comFiddler官方网站提供了大量的帮助文档和视频教程, 这是学习Fid转载 2015-12-25 15:38:26 · 1736 阅读 · 0 评论 -
【Java】spring-MVC 使用中莫名的400解决方法
今天很郁闷,页面上一个update方法和一个add方法,update方法可以发送到Controller上,可add方法一直出现400错误。400啊,大家都知道是什么意思,可是明明就有啊。哪来的400呢。百思不得其解啊。解决思路和办法:springmvc的总调度器DispatcherServlet负责所有的请求。找到请求入口了还怕找不到问题???protected voi原创 2015-12-25 15:45:38 · 5162 阅读 · 2 评论 -
【Mysql】—— 利用Canal进行数据库备份或者缓存等场景安装、配置的最佳实践
本文主要描述Alibaba Canal中间件,官方文档请参考: 1)gitlab:https://github.com/alibaba/canal 2)主要原理介绍:https://github.com/alibaba/canal/wiki/canal%E4%BB%8B%E7%BB%8D 2)运维操作文档:https://github.com/alibaba/canal/wiki...转载 2018-03-03 15:18:57 · 6067 阅读 · 2 评论 -
【Tomcat】-- Tomcat + Nginx反向代理https和wss并解决获取客户端真实IP、域名、协议、端口
刚开始只做了http和ws,由于做小程序必须要https和wss,无奈将服务器http进行https转换,ws做wss转换。首先我们得申请https证书,请参考前面的博客。第二全站https化原创 2017-08-14 15:25:43 · 5285 阅读 · 1 评论 -
【Tomcat】-- 小程序开发 tomcat 申请阿里云HTTPS配置
小程序现在火啊,公司也需要搞搞!从阿里云申请了一个免费的证书,可必须需要支持https,现在配置笔记如下:从阿里下载的证书内容包括:pfx,pem和key三个文件。Tomcat的SSL配置分为两种情况:使用APR、不使用APR,这两种情况下的SSL配置各不相同。 我们可以在Tomcat的how-to文档中查到这两种情况下的配置方法,链接:http://tomcat.apac原创 2017-08-02 16:24:26 · 703 阅读 · 0 评论 -
【Spring】-- spring websocket样例
App将做微信小程序的版本了,由于用到了TCP推送,所以需要用websocket实现一遍。利用spring 的websocket来实现还是很简单的。这里有一个非常大的坑,由于我这个是纯只做websocket连接的,想开始将spring mvc给去掉。确怎么也连不上,这里还是需要对websocket的原理知晓一些。它是先走http再走tcp的。所以spring mvc必须要!spring mvc原创 2017-02-24 08:44:17 · 1001 阅读 · 0 评论 -
【Tomcat】-- tomcat生产环境性能参数优化和APR优化
tomcat默认参数是为开发环境制定,而非适合生产环境,尤其是内存和线程的配置,默认都很低,容易成为性能瓶颈。 tomcat内存优化linux修改TOMCAT_HOME/bin/catalina.sh,在前面加入JAVA_OPTS="-XX:PermSize=64M -XX:MaxPermSize=128m -Xms512m -Xmx1024m -Duser.tim转载 2017-02-09 11:46:31 · 3009 阅读 · 0 评论 -
【Spring-MVC】系列学习文章,值得收藏
2013-12-27 14:33:435分钟构建spring web mvc REST风格HelloWorld 交流分类:Java 当然写本文的目的不是为了速度,只是表明现在构建一个Spring web mvc Rest风格的HelloWorld应用会很简单。不过如果看过Spring Boot这个项目,可能只需要最多3分钟就能构建一个简单的Rest风格应用。回头研究下,然后转载 2016-04-23 11:00:24 · 755 阅读 · 0 评论 -
【Spring】spring-mvc hibernate druid jdbc等数据源事务配置详解(解决注解事务不生效问题)
今天把工程事务不生效的事情个解决了。所有的配置都是正常的,就是不知道为什么事务不生效。工程架构为spring-mvc + spring + druid 首先说下spring的事务:Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource、TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分。 Data原创 2016-04-12 17:10:14 · 3846 阅读 · 0 评论 -
【Java】分析JAVA应用CPU占用过高的问题
使用jstack分析java程序cpu占用率过高的有关问题1,使用jps查找出java进程的pid,如37072,使用top -p 14292 -H观察该进程中所有线程的CPU占用。[plain] view plain copy print?[root@cp01-game-dudai-0100.cp01.baidu.com ~]#转载 2016-04-06 19:29:17 · 777 阅读 · 0 评论 -
【apache-commons】一 io包 它是一个文件和IO流操作的源码通用工具包
Commons IO是apache的一个开源的工具包,封装了IO操作的相关类,使用Commons IO可以很方便的读写文件,url源代码等.包名:commons-io-1.3.2.jar普通地读取一个网页的源代码的代码可能如下InputStream in = new URL( "http://laoyu.info" ).openStream(); try {原创 2015-07-16 15:47:37 · 1281 阅读 · 0 评论 -
【Java】日志知识总结和常用组合配置(commons-logging,log4j,slf4j,logback)
Log4j Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务 器、NT的事件记录器、UNIX Syslog守护进程等;用户也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,用户能够更加细致地控制日志的生成过程。这些可以通过一个 配置文件来灵活地进行配置,而不需要修改程序代码。 LOGB原创 2015-07-29 17:08:10 · 1780 阅读 · 0 评论 -
java多线程之查看当前线程的信息
在当前类利用Thread的静态方法就能获取到当前执行线程的信息:Thread thread = Thread.currentThread(); thread.getId(); thread.getName();...多线程情况下,可以知道正在执行这段代码的线程信息!原创 2014-02-26 17:53:29 · 1585 阅读 · 0 评论 -
java锁机制 - Lock ReadWriteLock Condition
内置锁 Java提供了一种内置的锁机制来支持原子性:同步代码块(synchronized 关键字 ),同步代码块包含两部分:一个作为锁的对象的引用,一个作为由这个锁保护的代码块。synchronized { //代码块} 每个Java对象都可以用做一个实现同步的锁,这些锁被秒为内置锁(Intrinsic Lock)或监视锁(Monitor转载 2014-02-26 17:49:38 · 2630 阅读 · 1 评论 -
设计模式之单例模式 深入探究
众所周知单例模式有有饿汉式与懒汉式两种。当一个单例类的初始化开销很大,而希望当用户实际上需要的时候才去创建单例类,就会考虑使用懒汉式延迟初始化,来提高程序的启动速度。但懒汉式并不容易使用。 在多线程的环境下,如果不同步getInstance()方法会出现线程安全的问题,如果同步整个方法,那么getInstance()就完全变成串行,串行效率会降低10倍甚至100倍。因此,有些聪明的程序员就把C转载 2014-02-26 09:37:55 · 983 阅读 · 0 评论 -
JAVA NIO高效处理优化 -- 使用EPoll
5种IO模型:阻塞IO非阻塞IO多路复用信号驱动IO异步IO -- 《Unix网络编程》JDK 6.0 以及JDK 5.0 update 9 的 nio支持epoll (仅限 Linux 系统 ),对并发idle connection会有大幅度的性能提升,这就是很多网络服务器应用程序需要的。启用的方法如下:-Djava.nio.chan转载 2014-02-24 11:14:42 · 3649 阅读 · 1 评论 -
利用jstack分析JAVA应用CPU占用过高的问题
使用jstack分析java程序cpu占用率过高的有关问题1,先在linux下用ps -ef | grep java 找出java进程的pid,如14874ps -ef | grep javaroot 14874 1 6 15:20 ? 00:04:55 ./jdk1.6.0_31/jre/bin/java -Djava.util.logging.conf原创 2014-02-22 16:48:33 · 4049 阅读 · 0 评论 -
打造高性能、高流量Java Web站点的22条建议
原帖:http://www.csdn.net/article/2013-12-20/2817861-22-recommendations-for-building-effective-high-traffic-web-application/1转载过来免得找不到了,供自己在工作中学习的参考!从2005年-2013年,Ashwanth Fernando曾供职于转载 2013-12-27 10:56:21 · 1074 阅读 · 0 评论 -
C3P0 数据库连接池 详细配置 解决mysql连接8小时之后连接异常的问题
c3p0详细配置官方文档 : http://www.mchange.com/projects/c3p0/index.html3301000false属性preferredTestQuery将被忽略。你不能在这张Test表上进行任何操作,它将只供c3p0测试使用。Default: null-->Test保留,转载 2013-11-11 11:07:13 · 4896 阅读 · 0 评论 -
java利用https请求服务器
废话不多说上一个例子:这个例子屏蔽了证书。/** * https请求类 */package com.zte.ucm.ssologin.ssoclient;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import ja原创 2013-10-31 16:25:21 · 14320 阅读 · 2 评论 -
【Java】—— java Web 启动时自动执行代码的几种方式(总有些代码需要在虚拟机启动时执行)
Web容器启动后执行代码的几种方式其执行顺序为:4===>5===>1===>2===>3即指定init-method的Bean开始执行接着实现Spring的Bean后置处理器开始执行然后是Servlet的监听器执行再接下来是Servlet的过滤器执行最后才是Servlet执行1、实现Servlet监听器接口ServletContextListenerpublic clas...原创 2014-02-26 16:39:49 · 15766 阅读 · 1 评论 -
JDK 内置工具 jstack,javah,jps,jstat,jmap,jinfo,jconsole,jhat,jdb,jvisualvm 的作用和使用
既然人家有了如此有条理的阐述,我就不再详细描叙了,详细地址:http://blog.csdn.net/fenglibing/article/details/6411999做一个提纲提示自己各个命令都有什么作用!1、 jps命令(Java Virtual Machine Process Status Tool)用来查看基于HotSpot的JVM里面中,所有具有访问权限的Java进程的具体转载 2014-02-19 14:22:37 · 2740 阅读 · 0 评论 -
【Memcached】linux centos 安装memcached和它的常用基本操作
centos安装memcached1、查看memcached是否有版本。[root@iZ94uyronrjZ bin]# yum list memcachedLoaded plugins: securitybase原创 2015-07-25 19:43:13 · 2626 阅读 · 0 评论 -
【Java】NIO框架Netty——100万并发连接服务器资源消耗测试
前言每一种该语言在某些极限情况下的表现一般都不太一样,那么我常用的Java语言,其比较有名的NIO框架有:mina,netty和Grizzly,在达到100万个并发连接情况下,会怎么样呢,有些好奇,更有些期盼。这次使用经常使用的顺手的netty NIO框架(netty-3.6.5.Final),封装的很好,接口很全面,就像它现在的域名 netty.io,专注于网络IO。整个过程没有什么技术含量转载 2015-02-11 14:36:08 · 11576 阅读 · 1 评论 -
Eclipse进行远程调试linux 环境的tomcat配置 更新maven web项目
在网上找了找关于远程调试的配置,记录在这里以备后续查找!平常我们都是用windows开发,但是有时候需要将tomcat部署到linux下去运行,比如执行shell脚本。这个时候我们就需要在linux环境下进行调试。我们可以利用myeclipse的远程调试功能,来进行操作。-- 远程调试tomcat的配置,也可以是其他的web应用服务器,但是配置是不一样的。情况分类:1、原创 2014-01-02 09:55:13 · 12236 阅读 · 1 评论 -
DBCP,C3P0,Tomcat_JDBC 等连接池的性能及稳定性测试 druid待补充
1.测试环境: 硬件环境:数据库服务器:2U*8核 8G内存 测试服务器: 2U*8核 6G内存 软件环境:jdk: 1.6.29mysql:5.0.77mysql_driver:mysql-connector-java-5.0.8-bin.jar DBCP:com转载 2014-02-21 09:34:38 · 2225 阅读 · 0 评论 -
【java】—— 真正解决java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
在使用eclipse进行整合springmvc时经常会碰到这样的异常: java.lang.ClassNotFoundException:org.springframework.web.context.ContextLoaderListener这时里的意思是说找不到jar包,如果使用的是maven管理jar包,会发现jar包明明已经有了,但还是报错;如果mvn package生成一个war包发转载 2014-12-07 21:26:18 · 29392 阅读 · 4 评论 -
【webservice】CXF结合spring发布简单的webservice服务
本文先发布在:封宸落宇 再同步发布到本博客!CXF结合spring发布简单的webservice服务!基于CXF 发布webservice服务1、创建web工程 ,添加spring(3.1.3)包,添加cxf(2.2.6)依赖包2、创建配置文件:applicationContext-webservice.xml文件内容:1234原创 2014-03-12 15:52:39 · 1161 阅读 · 0 评论 -
java Timer和TimerTask常用方法
1.概览Timer是一种定时器工具,用来在一个后台线程计划执行指定任务。它可以计划执行一个任务一次或反复多次。TimerTask一个抽象类,它的子类代表一个可以被Timer计划的任务。2.例子import java.util.Timer;import java.util.TimerTask;import java.util.Date;/** *原创 2014-03-06 17:52:39 · 1014 阅读 · 0 评论 -
【webservice】cxf多种调用webservice服务的方式
本文已经同步发布到新博客:http://fengchenluoyu.duapp.com/要调用已经发布的webservice服务,cxf有多种调用方式,现例举几种,留作参考!获取版本包和获取wsdl2java文件都可以通过官方网站apache cxf下载!CXF 构建SOA应用1、利用wadl2java生成客户端调用,此方法最符合面向对象原理原创 2014-03-11 14:42:42 · 3287 阅读 · 0 评论 -
【Java】—— java or java web 虚拟机停止时自动执行代码(总有些代码需要在虚拟机停止时执行)
这个场景一般在关闭虚拟机时,需要等待某些任务执行完成后再关闭。如果是虚拟机被kill -9 强制杀掉了,这时就无效了。见代码:Runtime.getRuntime().addShutdownHook(new Thread() { public void run() { try { logger.inf...原创 2018-03-03 15:30:20 · 1545 阅读 · 0 评论