2014年8月4日
开发了一段时间,挺有感触了,记一些下来,慢慢完善补充,比如补充一些好用的模板,好用的方法,技巧进来。
==================================================================
原始需求:
判定,此需求是否可由我单独接收、确认
确认是否我该做的
确认需求带来的好处(错误修改类、无错优化类)
考虑好处是否可以扩大化(把这“个”错误修正,变成这“类”错误修正;把这个页面的优化,变成这类页面的优化)
注:需求的确认通常都需要时间,有不确定地方,刚不要当场否定或接收。
开发完成效果描述:
显示要素要齐全
操作步骤要齐全
生成可被查看,可被操作的东西
开发完成效果可行性验证:
验证效果是否满足原始需求
验证效果是否可能无法完成
验证效果是否最优方案(同类案例对比)
确定最终效果,三方确认(原始需求提出人-甲方,开发人-乙方技术人员,项目负责人-乙方非技术人员)
开发完成效果实现:
设计
可复用性
命名规范化
一个功能一个方法,同一类方法放到一个类中
类名、方法名、出参入参名要确定
有文档,可拿来交流,可拿来追溯
审核
让参与人员或技术主管审核
测试要素设定
顺序操作步骤场景设定
强制插入步骤场景设定
开发
测试
http://www.360doc.com/content/14/0317/14/7669533_361282824.shtml日常工作中我们可能对服务器配置远程桌面连接居多,有第三方工具也有微软自带,比如在server2008上实现多用户的远程连接。
但是也可能碰到在WIN 7上实现多用户远程访问的情况,我们可以大概了解下如何设置(针对入门级别):
一、基础配置
右击计算机--属性--高级系统设置
选择远程选项卡:
因为工作环境中有XP访问,所以不能选择
仅允许运行使用网络级别身份验证的远程桌面的计算机连接(更安全)(N)
(二)新建与选择用户
新建用户,右击计算机--管理--本地用户和组--新用户(此处以PC1为例)
给用户赋权远程桌面,可以在刚刚远程选项卡下点击选择用户--添加
(三)多用户访问实现
添加完成之后,我们默认只能有一个用户一个连接数来访问,如果我们需要多用户访问或者单用户多连接数访问
我们需要修改组策略,开始--运行(WIN+R),输入gpedit.msc回车,配置如下:
1、计算机配置--管理模板--Windows组件--远程桌面服务--远程桌面会话主机--
修改限制连接的数量
2、修改将远程桌面服务用户限制到单独的远程桌面服务会话,改为禁用,允许单用户多会话:
(四)修改WIN7 默认远程桌面连接数配置(WIN7默认连接数为1,服务器有单独修改RD数目的管理工具,所以我们利用第三方工具)
如上修改步骤结束后,我们已经能实现多用户多会话访问远程桌面了
修改默认连接数工具见附件
whereis java
which java (java执行路径)
echo $JAVA_HOME
tar -zxvf jdk-7u65-linux-x64.tar.gz1.所有用户的shell都有权使用这些环境变量
用文本编辑器打开/etc/profile,在profile文件末尾加入:
JAVA_HOME=/usr/share/jdk1.5.0_05
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATHexport CLASSPATH
重新登录。
2.某个用户有权使用这些环境变量
用文本编辑器打开用户目录下的.bashrc文件,在.bashrc文件末尾加入:
JAVA_HOME=/usr/share/jdk1.5.0_05
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATHexport CLASSPATH
重新登录。
进入到bin目录下执行
chmod +x *.sh
java -version
1.要将 /usr/share/jdk1.5.0_05jdk 改为jdk安装目录
2. linux下用冒号”:”来分隔路径
3. $PATH / $CLASSPATH / $JAVA_HOME 是用来引用原来的环境变量的值在设置环境变量时特别要注意不能把原来的值给覆盖掉了。
4. CLASSPATH中当前目录”.”不能丢掉。
5. export是把这三个变量导出为全局变量。
6. 大小写必须严格区分。
纯java开发的软件在linux下面也可以应用自如。那么首先就需要配置好linux下的java环境,具体说来,就是配置jdk环境变量。
介绍在linux下配置jdk环境变量的几种常用方法。
首先在linux下安装jdk,如果出现提示权限不够(且root下也提示权限不够),可用#ls -l filename命令查看一下,如果显示类似如:
-rw-rw-rw- 1 root root ….
则表示任何用户都没有可执行权限(即使是root用户)。
解决方法:
#chmod a+x filename
这样,安装好后,就可以接下来进行环境变量的配置了。这里给出三种可选方法:
一、修改/etc/profile文件
当本机仅仅作为开发使用时推荐使用这种方法,因为此种配置时所有用户的shell都有权使用这些环境变量,可能会给系统带来安全性问题。
用文本编辑器打开/etc/profile,在profile文件末尾加入:
JAVA_HOME=/usr/share/jdk1.5.0_05
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH
重新登录即可。
二、修改.bashrc文件
这种方法更为安全,它可以把使用这些环境变量的权限控制到用户级别,如果需要给某个用户权限使用这些环境变量,只需要修改其个人用户主目录下的.bashrc文件就可以了。
用文本编辑器打开用户目录下的.bashrc文件,在.bashrc文件末尾加入:
set JAVA_HOME=/usr/share/jdk1.5.0_05
export JAVA_HOME
set PATH=$JAVA_HOME/bin:$PATH
export PATH
set CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export CLASSPATH
重新登录。
三、直接在shell下设置变量
不推荐使用这种方法,因为换个shell,该设置就无效了。这种方法仅仅是临时使用,以后要使用的时候又要重新设置,比较麻烦。
只需在shell终端执行下列命令:
export JAVA_HOME=/usr/share/jdk1.5.0_05
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
注意:
1.要将 /usr/share/jdk1.5.0_05jdk 改为jdk安装目录
2. linux下用冒号”:”来分隔路径
3. $PATH / $CLASSPATH / $JAVA_HOME 是用来引用原来的环境变量的值在设置环境变量时特别要注意不能把原来的值给覆盖掉了。
4. CLASSPATH中当前目录”.”不能丢掉。
5. export是把这三个变量导出为全局变量。
6. 大小写必须严格区分。
/**//**
* 金额格式化,每三位加个,
*/
function formatMoney1(money){
var str = money + "";
var result = "";
var index = str.indexOf(".");
var endStr = "";
if(index>-1){
endStr = str.substring(index, str.length);
endStr = endStr.length==3?endStr:endStr+"0";
str = str.substring(0, index);
}else{
endStr = ".00";
}
var i = 0;
var len = str.length;
for(i;i<len;i++){
if((len - (4 + i)) % 3 == 0 && (len - (4 + i)) >= 0){
result += str.substr(i, 1) + ",";
}else{
result += str.substr(i, 1);
}
}
return result+endStr;
}
摘要: 事例1:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->package com.apexsoft.mobile.utils;import java.io.FileInputStream;import java.io.Fil...
阅读全文
在commons-io包中org.apache.commons.io.IOUtils类的toByteArray(InputStream input)已经有实现了,我们可以参考下思路,完成我们的方法,我们可以用类似下面的代码实现inputStream转化为byte[]数组public static byte[] toByteArray(InputStream input) throws IOException {
ByteArrayOutputStream output = new ByteArrayOutputStream();
byte[] buffer = new byte[4096];
int n = 0;
while (-1 != (n = input.read(buffer))) {
output.write(buffer, 0, n);
}
return output.toByteArray();
}
下面是IOUtils中摘录出与toByteArray相关的方法
org.apache.commons.io.IOUtils.toByteArray
方法如下:
public static byte[] toByteArray(InputStream input)
throws IOException
{
ByteArrayOutputStream output = new ByteArrayOutputStream();
copy(input, output);
return output.toByteArray();
}
public static int copy(InputStream input, OutputStream output)
throws IOException
{
long count = copyLarge(input, output);
if (count > 2147483647L) {
return -1;
}
return (int)count;
}
public static long copyLarge(InputStream input, OutputStream output)
throws IOException
{
byte[] buffer = new byte[4096];
long count = 0L;
int n = 0;
while (-1 != (n = input.read(buffer))) {
output.write(buffer, 0, n);
count += n;
}
return count;
}
文章详细出处:http://blog.csdn.net/zdwzzu2006/article/details/7745827
Tomcat6.0虚拟目录配置[转]
设虚拟目录 "site",通过 http://localhost:8080/site 访问物理路径 D:"site 文件夹里面的内容。设置过程如下:
1.复制 Tomcat6.0"webapps"ROOT 目录下的 WEB-INF 文件夹到 D:"site 目录下。
2.打开 D:"site"WEB-INF 目录下的 web.xml 文件,在 </description> 之后加入:
<!--JSPC servlet mappings start -->
<!--JSPC servlet mappings end -->
3.打开 Tomcat6.0"conf"server.xml 文件,在 <Host> 和 </Host> 之间加入:
<Context path="/site" docBase="d:"site"></Context>
path="/site" 就是虚拟目录的名称
docBase="d:"site"> 为物理路径
4.打开 Tomcat6.0"conf"web.xml 文件,找到:
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
把false设成true保存,重启Tomcat,现在就可以应用 http://localhost:8080/site 虚拟目录了。
Tomcat6设置虚拟目录的方法, 不修改server.xml
在tomcat文件夹的conf"catalina"localhost(对于Tomcat6版本及其以上,需要自己创建catalina和localhost这两个文件夹)
增加project .xml文件(该文件名的project要和下面的“path=“/xxx"”的xxx相同)
文件内容:
<Context path="/project" reloadable="true" docBase="E:"javastudio"oob" workDir="E:"javastudio"oob"work" />
docBase是项目文件夹的web-inf文件夹的上一层目录
workDir是指Tomcat解析Jsp转换为Java文件,并编译为class存放的文件夹,设置在项目文件夹里面,可以避免移植到其他地方首次读取jsp文件需要重新解析 。一般格式:项目文件夹"work
reloadable是指可以重新加载,一般设置为true,方便使用,不需要经常重启Tomcat。
以后启动Tomcat,在浏览器输入http://localhost:8080/project就能访问
该项目的welcome文件。
转:TomCat 6.0虚拟目录配置!2008年03月09日 星期日 13:51之前在5.0下配置虚拟目录,我一般是采用在conf"server.xml中增加<Context .../>的方法,可是此法在6.0中失效(后经验证有效,可能是之前实验过程中有误)。按照tomcat 6.0启动之后的相关文档的说明http://localhost:8080/docs/config/context.html,尝试了一些方法:
-----------------------------tomcat6.0文档中关于Context的说明-------------------
You may define as many Context elements as you wish. Each such Context MUST have a unique context path. In addition, a Context must be present with a context path equal to a zero-length string. This Context becomes the default web application for this virtual host, and is used to process all requests that do not match any other Context's context path.
For Tomcat 6, unlike Tomcat 4.x, it is NOT recommended to place <Context> elements directly in the server.xml file. This is because it makes modifing the Context configuration more invasive since the main conf/server.xml file cannot be reloaded without restarting Tomcat.
Context elements may be explicitly defined:
in the $CATALINA_HOME/conf/context.xml file: the Context element information will be loaded by all webapps
in the $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml.default file: the Context element information will be loaded by all webapps of that host
in individual files (with a ".xml" extension) in the $CATALINA_HOME/conf/[enginename]/[hostname]/ directory. The name of the file (less the .xml) extension will be used as the context path. Multi-level context paths may be defined using #, e.g. context#path.xml. The default web application may be defined by using a file called ROOT.xml.
if the previous file was not found for this application, in an individual file at /META-INF/context.xml inside the application files
inside a Host element in the main conf/server.xml
-------------------------------------------------------------------------------
逐一验证,方法1,2均无效,成功的有以下2种:(下文用%tomcat%表示Tomcat6.0的安装目录,希望在浏览器中通过http://localhost:8080/abc/default.jsp 来访问d:"myJsp"default.jsp)
方法一:(文档中说不建议使用)
找到%tomcat%"conf"server.xml,在</Host>之前加入:
<Context docBase="d:"myJsp" path="/abc" />
保存文件之后,重启Tomcat即可。注意:大小写不能错! 斜杆"/"或"""的方向别搞错。
方法二:该方法推荐使用,比较简单。
在%tomcat%"conf"Catalina"locahost(该目录可能需要手工创建)下新建一个文件abc.xml,注意文件名中的abc就表示虚拟目录的名称,所以不可随意命名,该文件的内容为:
<Context docBase="d:"myJsp" />
重启Tomcat即可。
-------------------------------------------------------------------------------------------
其它设置:当url中未明确指定文件名时,是否列出相关目录下所有文件的开关设置:
打开 %tomcat%"conf"web.xml 文件,找到:
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
把false改成true即可。
-------------------------------------------------------------------------------------------
其他人的同类经验:http://fengzhiyu-sh.javaeye.com/blog/153506 经验证无需设置文中的web application下的web.xml文件。
文章详细参考:
http://www.cnblogs.com/bingoidea/archive/2009/06/06/1497787.html
修改
catalina.bat
找到下面的东东:
:doStart
shift
if not "%OS%" == "Windows_NT" goto noTitle
set _EXECJAVA=start "
Tomcat" %_RUNJAVA%
goto gotTitle
修改红色部分
import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class UrlResource {
public static void main(String[] args){
try {
System.out.println(UrlResource.getUrlDetail("http://www.baidu.com",true));
saveUrlFile("http://www.baidu.com/img/baidu_jgylogo3.gif", "D:\\1.gif");
} catch (Exception e) {
e.printStackTrace();
}
}
//获取网络文件,转存到fileDes中,fileDes需要带文件后缀名
public static void saveUrlFile(String fileUrl,String fileDes) throws Exception
{
File toFile = new File(fileDes);
if (toFile.exists())
{
// throw new Exception("file exist");
return;
}
toFile.createNewFile();
FileOutputStream outImgStream = new FileOutputStream(toFile);
outImgStream.write(getUrlFileData(fileUrl));
outImgStream.close();
}
//获取链接地址文件的byte数据
public static byte[] getUrlFileData(String fileUrl) throws Exception
{
URL url = new URL(fileUrl);
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
httpConn.connect();
InputStream cin = httpConn.getInputStream();
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len = 0;
while ((len = cin.read(buffer)) != -1) {
outStream.write(buffer, 0, len);
}
cin.close();
byte[] fileData = outStream.toByteArray();
outStream.close();
return fileData;
}
//获取链接地址的字符数据,wichSep是否换行标记
public static String getUrlDetail(String urlStr,boolean withSep) throws Exception
{
URL url = new URL(urlStr);
HttpURLConnection httpConn = (HttpURLConnection)url.openConnection();
httpConn.connect();
InputStream cin = httpConn.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(cin,"UTF-8"));
StringBuffer sb = new StringBuffer();
String rl = null;
while((rl = reader.readLine()) != null)
{
if (withSep)
{
sb.append(rl).append(System.getProperty("line.separator"));
}
else
{
sb.append(rl);
}
}
return sb.toString();
}
} // 禁止图像缓存
response.setHeader("Pragma", "no-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
文章详细参考:
http://blog.csdn.net/pandakong/article/details/7430844