- 博客(26)
- 资源 (3)
- 收藏
- 关注
原创 cookie的基本使用
取cookie var getCookie = function() { var strCookie = document.cookie; //将多cookie切割为多个名/值对 var arrCookie = strCookie.split(";"); var nowPage=null; //遍历cookie数组,处理每个cookie对 fo
2016-04-12 14:23:51 3962
原创 log4j系统日志的使用
平时不管是在调试还是用来记录错误信息,log4j 都非常方便:配置配置文件的加载自动加载配置文件:(1)如果采用log4j输出日志,要对log4j加载配置文件的过程有所了解。log4j启动时,默认会寻找source folder下的log4j.xml配置文件,若没有,会寻找log4j.properties文件。然后加载配置。配置文件放置位置正确,不用在程序中手动加载
2016-04-12 14:21:20 1709
原创 smtp 发送邮件
平时我们会使用一些功能,比如做用户注册发送邮件激活的时候,可以使用smtp服务,下面是使用的一个简单例子:package com.vcfilm.mytest.action;import java.util.Properties;import javax.mail.Authenticator;import javax.mail.Message.RecipientType;
2016-04-12 14:09:58 1492
原创 spring 注解
注解注入顾名思义就是通过注解来实现注入,Spring和注入相关的常见注解有Autowired、Resource、Qualifier、Service、Controller、Repository、Component。Autowired是自动注入,自动从spring的上下文找到合适的bean来注入Resource用来指定名称注入Qualifier和Autowired配合使用,指定bean的名称S
2016-04-12 14:06:20 1255
原创 spring 读取properties文件
文件jdbc.properties:------------------------------------------------------------------------------------- driverClassName=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/test
2016-04-12 14:04:43 1244
原创 struts2 中英文切换
struts.xml文件: //value值为数据转换文件mess开头 的 // ${href}//返回原来的路径 实际使用中不能使用重定向/index.jsp mess.properties 默认数据转换 比如 hello=你好mess_en.properties 另外的数据
2016-04-12 13:59:45 2154
原创 El表达式 和 JSTL标签
El 表达式:${requestScope.aaa} 相当于${sessionScope.aaa} 相当于${applicationScope.aaa} 相当于${param.aaa} 相当于${paramValues.aaa} 相当于${t.titleid} 相当于JSTL表达式增加taglib指令:http://java.sun.com/jsp/js
2016-04-12 13:58:57 1247
原创 struts 一个action处理过个请求
1.动态方法调用在action中增加不同的方法,去掉execute方法比如 login() register();在表单中改变UrL action=ActionName!methodName.action (action=Testaction!login.action)2.为action指定method 属性在配置文件中://2个action 是一个类
2016-04-12 13:57:04 1217
原创 struts2 result="stream''文件下载
action: public String downloadHelp() { try { URL url = new URL(picUrl); //图片路径 BufferedImage image; image = ImageIO.read(url); ByteArrayOutputStream os = new ByteArrayOutpu
2016-04-12 13:55:03 1461
原创 struts2 值栈 与actionContext
1、值栈的简单定义: (1)简单的说,值栈是对应每一个请求对象的轻量级的数据存储中心,在这里统一管理着数据,供Action、Result、Interceptor等Struts2的其他部分使用,这样数据被集中管理起来而不凌乱。 (2)当有请求的时候,Struts2会为每个请求创建一个新的值栈,也就是说,值栈和请求是一一对应的,不同的请求,值栈也不一样, 而值栈封装了一次请
2016-04-12 13:52:58 13296 1
原创 struts2+json 配置
平时在使用ajax发出请求从后台获取数据的时候,经常需要将数据转换为json格式,struts2自己提供了方便的jar包来对数据进行json格式转换,下面是配置详情.:在struts2的基础上 配置 struts2还需要的包:commons-lang-2.4.jar;json-lib-2.3-jdk13.jar;jsonplugin-0[1].32.jar;ezmorph-
2016-04-12 13:50:20 3484
转载 关于大型网站技术演进的思考(八)--存储的瓶颈终篇(8)
在开始本篇主要内容前,我们一起看看下面的几张截图,首先是第一张图,如下图所示: 这是一家电商网站的首页,当我们第一次打开这个首页,网站会弹出一个强制性的对话框,让用户选择货物配送的地址,如果是淘宝和京东的话,那么这个选择配货地址的选项是在商品里,如下图是淘宝的选择配送地点: 下图是京东选择配货地点: 那么图一跟京东和淘宝有什么区别呢?图一的电商强制用户选择地区后
2016-04-12 13:41:10 1919
转载 关于大型网站技术演进的思考(七)--存储的瓶颈(7)
本文开篇提个问题给大家,关系数据库的瓶颈有哪些?我想有些朋友看到这个问题肯定会说出自己平时开发中碰到了一个跟数据库有关的什么什么问题,然后如何解决的等等,这样的答案没问题,但是却没有代表性,如果出现了一个新的存储瓶颈问题,你在那个场景的处理经验可以套用在这个新问题上吗?这个真的很难说。 其实不管什么样的问题场景最后解决它都要落实到数据库的话,那么这个问题场景一定是击中了数据库的某个痛点,那么
2016-04-12 13:40:36 1524
转载 关于大型网站技术演进的思考(六)--存储的瓶颈(6)
在讲数据库水平拆分时候,我列出了水平拆分数据库需要解决的两个难题,它们分别是主键的设计问题和单表查询的问题,主键问题前文已经做了比较详细的讲述了,但是第二个问题我没有讲述,今天我将会讲讲如何解决数据表被水平拆分后的单表查询问题。 要解决数据表被水平拆分后的单表查询问题,我们首先要回到问题的源头,我们为什么需要将数据库的表进行水平拆分。下面我们来推导下我们最终下定决心做水平拆分表的演进过程,具
2016-04-12 13:40:02 3303
转载 关于大型网站技术演进的思考(五)--存储的瓶颈(5)
上文里我遗留了两个问题,一个问题是数据库做了水平拆分以后,如果我们对主键的设计采取一种均匀分布的策略,那么它对于被水平拆分出的表后续的查询操作将有何种影响,第二个问题就是水平拆分的扩容问题。这两个问题在深入下去,本系列就越来越技术化了,可能最终很多朋友读完后还是没有找到解决实际问题的启迪,而且我觉得这些问题都是像BAT这样巨型互联网公司才会认真思考的,因此本篇我打算换个角度来阐述本文的后续内容。
2016-04-12 13:39:31 90260
转载 关于大型网站技术演进的思考(四)--存储的瓶颈(4)
如果数据库需要进行水平拆分,这其实是一件很开心的事情,因为它代表公司的业务正在迅猛的增长,对于开发人员而言那就是有不尽的项目可以做,虽然会感觉很忙,但是人过的充实,心里也踏实。 数据库水平拆分简单说来就是先将原数据库里的一张表在做垂直拆分出来放置在单独的数据库和单独的表里后更进一步的把本来是一个整体的表进一步拆分成多张表,每一张表都用独立的数据库进行存储。当表被水平拆分后,原数据表成为了一个
2016-04-12 13:38:55 3000
转载 关于大型网站技术演进的思考(三)--存储的瓶颈(3)
存储的瓶颈写到现在就要进入到深水区了,如果我们所做的网站已经到了做数据库垂直拆分和水平拆分的阶段,那么此时我们所面临的技术难度的挑战也会大大增强。 这里我们先回顾下数据库的垂直拆分和水平拆分的定义: 垂直拆分:把一个数据库中不同业务单元的数据分到不同的数据库里。 水平拆分:是根据一定的规则把同一业务单元的数据拆分到多个数据库里。 垂直拆分是一个粗粒度的拆分数据,它主要是将原
2016-04-12 13:37:55 2211
转载 关于大型网站技术演进的思考(二)--存储的瓶颈(2)
上篇里我讲到某些网站在高并发下会报出503错误,503错误的含义是指网站服务端暂时无法提供服务的含义,503还表达了网站服务端现在有问题但是以后可能会提供正常的服务,对http协议熟悉的人都知道,5开头的响应码表达了服务端出现了问题,在我们开发测试时候最为常见的是500错误,500代表的含义是服务端程序出现了错误导致网站无法正常提供服务,500通常是服务端异常和错误所致,如果生产系统里发现了500
2016-04-12 13:37:08 55620
转载 关于大型网站技术演进的思考(一)--存储的瓶颈(1)
前不久公司请来了位互联网界的技术大牛跟我们做了一次大型网站架构的培训,两天12个小时信息量非常大,知识的广度和难度也非常大,培训完后我很难完整理出全部听到的知识,今天我换了个思路是回味这次培训,这个思路就是通过本人目前的经验和技术水平来思考下大型网站技术演进的过程。 首先我们要思考一个问题,什么样的网站才是大型网站,从网站的技术指标角度考虑这个问题人们很容易犯一个毛病就是认为网站的访问量是衡
2016-04-12 13:35:54 2103
原创 ssh框架整合配置
http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/sche
2016-04-01 11:36:53 1586
原创 Hibernate 关联映射
多对一:many端: //注意是字段不是属性一对多:one端: 一对一:many端:保持多对一 ,加入一个属性 unique="true" unique="true">
2016-04-01 11:36:01 934
原创 Hibernate 配置
hibernate.cfg.xml"-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> com.mysql.jdbc.Driver jdbc:mysql:///hibernate roo
2016-04-01 11:28:54 1092
原创 常用正则表达式- 常用校验汇总
身份证正则表式isIDCard1=/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/;//身份证正则表达式(18位)isIDCard2=/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$/;身份证正则合并:(^\d{15}$)|(^\d{17}([
2016-04-01 11:20:38 771
原创 jsp servlet 中文乱码问题
我们在使用servlet的时候经常会遇到一个头疼的问题,那就是中文乱码问题,总结了一下常见的乱码场景以及解决方式.先直接上干货吧.JSP和Servlet的中文乱码处理总结:jsp (get请求) → servlet 出现场合:表单get 提交 超链接(get) String stuname = request.getParameter("
2016-04-01 11:11:57 1432
原创 java职业发展之路
有时候会特别迷茫学习一门编程语言,在每个阶段每个时候该去如何成长,此文希望与大家共勉.java程序员 高级特性 反射、泛型、注释符、自动装箱和拆箱、枚举类、可变 参数、可变返回类型、增强循环、静态导入 核心编程 IO、多线程、实体类、 集合类、正则表达式、 XML和属性文件 图形编程 AWT(Java2D/JavaSound/JMF)
2016-04-01 11:00:33 33011
火车票订票系统(ssh)
2016-03-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人