摘要: 1、Struts框架框架(framework):就是一系列代码和开发模式的整合,使用框架后,所有开发人员都会按照框架提供的规范进行开发,使代码更容易维护和扩展。使用框架的优点:1) 易于维护扩展2) 简化代码Struts框架是MVC模式的具体实现框架,实现针对MVC模式中的Servlet以及jsp页面代码的简化。JSP + Servlet 的执行流程:jsp à web.xml中查找找到进入哪个Servlet à 执行doGet或doPost方法,接收参数,验证,整合,调用service,设置属性,跳转 à 返回jsp。Struts执行流程中主要修改了Servle 阅读全文
posted @ 2013-11-14 22:37 悟空65 阅读(573) 评论(0) 推荐(0) 编辑
摘要: 在Maven中我们之前进行配置一个项目的依赖时,引用一下jar包,这些jar包第一次都会从一个地方进行下载,这个地方称为仓库,而对于仓库一般有本地仓库和中心仓库之分,但是我们一般在做项目时会在自己的服务器上配置一个私有仓库,那么我们下面就来创建一个私有仓库,这里我们使用的一个工具叫做Nexus。1、首先到http://www.sonatype.org/nexus/下载对应的nexus安装包:nexus-latest-bundle.zip2、解压缩得到的压缩包,然后将此压缩包中的bin目录(这里为:D:\docs\nexus-latest-bundle\nexus-2.5.1-01\bin)配置 阅读全文
posted @ 2013-09-21 21:30 悟空65 阅读(1078) 评论(0) 推荐(0) 编辑
摘要: 1、在之前的文章中,我们已经建立了四个Maven项目,但是此时如果我们要对这四个项目进行编译打包时,必须一个一个的进行执行命令,而聚合就是指只要我们在其中一个项目中编写一些代码,则在进行此项目的编译和打包的时候也会自动的将其他的项目进行编译和打包!一般情况下一个项目中可能包含很多的子项目,所以我们只需要在这个项目的根目录下建立一个pom.xml即可,不需要在每一个子项目中建立一个pom.xml文件,如下:这个是现在struts2的源码得到的文件,在struts2这个项目中包含了apps、core等模块,但只建立了一个pom.xml文件。因为在MyEclipse中一个单独的文件只能存放在一个项目 阅读全文
posted @ 2013-09-17 23:37 悟空65 阅读(1452) 评论(0) 推荐(0) 编辑
摘要: 在上一篇文章中我们已经介绍了依赖性,这次我们再来介绍下传递依赖的问题,首先我们还是在上篇文章基础之上进行编写。1、上篇文章中已经建立了一个user-core的模块,现在首先再建立一个user-log的模块,在此模块中引入log4j、commons-logging等包: 1 2 3 junit 4 junit 5 4.10 6 test 7 8 9 log4j10 log4j11 ... 阅读全文
posted @ 2013-09-16 21:50 悟空65 阅读(2235) 评论(2) 推荐(1) 编辑
摘要: 在Maven中有三大模块,分别是依赖、仓库、生命周期和插件,我们接下来下来介绍下依赖,为了方便起见我们还是以案例来说:1、首先建立一个maven项目,这里我建立一个user的项目2、接下来我们在这个项目中要使用到hibernate框架,此时就要在此项目中加入hibernate的支持,而之前我们讲到maven会自动的为我们加入jar包,但是前提是我们要找到怎么样编写hibernate的引用,如何编写呢?接下来我们就要牵涉到依赖的查询,在maven中所有的依赖都是通过坐标来保存的(GAV-->groupId,artifactId,version),在网上有一些仓库为我们提供了一下项目的坐标, 阅读全文
posted @ 2013-09-15 23:21 悟空65 阅读(1131) 评论(0) 推荐(2) 编辑
摘要: 1、之前在进行项目的构建时都是使用手工进行文件夹的建立,maven也给我们提供了一个参数archetype,可以用来进行项目骨架的建立。使用maven archetype:generate进行创建:这样就会自动的帮我们生成好pom.xml、src/main/java、src/test/java等文件。2、我们也可以在myeclipse中使用maven,在myeclipse中已经集成好了对应的maven,如果使用eclipse的话,需要安装m2eclipse的插件。这里就使用myeclipse进行配置,打开以后,找到window-->preferences-->Maven4MyEcl 阅读全文
posted @ 2013-09-14 11:50 悟空65 阅读(1424) 评论(0) 推荐(1) 编辑
摘要: 1、首先到www.apache.org中下载maven,得到一个apache-maven-3.1.0-bin.zip的压缩包。2、将此压缩包解压,这里解压到D:\docs中,然后找到maven的bin目录(D:\docs\apache-maven-3.1.0\bin),将此目录配置到环境变量path中,如图:3、打开cmd,输入mvn -version,可以查看maven对应版本号,说明maven已经配置成功,如图:4、新建立一个文件夹,这里为:D:\docs\examples\maven\01,在此文件夹中建立一个pom.xml文件,编写文件的内容如下:1 2 3 4.0.04... 阅读全文
posted @ 2013-09-13 14:26 悟空65 阅读(997) 评论(0) 推荐(2) 编辑
摘要: 在上一篇文章中我们已经开发好了对应的启动页面,今天我们将继续开发进去启动页面时自动的连接服务器,获取服务器上的最新信息,如果服务器上的版本大于当前版本的话,则弹出对话框提示下载更新,否则直接进入主界面!下面是效果图:下面是SplashActivity的全部代码: 1 package lq.wangzhen.mobilesafe; 2 3 import java.io.IOException; 4 import java.io.InputStream; 5 import java.net.HttpURLConnection; 6 import java.net.MalformedU... 阅读全文
posted @ 2013-09-12 22:45 悟空65 阅读(1184) 评论(3) 推荐(1) 编辑
摘要: 首先建立一个安卓的项目,然后修改manifest.xml文件,修改应用程序的logo和显示名称,效果图如下:对应的代码如下: 1 2 6 9 14 18 19 20 21 22 23 24 25 使用到的strings.xml文件如下:1 2 3 4 手机卫士5 Settings6 Hello world!7 8 更改完成应用程序的图片以后,下面开始编写应用程序的启动界面,界面的效果图如下:这里我们... 阅读全文
posted @ 2013-09-10 21:57 悟空65 阅读(1435) 评论(0) 推荐(1) 编辑
摘要: 随着移动设备的不断普及和发展,相关软件的开发也越来越受到人们的关注,其中要提及的就是Android开发。本系列博客主要为大家介绍Android的开发,可能会有人问:现在互联网上已经有很多的Android的技术博客,有很多博客也分享了很多的技术,你为什么还要再进行编写Android的开发博客呢?我写这个博客的主要原因是虽然现在有很多的博客是分享Android技术的,但是很少有博客是系统的介绍这些技术的,所以如果一个初学者去学习Android这些技术的话,那就非常困难了,所以我才写了这个博客。还有一个原因是我的文章都是以实战为目的的,细心的读者可能已经发现,在文章的标题有“Android实战开.. 阅读全文
posted @ 2013-07-02 18:33 悟空65 阅读(1012) 评论(1) 推荐(0) 编辑
摘要: 前阵子,百度网盘提供免费申请100G空间,当时一则出于好奇,二则自己移动硬盘由于使用了BT,悲催的经常出现报错,就想借此机会将文件传到百度上暂存下,腾出空间好好整理下移动硬盘,就也弄了一个帐号。100G,加上原来的5G,一共105GB到手,正好今天有时间,就准备将移动硬盘数据拷贝上去了。打开百度云-网盘之后,出现下面图:注:此图片来源网上,本地的截图由于已经使用了极速控件,没法操作。下载安装之后,就是个IE插件,然后我们来体验下吧,体验截图如下:前三个文件,状态开始是文件比对...,而后,立马上传成功,果然秒传啊,心想要按这个速度,上传所有的文件基本上就是分分钟的事情啊,结果,在第四个文件的时 阅读全文
posted @ 2013-05-18 00:49 悟空65 阅读(4611) 评论(7) 推荐(3) 编辑
摘要: 在上一篇文章《Android——用户登陆及用户名和密码的保存》中讲到了将用户登陆的数据保存到对应的文件中,在保存文件时我们编写了以下的一段代码:public boolean saveToRom(String password,String username,String filename) throws Exception{ //以私有的方式打开一个文件 FileOutputStream fos = context.openFileOutput(filename, Context.MODE_PRIVATE); String result = usern... 阅读全文
posted @ 2013-05-05 01:55 悟空65 阅读(446) 评论(0) 推荐(0) 编辑
摘要: 在之前的学习过程中已经将Android学习完了,但是在后面将近一年的时间里都没有进行过Android开发,所以对Android的所有的知识点又有点忘记了,因此才会继续的学习Android,做出这个学习笔记。另外:由于在暑假的时候要开发Android项目,所以对于这些Android知识点也都要熟练的掌握。 目录 一、Android下的Junit测试 二、登陆记录密码界面设计 三、采用rom保存用户数据 一、Android下的Junit测试在实际开发中,开发android软件的过程需要不断地进行测试。而使用Junit测试框架,侧是正规Android开发的必用技术,在Junit中可以得到组... 阅读全文
posted @ 2013-05-04 13:47 悟空65 阅读(7256) 评论(0) 推荐(2) 编辑
摘要: 在张孝祥老师去世的时候,我曾跟朋友说我要继承张老师的梦想,将IT培训这项事业继续的做下去。现在我已经开始自己培训的筹划了,最近正在苦思冥想:怎样才能做好一个好老师?怎样才能让自己的学生学习到真正的知识?今天刚好看到了张老师的这篇文章,拿过来激励自己!!!中国好的软件工程师很多很多,可是要找出几个好的软件培训教师,却是很难很难!因为一个好的软件培训教师不仅要求本身具有很强的技术实力和对所讲授的技术明明白白,还要求老师认真负责,对整个讲课过程也精益求精,力争让所有学员到达一种最佳学习效果和最高的学习效率。下面是我根据自己的教学心得和旁听其他一些老师的讲课发现一些问题后,总结出的一些教学技巧,作为传 阅读全文
posted @ 2013-03-20 22:47 悟空65 阅读(163) 评论(0) 推荐(1) 编辑
摘要: 你发现快要过年了,于是想给你的女朋友买一件毛衣,你打开了www.taobao.com。这时你的浏览器首先查询DNS服务器,将www.taobao.com转换成ip地址。不过首先你会发现,你在不同的地区或者不同的网络(电信、联通、移动)的情况下,转换后的IP地址很可能是 不一样的,这首先涉及到负载均衡的第一步,通过DNS解析域名时将你的访问分配到不同的入口,同时尽可能保证你所访问的入口是所有入口中可能较快的一个 (这和后文的CDN不一样)。<!--more--> 你通过这个入口成功的访问了www.taobao.com的实际的入口IP地址。这时你产生了一个PV,即Page View,页 阅读全文
posted @ 2013-03-13 12:31 悟空65 阅读(275) 评论(1) 推荐(1) 编辑
摘要: Knockoutjs可以帮助我们实现复杂的客户端交互,但是在很多的时候我们需要和我们的服务器进行数据交互或者至少将数据序列化到我们的本地存储器。此时我们就可以使用JSON格式数据进行数据的交互和保存了。一、加载和保存数据。Knockoutjs并不强制要求我们使用某个具体的技术来进行数据的读取和保存,我们可以根据自己的需要使用不同的技术,我们经常使用的是JQuery的Ajax方式,比如:getJSON、post和ajax等,我们可以使用下面的方法从服务器取得数据:1 $.getJSON("/some/url", function(data) { 2 // Now use th 阅读全文
posted @ 2012-12-14 15:31 悟空65 阅读(2907) 评论(2) 推荐(3) 编辑
摘要: Knockoutjs的控制流程绑定(比如:if和foreach)不仅仅可以绑定在一个真实的DOM元素上,我们也可以将其绑定到一个虚拟的DOM元素上,这个DOM是由一个特殊语法定义的。比如:1 <ul> 2 <li class="heading">My heading</li> 3 <!-- ko foreach: items --> 4 <li data-bind="text: $data"></li> 5 <!-- /ko --> 6 </ul>我们自定义的 阅读全文
posted @ 2012-12-13 11:33 悟空65 阅读(2109) 评论(0) 推荐(3) 编辑
摘要: 在上一篇文章中我们介绍了如何来创建一个自定义绑定,今天我们就继续来学习如何来控制子绑定(control descendant bindings)。在此之前我们首先说明一下,此项功能相对来说比较高级,通常我们在创建自己的可重用的库时我们才会使用,不是说当我们在使用Knockoutjs创建我们的应用时一定要使用此项功能的。在默认情况下,一个绑定只对它所绑定的element元素起作用。但是如果我们想要此绑定对它所绑定的element的所有子element起作用我们应该怎么办呢?我们在自定义binding的时候我们可以告诉Knockoutjs不绑定他的子元素,这样我们自己定义的绑定就可以以我们喜欢的方 阅读全文
posted @ 2012-12-07 17:28 悟空65 阅读(2707) 评论(3) 推荐(0) 编辑
摘要: 在使用Knockoutjs时我们并不仅仅限于使用内建的绑定,比如:click、value等,我们可以创建自己的绑定规则。Knockoutjs为我们提供了非常灵活的支持,能够让我们自己去处理非常复杂的业务并且构造出可重用性的绑定。例如我们可以创建交互式的组件,比如表格、网格等。下面我们就来看看怎么一步步创建自定义绑定。一、等级我们的绑定(Registering your binding)我们可以通过ko.bindingHandlers来进行绑定。 1 ko.bindingHandlers.yourBindingName = { 2 init: function(element, val... 阅读全文
posted @ 2012-12-06 15:58 悟空65 阅读(3177) 评论(2) 推荐(2) 编辑
摘要: 在之前我们对Knockoutjs属性绑定的内容作了相应的介绍,并在介绍的过程中我们应用了很多的例子来说明,在这些例子中我们经常会见到诸如:data-bind、$parent等语法,这些都是Knockoutjs为我们提供的非常强大的绑定语法,今天我们就分别来看一下吧。一、数据绑定(data-bind syntax)Knockoutjs的绑定系统为我们提供了非常强大且简洁的方式让我们将自己的数据和UI连接起来,我们可以非常方便的使用这个绑定语法来进行数据的展示。下面是我们之前一直使用的绑定语法:1 Today's message is: <span data-bind="t 阅读全文
posted @ 2012-12-05 16:23 悟空65 阅读(2334) 评论(0) 推荐(1) 编辑