显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

程序员驿站

淘宝店:http://shop106888457.taobao.com

 
 
 
 
 
 

request 获取各种路径

2015-4-24 17:01:55 阅读431 评论0 242015/04 Apr24

从request获取各种路径总结 

request.getRealPath("url"); // 虚拟目录映射为实际目录

request.getRealPath("./");    // 网页所在的目录

request.getRealPath("../"); // 网页所在目录的上一层目录

request.getContextPath();    // 应用的web目录的名称

http://localhost:7001/bookStore/ 

/bookStore/ => [contextPath] (request.getContextPath())

获取Web项目的全路径 

String strDirPath = request.getSession().getServletContext().getRealPath("/");

以工程名为TEST为例:

(1)得到包含工程名的当前页面全路径:request.getRequestURI() 

结果:/TEST/test.jsp

(2)得到工程名:request.getContextPath() 

结果:/TEST

作者  | 2015-4-24 17:01:55 | 阅读(431) |评论(0) | 阅读全文>>

JSON 字符串 与 java 对象的转换

2015-4-14 17:42:49 阅读403 评论0 142015/04 Apr14

jsonLib 经典文章:http://json-lib.sourceforge.net/xref-test/net/sf/json/TestJSONObject.html

// 引入相应的包

//json-lib-2.2-jdk15.jar

import net.sf.json.JSONArray;

import net.sf.json.JSONObject;

1. //把java 对象列表转换为json对象数组,并转为字符串

JSONArray array = JSONArray.fromObject(userlist);

    String jsonstr = array.toString();

2.//把java对象转换成json对象,并转化为字符串

JSONObject object = JSONObject.fromObject(invite);

  Log4jInit.ysulogger.debug(object.toString());

3.//把JSON字符串转换为JAVA 对象数组

String personstr = getRequest().getParameter("persons");

作者  | 2015-4-14 17:42:49 | 阅读(403) |评论(0) | 阅读全文>>

jsonobject 遍历 org.json.JSONObject

2015-4-14 17:41:55 阅读570 评论0 142015/04 Apr14

import org.json.JSONArray;  import org.json.JSONException;  import org.json.JSONObject;

[java] view plaincopy

public static void main(String[] args) {          String str = "{'TI':[{'value':'aa1','count':10},{'value':'aa2','count':15},{'value':'aa3','count':20}]," +                  "'AB':[{'value':'ab','count':110},{'value':'ab2','count':115},{'value':'ab3','count':210}]}";          JSONArray newArray = new JSONArray();          JSONObject newJson = new JSONObject(); 

作者  | 2015-4-14 17:41:55 | 阅读(570) |评论(0) | 阅读全文>>

android 读取JSON数据(遍历JSONObject和JSONArray)

2015-4-14 17:41:01 阅读398 评论0 142015/04 Apr14

private String getJson() {          //jsonString中含有比如unicode编码字符\u67ef的话,getString时自动会转化为相应语言字符。          //从服务器获取的数据片段一般为以下格式          /*{"showid":"38f5ef6ae35711e0a046",             "showname":"\u996d\u5c40\u4e5f\u75af\u72c2",             "completed":1,             "paid":1,             "releasedate":"2012-01-23",             "episode_total":"1",             "episode_last":"1",             "show_thumburl":"http:\/\/g4.ykimg.com\/0102641F464F04034A000000000000E09BC52F-62AE-3FA1-E4F0-A62472C09DC0",             "showcreatetime":"2011-0

作者  | 2015-4-14 17:41:01 | 阅读(398) |评论(0) | 阅读全文>>

Activiti(一)--安装配置详解

2015-4-8 14:54:54 阅读338 评论0 82015/04 Apr8

有一段时间没有更新文章了,虽然有一直在写文章,可是一直没有更新到博客内,这段时间写的文章大多还是以技术为主。接下来的系列文章将会来讨论企业工作流的开发,主要是来研究开源工作流Activiti的使用。

该篇文章来详细了解下Activiti 5.15的安装配置全过程,其实安装的过程相当的简单,因为随着Activiti的版本升级安装就变得简单了很多,但是它的配置方法没有想象的那么简单,在配置时需要注意很多问题,这里就来详细的了解下Activiti 5.15的配置全过程。

       Note:文章都是读者经过实践后总结的安装方法,可能不适用于所有的电脑,有问题的话可以留言讨论学习。

一、Activiti下载及简介

1.1、Activiti下载

       官网下载地址:http://activiti.org/download.html

       Note:下载时不一定要使用最新版本的,最新版本会欠缺中文资料在使用时会稍微繁琐点,所以提倡下载稍稳定点的或者距最新版本较近的版本。

1.2、Activiti

解压下载的Activiti包会得到下面的文档内容,其中最主要的是libs和wars,具体如下图:

1.2.1 database

作者  | 2015-4-8 14:54:54 | 阅读(338) |评论(0) | 阅读全文>>

easyui left-tabs 左侧的tabs

2015-3-30 13:48:05 阅读525 评论0 302015/03 Mar30

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Tab Position - jQuery EasyUI Demo</title>

<link rel="stylesheet" type="text/css" href="../../themes/default/easyui.css">

<link rel="stylesheet" type="text/css" href="../../themes/icon.css">

<link rel="stylesheet" type="text/css" href="../demo.css">

<script type="text/javascript" src="../../jquery.min.js"></script>

<script type="text/javascript" src="../../jquery.easyui.min.js"></script>

</head>

<body>

<div id="tt" class="easyui-tabs" data-options="tabPosition

作者  | 2015-3-30 13:48:05 | 阅读(525) |评论(0) | 阅读全文>>

oracle create function的两个实例

2015-2-6 10:45:22 阅读312 评论0 62015/02 Feb6

oracle create function的两个实例:[@more@]

create function的两种例子:

CREATE OR REPLACE FUNCTION "HISSAAS"."GETDEPARTNAME" (vDepartCode in varchar2) return varchar2

as

DepartName varchar2( 1000);

begin

select tenant_name into DepartName from saas.SYY_TENANT where tenant_id = vDepartCode;

return DepartName;

end;

/

=================================================================================

CREATE OR REPLACE FUNCTION "HISSAAS"."GETEMPNAME_1" (v_date1 in varchar2, v_date2 in varchar2 )

作者  | 2015-2-6 10:45:22 | 阅读(312) |评论(0) | 阅读全文>>

ArcSDE for ST_Geometry的ST_Buffer的单位问题

2015-2-6 8:47:32 阅读570 评论0 62015/02 Feb6

ArcSDE for ST_Geometry的ST_Buffer的单位问题

 ArcSDE  iarcgis.com  1个月前 (01-06)  161次浏览

导语

今天又有用户咨询ST_Buffer的单位问题,这个问题以前我也没有怎么测试过,统一的回答就是ST_Buffer的缓冲半径单位需要根据用户传入几何图形对象的投影单位而定。

比如如果他的投影单位为西安80,那么单位就是米,如果投影单位为WGS84,那么单位就是度。

问题出来了,当用户使用WGS84的时候,又希望缓冲为100米半径,怎么才能得到正确的结果。答复就是自己讲米与度的单位进行转化,但是说的简单,具体的转换好像在网上根本找不到。

解决方案

ArcGIS for Desktop有一个Buffer的ArcToolbox工具,这个工具非常好,因为不管是什么投影方式,系统支持不同单位的缓冲半径。这个Desktop进行了实时处理。

如果使用ST_geometry的st_buffer来做该怎么完成呢?

相关原理

因为用户使用的是地理投影,单位就是度,但是Buffer单位为米,那么我们可以讲地理投影动态投影成平面投影,然后用户米的单位做Buffer,缓冲结果后,然后再动态投影为地理投影。

概要操作

如果使用ST_transform进行投影转化,建议使用同一椭球体进行转化,因为比较简单,直接调用函数即可。如果是不同椭球体,ArcGIS10.1的该函数已经支持了该操作,但是操作比较麻烦,

具体参考:

作者  | 2015-2-6 8:47:32 | 阅读(570) |评论(0) | 阅读全文>>

Query中没有提供这个功能,所以你需要先编写两个jQuery的扩展:

$.fn.stringifyArray = function(array) { return JSON.stringify(array) }

$.fn.parseArray = function(array) { return JSON.parse(array) }

作者  | 2015-2-6 8:45:02 | 阅读(1342) |评论(0) | 阅读全文>>

为 Javascript 数组添加 insertAt 和 removeAt 方法

2015-2-3 17:42:14 阅读326 评论0 32015/02 Feb3

本文介绍的 insertAt 方法可以为 javascript 数组在指定位置插入指定的值,而 removeAt 则是删除指定位置的数组元素,有了这两个方法,我们在操作数组元素时会简单很多。

--------------------------------------------------------------

点此浏览示例文件

--------------------------------------------------------------

Javascript:

<script language="JavaScript">

<!--

Array.prototype.insertAt = function( index, value ) {

var part1 = this.slice( 0, index );

var part2 = this.slice( index );

part1.push( value );

作者  | 2015-2-3 17:42:14 | 阅读(326) |评论(0) | 阅读全文>>

Oracle 11g 物化视图语法如下:

create materialized view [view_name]

refresh [fast|complete|force]

[

on [commit|demand] |

start with (start_time) next (next_time)

]

as

{创建物化视图用的查询语句}

以上是Oracle创建物化视图(Materialized View,以下简称MV)时的常用语法,各参数的含义如下:

1.refresh [fast|complete|force] 视图刷新的方式:

fast: 增量刷新.假设前一次刷新的时间为t1,那么使用fast模式刷新物化视图时,只向视图中添加t1到当前时间段内,主表变化过的数据.为了记录这种变化,建立增量刷新物化视图还需要一个物化视图日志表。create materialized view log on (主表名)。(多张表时,此语句也生效,创建后,原来的表中会多出两类视图表:MLOG$_table_name和RUPD$_table_name)

complete:全部刷新。相当于重新执行一次创建视图的查询语句。

force: 这是默认的数据刷新方式。当可以使用fast模式时,数据刷新将采用fast方式;否则使用complete方式。

作者  | 2015-1-30 14:36:20 | 阅读(531) |评论(0) | 阅读全文>>

在两个ORACLE数据库之间实现数据增量同步

2015-1-30 14:28:20 阅读1373 评论0 302015/01 Jan30

在两个数据库中实现数据增量同步,令数据库之间的数据能够同步更新。

Oracle数据库IP:192.168.0.1(源库)、192.168.0.2(目标库)

1、在源库创建测试表TEST

create table TEST(  ID          NUMBER not null,  NAME        VARCHAR2(200));2、插入一条数据

INSERT INTO TEST(ID,NAME) VALUES (1,'1111');commit;

3、在源库创建物化视图日志表

create materialized view log on TEST with rowid;4、在目标库创建一个DBLink链接

create database link DBLINK_TESTconnect TO username identified by "123456"  using '(DESCRIPTION =    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.1)(PORT = 1521))    (CONNECT_DATA =     

作者  | 2015-1-30 14:28:20 | 阅读(1373) |评论(0) | 阅读全文>>

浅析为何Oracle物化视图对distinct, group by不支持快速刷新

2015-1-30 14:25:09 阅读362 评论0 302015/01 Jan30

问题描述:我们知道distinct,group by 不能用于物化视图的快速刷新,而 group by + count 就可以,下面通过简单例子分析一下原因。

实验场景:Oracle 10 / Oracle Linux

一个物化视图定义语句

create materialized view mv_name 

build immediate 

refresh fast on commit 

enable query rewrite 

as select distinct x,y,z from table_name

物化视图三种刷新方式:complete, fast, force 其中complete 相当于清空当前mv所有的内容,重新执行一次创建语句,所以这种刷新方式不需要物化视图日志; fast是根据mv log更新的内容,增量刷新到mv中;force是个和事老,咱们先fast刷新,如果不支持,咱就complete。 所以如要搞清楚distinct,group by为什么不能应用于快速刷新,就要搞清楚如果不用基础表,光靠物化视图日志和物化视图,能不能完成distinct,group by操作。

我们先看一个正确的创建的物化视图,分析它快速刷新的过程:(所有测试均在HR 用户下完成)

1. 创建物化视图日志SQL> select * from t1;

作者  | 2015-1-30 14:25:09 | 阅读(362) |评论(0) | 阅读全文>>

Oracle MATERIALIZED VIEW -- 创建物化视图

2015-1-29 15:40:04 阅读390 评论0 292015/01 Jan29

物化视图概述

Oracle的物化视图提供了强大的功能,可以用在不同的环境中。在不同的环境中,物化视图的作用也不相同。数据仓库中的物化视图主要用于预先计算并保存表连接或聚集等耗时较多的操作的结果,这样,在执行查询时,就可以避免进行这些耗时的操作,而从快速的得到结果。在数据仓库中,还经常使用查询重写(query rewrite)机制,这样不需要修改原有的查询语句,Oracle会自动选择合适的物化视图进行查询,完全对应用透明。物化视图和表一样可以直接进行查询。物化视图可以基于分区表,物化视图本身也可以分区。除了在数据仓库中使用,物化视图还用于复制、移动计算等方面。物化视图有很多方面和索引很相似:使用物化视图的目的是为了提高查询性能;物化视图对应用透明,增加和删除物化视图不会影响应用程序中SQL语句的正确性和有效性;物化视图需要占用存储空间;当基表发生变化时,物化视图也应当刷新。

创建物化试图主要选项说明

创建物化视图时可以指定多种选项,下面对几种主要的选项进行简单说明:

名称

ON PREBUILD TABLE

描述

将已经存在的表注册为物化视图。同时还必须提供描述创建该表的查询的 SELECT 子句。可能无法始终保证查询的精度与表的精度匹配。为了克服此问题,应该在规范中包含 WITH REDUCED PRECISION 子句。

名称

Build Clause

创建方式

描述

包括BUILD IMMEDIATE和BUILD DEFERRED两种

作者  | 2015-1-29 15:40:04 | 阅读(390) |评论(0) | 阅读全文>>

oracle 物化视图使用

2015-1-29 15:39:02 阅读306 评论0 292015/01 Jan29

1.分类:

    on demand ,on commit两种

on demand 是手动刷新,即如果不刷新物化视图,则视图更改后不自动更新数据

on commit是自动刷新,即基本数据改变,则物化视图数据自动发生变化

默认情况下,如果没指定刷新方法和刷新模式,则Oracle默认为FORCE和DEMAND

2.on demand模式物化视图

ii1)创建物化视图

create materialized view mv_pboc_data_rtoc

   as

   select * from pboc_data_rtoc;

  Materialized view created

       ii2) 创建物化视图(指定每天刷新一次)

create materialized view mv_name refresh force on demand start with sysdate

next sysdate+1

      ii3)创建物化视图(指定每天晚上10点刷新一次)

create materialized view mv_name refresh force on demand start withsysdate next to_d

作者  | 2015-1-29 15:39:02 | 阅读(306) |评论(0) | 阅读全文>>

查看所有日志>>

 
 
 
 
 
 
 
 

山东省 济南市 金牛座

 发消息  写留言

 
博客等级加载中...
今日访问加载中...
总访问量加载中...
最后登录加载中...
 
 
 
 
 
 
 
心情随笔列表加载中...
 
 
 
 
 
 
 
模块内容加载中...
 
 
 
 
 

日志分类

 
 
日志分类列表加载中...
 
 
 
 
 

归档

 
 
数据加载中...
 
 
 
 
 

日历

 
 
模块内容加载中...
 
 
 
 
 

网易新闻资讯

 
 
 
 
新闻标题 
列表加载中...
 
 
 
 
 
 
 
博友列表加载中...
 
 
 
 
 
 
 
圈子列表加载中...
 
 
 
 
 

天气

 
 
模块内容加载中...
 
 
 
 
 

发现好博客

 
 
列表加载中...
 
 
 
 
 

有道博客搜索

 
 
 
 
 
 我要留言
 
 
 
留言列表加载中...
 
 
 
 
 
 
 
日志评论
评论列表加载中...
 
 
 
 
 
 
 
 
 
 
 
网易云音乐 曲目表歌词秀
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
模块内容加载中...
 
 
 
 
 
 
 
模块内容加载中...
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018

注册 登录  
 加关注