- 博客(23)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 Spring的Quartz
定时任务,要引入quartz-xx.jar包,可以自己搞,也可和spring框架整合一起搞。```// 定时任务的异步操作@Component("xxTask")public class XxTask implements Runnable { public void run() {..}}// 定时任务@Component("xxWorker")public class XxWorker
2016-09-28 20:03:47 271
原创 Velocity
velocity类似jsp,都是前端页面渲染技术,其中jsp仅适用于java,可直接访问后端代码,mvc中要小心操作来实现前后分离;velocity是通用模板,默认不可直接访问后端代码,严格实现前后分离。## 单行注释#* * 多行注释 *### celocity中#标识指令,$标识变量## 输出name值,若name不存在,原样输出$name## 输出name值,若name不存
2016-09-26 20:52:35 237
原创 MongoDB的Java操作
// 需要三个jar包,mongodb-driver-3.3.0.jar;mongodb-drvier-core-3.3.0.jar;bson-3.3.0.jarpublic class MongoTest { private MongoClient conn = null; // 获取连接 private MongoClient getConn() { conn = new MongoClient("
2016-09-23 17:02:24 380
原创 Linux——命令
Shell是Linux为用户提供的一个使用其服务的命令接口,基于该接口的实现有很多,其中最流行的是Bash Shell。 [root@test /root]# command -options param1 param2 … @左边的root表示用户名,右边的test表示当前主机名,test右边的/root表示当前目录,#为提示符,后面可以输入命令。 command为命令,
2016-09-22 20:19:58 327
原创 Linux——概述
最早出现的是Unix,开始时是免费的,后来收费了,由此出现了GNU计划,其目标是创建一个基于自由软件的操作系统。 在GNU计划下开发的软件必须遵循GPL(General Public License)公共许可协议,但是遵循GPL协议的软件未必是GNU计划下开发的软件。 一个完整的操作系统由内核和在内核之上的各种软件两部分组成,其中内核是核心。GNU计划的GNU内核没有完成,只完成了内核之上的全部
2016-09-22 16:53:12 276
原创 MongoDB的基本配置与操作
MongoDB是用C++编写的,开源跨平台分布式的,非关系(NoSQL)文档型数据库,其可存储海量数据,主要用于查询操作。 NoSQL数据库主要有四大类。 键值型数据库,如MemcacheDB、Redis。 列数据库,如HBase。 文档型数据库,如MongoDB。 图形数据库。安装与配置 远程连接到Linux服务器。 cd 部署目录。 wget url—
2016-09-22 11:06:56 263
原创 Zookeeper
apache hadoop下的一个开源可分布式部署的子项目,为分布式部署的应用提供分布式服务。其采用结构化存储分布式应用的数据,存储结构类似树形,由节点znode组成,每个节点可以有子节点,可以存储数据,被到根目录的路径唯一标识。znode可以存数据,但不代表其是用来存储数据的,目的是监控这些数据的变化,从而做出相应的动作。在分布式环境下,为保证效率,避免单点故障,zookeeper本身也要被分布式部署到集群上。
2016-09-21 19:31:17 412
原创 架构——Nginx
像Apache一样,作为一台Web服务器。 通常将静态页面文件和资源部署在Nginx上,可直接访问。 将Nginx部署在客户端和服务端集群之间,作为一台反向代理服务器,实现请求的负载均衡。 客户端发送请求给Nginx服务器。 若请求的为静态资源,可在Nginx上直接找到,由Nginx处理并响应。 若请求的为动态资源,由于在Nginx上找不到,其会查找配置文件,从中找到服务集群的
2016-09-21 13:35:02 347
原创 Web——请求转发与响应重定向
请求转发Forward A发请求给B,B收到A的请求后将其原样转发给C,C对A的请求处理后响应A。整个过程A的请求地址不变,始终为B。A不知道C,虽然A的请求最终由C处理并响应,但A认为是B完成请求并响应。 A没有直接请求C,请求由B转发给C。由于http请求报文中有请求的发送者A和接受者B,所以C仍然知道请求是由A发出的,并对A做出响应而不是B。 整个过程只发生了一次请求,来自A,一
2016-09-20 14:46:05 791
原创 Web——过滤器与拦截器
过滤器Filter,本质为Servlet。 请求被服务端接收前,先由过滤器接收并处理。 过滤器可将请求转发给原服务端。 过滤器可可将请求响应重定向到其它服务端。=========================================== 拦截器Intercept,本质为AOP。 请求到达服务端后,执行服务端的方法之前或之后,先由拦截器拦截并处理。 拦截器可屏
2016-09-20 14:22:49 226
原创 Struts2的整体流程
struts2的前身是WebWork,后改名为struts2,其与struts1没任何关系。 请求先经controller层,本质是一个过滤器Filter,其对请求的url进行判断。若为页面,进行请求的转发,保证请求数据不会丢失;若为action,从配置文件找到对应action类的完全限定名,并通过反射加载此类,同时生成其实例。 Filter将生成的实例注入接口Action的实例,并调用配置中给出的
2016-09-20 14:14:38 580
原创 Web——开发流程
构建项目Eclipse下构建基于Maven的多模块Web项目 Maven自带工具archetype(原型),可以通过Maven命令,根据pom.xml来构建项目,比较繁琐,直接用Eclipse完成。 打开Eclipse,选择File->New->Project->Maven->Maven Project,选择一个合适的Archetype,其中quickstart可以创建jar或pom项目
2016-09-19 15:28:04 274
原创 Web——开发环境搭建
安装与配置JDK 从官网下载最新版本的JDK安装包并安装。 新建环境变量JAVA_HOME为JDK的安装目录。 新建环境变量CLASSPATH为.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar。 在环境变量Path中添加%JAVA_HOME%\bin,win+R->cmd->java -version验证是否安装成功。安装与配置
2016-09-19 14:59:52 308
原创 Spring的MVC
三层架构是项目架构,将整个项目从逻辑上划分为表现层ui、业务逻辑层bll、数据访问层dal。由于ui层存在显示逻辑、控制逻辑和业务逻辑的混淆问题,提出了mvc解决方案。其将ui层进一步划分为显示层view,控制层controller、模型层model。 spring的mvc中,view层仅完成显示逻辑;controller层分前端控制器和页面处理器,前端控制器DispatcherServlet仅完成控制逻辑
2016-09-18 11:29:44 297
原创 Solr
apache下的开源项目,基于servlet开发的java web应用,底层基于lucene,lucene是一个全文检索的api。可独立运行,需要部署在类似tomcat的servlet容器中,随着web服务器的启动而启动。对外提供http接口,来实现索引的增删改查操作。 schema类似定义表结构,indexed是否索引,若字段作为查询条件,设为是,查询快。multiValued是否多值,该字段以数组的形式
2016-09-09 09:33:00 199
原创 Map
java.util.Map,接口,映射结构,无序,key不可重复,常用的实现类有HashTable、HashMap、ConcurrentHashMap。=========================================== HashMap非线程安全,用哈希表存放键值对,处理冲突的方法类似链地址法。内部类Node实现了Map接口的内部接口Entry,是一个单链表结点结构,有key,valu
2016-09-08 15:50:59 322 1
原创 Struts2中Action内的两种异常处理方式
假设项目为dao、service、web.action三层。正常的异常处理流程为,从底层dao开始向上抛throws,抛到上层service层后try-cache捕获处理。 web.action只负责调用服务service,本身不做业务,可将多个服务封装事务,该层的异常处理——可以try-cache自己捕获处理;可以throws,继续上抛给struts2框架,但struts.xml内要配置global-exc
2016-09-08 15:21:49 2958
原创 Struts2与Spring整合
有两种整合方式,都必须引用struts2-spring-plugin-xx.jar。```// 方式一,将Action实例的构建交给spring的ioc容器来完成// 注册Action,由于Action对应的是Request作用域,scope必须使用prototype,缺省值为singleton<bean id="xxAction" class="....XxAction" scope="protot
2016-09-07 14:34:00 237
原创 Git的分支
git的版本库初始只有一个默认名为master的分支,其允许从某个分支上来拉取无限个数的新分支。实际中,远程版本库的master分支是稳定版本,仅用于发布上线用,不可在其上工作。管理者需要在远程版本库的master分支上拉取若干开发分支给开发人员使用。 // 从远程版本库clone默认分支 git clone url // 从远程版本库clone指定分支 git clone –b 分支名 url
2016-09-06 14:56:44 250
原创 Git的暂存区与回滚
// 查看当前工作区中文件的状态 // Untracked未跟踪,不被git管理的,通常为新创建的文件 // Changes to be not updated改变但未被暂存 // Changes to be committed改变被暂存但未被提交 git status // 暂存区属于版本库,对应.git目录下的index文件,用于存放工作区中已修改且被add的文件 // 将被修改过的文件
2016-09-06 13:48:22 3852
原创 Git的工作区和版本库
git是开源跨平台的分布式版本控制管理工具,由于分布式不存在客户端和服务端,每台机器都是等价的,都有工作区和版本库,开发人员无需联网就可直接在本地进行工作,工作成果可直接保存到本地版本库,任何两台机器都可通过相互交换各自的版本库来更新信息。为确保时刻都能进行信息交换,通常选择一台24小时运行的机器作为远程版本库,所有开发人员以此为中介来进行信息交换。由于每台机器都维持一个版本库,即使远程版本库崩溃也不会有任何问题
2016-09-06 11:15:33 1654
CPrintDialog WinCE不能用怎么办
2014-10-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人