- 浏览: 694625 次
- 性别:
- 来自: 北京
最新评论
-
masuweng:
写的详细
Java中的枚举 -
zmwxiaoming:
java unix时间戳转换 -
g21121:
lhq1013 写道请问 我通过什么方式可以获取到tomca ...
tomcat优化 -
lhq1013:
请问 我通过什么方式可以获取到tomcat的qps值?
tomcat优化 -
zengshaotao:
condition的测试代码有问题,一个await的线程醒来之 ...
Java并发之Condition与Lock
文章列表
很多时候我们会用到自定义异常来表示特定的错误情况,自定义异常比较简单,只要分清是运行时异常还是非运行时异常即可,运行时异常不需要捕获,继承自RuntimeException,是由容器自己抛出,例如空指针异常。
非运行时异常 ...
传统的配置方法是无法将bean或属性直接注入到servlet中的,配置代理servlet亦比较麻烦,这里其实有比较简单的方法,其实就是在servlet的init()方法中加入要注入的内容:
ServletContext application = getServletContext();
WebApplicationContext wac = WebApplicationContextUtils.getWebApplicationContext(application);// 获取spring的context
xxxInterface= (xxxInterfaceImpl) wac.get ...
mysql存储过程的参数用在存储过程的定义,共有三种参数类型,IN,OUT,INOUTCreate procedure|function([[IN |OUT |INOUT ] 参数名 数据类形...])
IN 输入参数表示该参数的值必须在调用存储过程时指定,在存储过程中修改该参数的值不能被返回,为默认值
OUT 输出参数该值可在存储过程内部被改变,并可返回
INOUT 输入输出参数调用时指定,并且可被改变和返回
IN参数例子:CREATE PROCEDURE sp_demo_in_parameter(IN p_in INT)BEGINSELECT p_in; --查询输入参数SET p_ ...
一、什么是Java事务 通常的观念认为,事务仅与数据库相关。 事务必须服从ISO/IEC所制定的ACID原则。ACID是原子性(atomicity)、一致性(consistency)、隔离性(isolation)和持久性(durability)的缩写。事 ...
POST /uri 创建
DELETE /uri/xxx 删除
PUT /uri/xxx 更新或创建
GET /uri/xxx 查看
GET操作是安全的。所谓安全是指不管进行多少次操作,资源的状态都不会改变。比如我用GET浏览文章,不管浏览多少次,那篇文章还在那,没有变化。当然,你可能说每浏览一次文章,文章的浏览数就加一,这不也改变了资源的状态么?这并不矛盾,因为这个改变不是GET操作引起的,而是用户自己设定的服务端逻辑造成的。 PUT,DELETE操作是幂等的。所谓幂等是指不管进行多少次操作,结果都一样。比如我用PUT修改一篇 ...
在查询列表时我们常常会用到分页,分页的好处就是减少数据交换,每次查询一定数量减少数据库压力等等。
按实现形式分前台分页和服务器分页:
前台分页就是一次查询出所有记录,在页面中用js进行虚拟分页,这种形式在数据量较小时优势比较明显,一次加载就不必再访问服务器了,但当数据量较大时会对页面造成压力,传输速度也会大幅下降。
服务器分页就是每次请求相同数量记录,按一定规则排序,每次取一定序号直接的数据。例如,我想查询班级学生列表,这个列表按学号排序,当查看第一页时查询1-10号学生,第二页时11-21号学生以此类推。这样分页的好处就是每次查询的返回时间是固定的,但每次都需要访问服务器与数据库,这种分 ...
我们发现很多网站的地址栏上都会显示一个小图标,类似于:
其实这个非常简单,只要在你网站的根目录放置一个名为favicon.ico的16*16的ico图标即可。
如果打开网站没有显示则可以在页面加入<link rel="Shortcut Icon" href="favicon.ico" />标签。
利用flex开发手机项目的优势就是“一次开发,多处应用”而不必根据不同平台开发不同版本,因为flex手机应用时应用在air手机客户端基础上的,air运行环境就是flex程序的虚拟机,所以只要你的手机能装对应版本的air运行环境就 ...
在web开发过程中难免要用到iframe,但当连接超时或跳转到公共页面时就会出现超时页面显示在iframe中,这时我们就需要跳出这个iframe到达一个公共页面去。
首先跳转到一个中间页,这个页面用于判断是否在iframe中,在页面加载的过程中调用如下代码:
<script type="text/javascript">
//<!--
function isIFrameSelf(){try{if(window.top ==window){return false;}else{return true;}}catch(e){return true;}}
...
hibernate的sessionFactory配置:
<!-- hibernate sessionFactory配置 -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="mappi ...
我们在做web项目中通常会遇到上传文件的情况,用struts等框架的会直接用的自带的标签和组件,今天说的是利用servlet来完成上传。
我们这里利用到commons-fileupload组件,相关jar包可以取apache官网下载:http://commons.apache.org/
下面是servlet的代码:
//定义一个磁盘文件工厂
DiskFileItemFactory factory = new DiskFileItemFactory();
//获取ServletFileUpload的实例
ServletFileUpload fileUpload = new Servle ...
这个实现利用的是struts2的拦截器,大家也可以试着用filter+servlet来实现,原理都是一样的。
memcache的安装与拦截器的配置可以在我的文章里找到,我就不赘述了。
首先我们看下思路:
我们看到多台web服务器共享一台memcache服务器,这个memcache就是存储用户登录信息的作用。
在memcached中以map(key,value)形式存储数据,我们就可以用登录名作key,每一个浏览器访问节点的sessionId作value,用户登录更新对应登录名的sessionId,这样用户在做与服务器通信的操作时查询一次memcache看其中存储的sessionId是不 ...
从jdk1.5开始,java增加了enum(枚举)这个类型,但是大家在平时运用中还是比较少用到枚举的,而且很多人和我一样对枚举一知半解,下面就跟大家一起学习下enmu枚举。先看一个最简单的枚举类型,一个返回类型的枚举:
public enum ResultType {
/**
* 成功
*/
SUCCESS,
/**
* 失败
*/
FAIL,
/**
* 异常
*/
EXCEPTION,
/**
* 错误
*/
ERROR,
/**
* 无结果
*/
NONE;
}
众所周知枚举中 ...
Nginx ("engine x") 是一个高性能的 HTTP和反向代理服务器,据说他可以同时处理10万的并发访问量,这个我就没法确认了。Nginx官方地址是:http://nginx.org上面提供了windows和unix版本的nginx,有稳定版也有开发板,可以根据具体情况选择。现在开始我们的nginx之旅吧!首先,从nginx下载了windows版本的压缩包,解压后看到
这样的目录结构,熟悉apache的朋友应该很快就明白各个目录的作用。比较重要的就是conf和html这两个文件夹,html是默认放置网站内容的文件夹,conf是配置文件放置的地方,打开conf发现
...
在我们访问网站的时候会经常碰到页面没找到这种情况,例如:
对于csdn的提示,想必绝大多数人都能理解,因为csdn是一个技术型网站,上这个网站的基本都是程序员,404对于程序员很熟悉,是页面没找到的提示代码。但是对于不懂编程或对web方面编程不了解的人就迷糊了,因为他根本不知道404的意思,当然其他网站只会显示“页面未找到”类似的提示,而不是专业性很强的404。
在web服务器中,我们会看到类似如下配置:
<error-page>
<error-code>403</error-code>
<location>/403.jsp ...