- 浏览: 688117 次
- 性别:
- 来自: 合肥
最新评论
-
di1984HIT:
学习了,学习了!
Tomcat的URL中文乱码解决以及传输优化 -
arottenapple:
...
我的二十一天CoreJava 学习笔记 -
黯淡流觞:
...
我的二十一天CoreJava 学习笔记 -
onlyOneToOne:
wsc830719 写道@RequestMapping(val ...
spring mvc3中 ResponseBody中文乱码 -
waj_615:
但是打印订单不是简单的string 啊
用java实现打印功能
文章列表
内容
重要
备注
进度
爱自己,疼老婆,关心亲人
*
平淡健康开心
mysql 8 小时连接断开解决方案
- 博客分类:
- DB后台
现象:
项目中使用连接池与Mysql连接,在8小时后,偶而会有数据库异常抛出
原因:
mysql的连接后,如果没有数据传输,在默认的8小时后,会自动断开连接。使用了数据连接池时,连接池并不知道其中的连接已经无效,还会分配已经失效的连接给服务,导致服务使用连接时发生异常。
解决:
方案一:
使用glassfish容器,利用glassfish自带的连接池管理功能中的自动校验。glassfish中的效验有多种,可以自行选择。个人比较喜欢使用custon-validation方式。使用方式:glassfish管理后台->Resources->JDBC-> ...
glassfish常用命令
- 博客分类:
- 开发环境和工具
运行 asadmin 工具 glassfish\bin\asadmin
对域的操作
list-domain
start-domain
stop-domain
delete-domain domain1
create-domain --adminport 4848 domain1
更改控制台管理用户密码
change-master-password domain1
开启管理台的DAS
enable-secure-admin
忘记了管理台密码
删除域,重新创建域,再重新部署
部署项目
deploy --contextroot ...
验证码一般用于登录功能,其实现一般分为两种,js验证码生成和服务器验证码生成。
js的生成也就是使用js的2D功能画出验证码,这种方法实现起来只要调用几个js插件就可以快速生成,但缺点是,如果有人通过更改浏览器js来绕过验证,这验证码的防线就是一种摆设了。
至于服务器的验证码生成要安全的多。其原理也不复杂。
1.在打开登录页面时,通过加载图片元素标签img的src属性可再发出一个请求到后台。
2.在这个请求中可以在服务器中生成一个随机验证字符串并放置于session中。
3.利用java中的2d功能把字符串生成一个图片二进制,并在图片中加入杂波和着色等等。
4.请求返回图片流输 ...
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2 ...
[带菜鸟飞] js数值判断要注意长度
- 博客分类:
- web前端
提问:16位的9在js中会显示多少?即 9999999999999999
使用alert可得到答案 10000000000000000
提问:16位数字9999999999999991 在js中是显示多少?
结果是 9999999999999992
根据经验,如果数字超过15位时,就不知道在下一时刻会在哪一个数值中会出错
深层次的原因我不清楚,但从长度原因推算来看,无非就两种可能,一种是js对于纯数值计算时在内存中使用了某一长度的空间。另一种可能是数据超过某一范围后就使用科学计算法方式对数据进行了前端截断并做了四舍五入。
当然,我认为没必要去深究,只要知道js在对纯数字进行计算判断时 ...
jndi一般是由容器提供,或是启动第三方服务jar包启动。
由于我在使用jetty作为内嵌服务器快速开发时需要使用jndi提供datasource来连接数据库,于是就研究了下,自己简单实现提供一个jndi服务
使用以下代码就行了。想要使用jndi就启动init方法
class MyContextBuild implements InitialContextFactoryBuilder {
private static HashMap<String, Object> map = new HashMap<String, Object>( ...
使用spring mvc3的@ResponseBody注解以期待返回json时,却发现返回值中文乱码。
研究后发现,spring使用该注解时在代码内部使用了硬编码iso-8859-1
解决方案:
想法有两种,一种是重写注解,还有一种是使用spring的BeanPostProcessor接口实现
/**
* 解决spring MVC3 中@ResponseBody的中文乱码问题。在bean中注册即可
*/
public class UTF8StringBeanPostProcessor implements BeanPostProcessor {
@Over ...
需求:在点击一按钮后,对选中的行对应的某一列中的值进行更改。并且,更改后能对该列进行排序
datatable提供了单元格编辑扩展,但这不是这个需求所需要的,我们不需要编辑单元格,只要更改单元格中的值。
更改单元格的值很简单,使用jquery的搜索查到选中的行找到要改的列,更改html即可。但是这样更改后不能正确的进行该列的排序。其排序还是以未改之前的为准。
经研究得到解决方案。注意两点:1.使用datatable提供的api来改单元格值 2.行定位时一定要以初始化时的行序列进行定位
api
datatable=$(".datatable-sort&qu ...
datatable是一个jquery扩展的表格插件。其提供了强大的表格功能。
官方地址:http://www.datatables.net/media/images/DataTables.jpg
在官方示例中,对于表格的是否可排序是在初始化中设置的一个值来决定的
$(".datatable-simplified").dataTable( {
"bSort": false
});
如果要在初始化时就指定默认以哪一列来排序则
$(document).ready(function() {
$(' ...
发布web service
如果使用的jdk是1.6 update 17以上的
则直接使用 @WebService 标签和 Endpoint.publish静态方法即可
package test;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
import t.TestService;
@WebService
public class test
{
public String hello(){
return "hello";
...
dojo封装dialog提示框
- 博客分类:
- Dojo
/**
* 显示dojo的弹出框.前提是已经引用了相应的dojo.js和css,并设置了body的
* dojo主题class <br>
*/
function showDojoDialog(content, title) {
require([ "dijit/Dialog" ], function(Dialog) {
new Dialog({
title : title = title ? title : '',
content : content + '',
onHide : function() {
...
dojo封装表单ajax提交
- 博客分类:
- Dojo
/**
* dojo的ajax提交form(post方式)<br>
* 返回值以0为成功标识<br>
* 前提是已经引用了相应的dojo.js<br>
*/
function dojoAjaxForm(form, dataType, callBack) {
var type = "text";
if (dataType) {
type = dataType;
}
require([ "dojo/_base/xhr" ], function(xhr) {
xh ...
自定义封装dojo通用ajax提交表单
- 博客分类:
- Dojo
/**
* dojo的ajax提交form(post方式)<br>
* 返回值以0为成功标识<br>
* 前提是已经引用了相应的dojo.js<br>
*/
function dojoAjaxForm(form, dataType, callBack) {
var type = "text";
if (dataType) {
type = dataType;
}
require([ "dojo/_base/xhr" ], function(xhr) {
xh ...
/**
* 使用dojo dialog模拟confirm<br>
* 返回true/false<br>
* 前提是已经引用了相应的dojo.js<br>
* @author: DFH<br>
* @since: 2012-05-16
*/
function dojoConfirm(content,callback){
require([ "dijit/Dialog","dijit/form/Button"], function(Dialog) {
content=co ...