Profil de 天玄子菩提洞BlogListes Outils Aide

天玄子

Occupation
Lieu

RSS 源

Chargement...Chargement...
31 janvier

我一直以为我是一条船

我一直以为我是一条丢了锚的小船,迷失在大海上,无助的四处流浪。
直到听到你的声音我才知道我错了,我不是什么丢了锚的小船,而是一只四处飞翔的风筝。
我的线一直都被你握在手上。
相思比梦还长
11 avril

Strust中的多模块多配置文件技术

Strust中的单模块多配置文件技术
单模块多配置文件主要依赖于strust1.1中对多个struts-config.xml配置文件的支持。使用方法:例子如下
web.xml文件
<servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>netbook.NetBookActionServlet</servlet-class>
    <init-param>
        <param-name>config</param-name>           
        <param-value>/WEB-INF/struts-config.xml,/WEB-INF/struts-config_search.xml</param-value>
    </init-param>
    <init-param>
        <param-name>CharsetName</param-name>
        <param-value>GB2312</param-value>
    </init-param>  
    <load-on-startup>1</load-on-startup>
</servlet>
一个NetBookActionServlet模块,<param-value>/WEB-INF/struts-config.xml,/WEB-INF/struts-config_search.xml</param-value>两个配置文件。
struts-config_search.xml文件存放位置也是在WEB-INF目录下,struts-config.xml文件存放全局的信息相关的配置,struts-config_search.xml存放search模块的配置。
Strust中的多模块多配置文件技术
Strust中的多模块多配置文件依赖于strust1.1对多个struts-config.xml配置文件的支持和对多模块的支持
应用模块允许将单个Struts应用划分成几个独立的子模块,每个模块允许有自己的Struts配置文件、JSP页面、Action类和FormBean类等等,从而更好地支持并行开发。
准备工作为每个模块准备一个自己的配置文件,struts-config-XXXX.xml
配置web.xml文件以通知ActionServlet控制器表明在本Web应用中存在那些子模块
各个子模块可以共享web.xml文件和资源信息(这里是applicatonResources.properties)文件中的配置项目的内容。
web.xml文件的例子:
<servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>netbook.NetBookActionServlet</servlet-class>   
    <init-param>
        <param-name>config</param-name>
        <param-value>/WEB-INF/struts-config.xml,/WEB-INF/struts-config_search.xml</param-value>
    </init-param>     
    <init-param>
        <param-name>config/GroupBuy</param-name> 
        <param-value>/WEB-INF/struts-config-GroupBuy.xml</param-value>
    </init-param>
    <init-param>
        <param-name>CharsetName</param-name>
        <param-value>GBK</param-value>
    </init-param>  
    <load-on-startup>1</load-on-startup>
</servlet>
在原有的一个<init-param>(原有的是缺省模块)基础上增加其他模块的<init-param>
其中<param-name>表示为config/XXX的形式<param-value>中还要定义模块的路径。
注意struts-config-XXXX.xml文件中path其实指向的是默认路经/模块名/定义的路径
6 avril

shell编程

shell的语法结构

匹配符号 ?匹配任意一个字符, *匹配任意个数的任意字符. []匹配[]里面的一个字符如[abc]匹配a或者b或者c[a-z]匹配a到z的任意一个字符.

管道符 "|"就是管道符,作用是将一个命令的输出通过管道符来作为另一个命令的输入.

重新定向输入输出重新定向输入和输出.如mail echo < hi将hi文件的内容输入给mail程序.但是那种直接从控制台接收输入的程序,用这个符号就会出错.

特殊字符的处理用"\"来转义

Tab键可以用来补全命令, 多个命令可以用分号隔开. 换行时可以用分号和反斜扛断开长命令;\

shell的编程注释用"#"

第一个shell程序在个人目录下建一个文件,文件名mydate内容如下

echo "Mr.$USER,today is:"

date +%B%d%A

echo "Whish you a lucky day"

然后进入shell,cd到你这个文件的目录chomd +x mydate设置mydate为可执行文件然后mydate就可以直接运行了运行结果

 Mr.root,today is:

四月06星期四

Whish you a lucky day

shell的参数 $n位置参数,n是一个数字$1就代表第1个参数$0代表程序的名字.$0是一定有的属于内部变量,$1就不是,因为程序可以没有参数,但不能没有名字. $#是指传递给程序的总的参数数目. $?指上一个命令的代码或所执行的shell程序在shell里的退出情况,如果正确退出值为0不正确退出值就是非0. $*执行shell程序时,传递给程序的所有参数组成的一个字符串.

变量之间的比较用test命令test

表达式字符串比较操作符

= 比较2个字符串是否相同,如果相同值为"是"

!= 比较2个字符串是否相同,如果不同值为"是"

-n 比较字符串的长度是否大于零,如果大于零,值为"是"

-z 比较字符串的长度是否等于零,如果等于零,值为"是"

数字比较操作符

-eq 相等,

-ge 大于等于

-le 小于等于

-ne 不等于

-gt 大于

-lt 小于

逻辑操作符

! 反,取反

-a 与

-o 或

文件操作符

-d 对象存在且为目录则返回"是"

-f 对象存在且为文件则返回"是"

-L 对象存在且为符号连接则返回"是"

-r 对象存在且可读则返回"是"

-s 对象存在且长度非零则返回"是"

-w 对象存在且可写则返回"是"

-x 对象存在且可执行则返回"是"

file1 -nt file2文件1比文件2新则返回"是"

file1 -ot file2文件1比文件2旧则返回"是"

控制结构语句

for循环

shell的for循环和一般编程语言里的for有些不同,shell里的for作用是对一组参数都进行一个操作如删除$HOME/download目录下的所有的gz后缀名的文件

for i in $HOME/download/*.gz

do

    rm -f $i

    echo "$i 被删除"

done

while循环

1加到100

result=0

i=0

while test $i -le 100

do

  result='expr $result+$i'

  i='expr $i+1'

done

echo "result=$result"

until循环用法和while相反在test条件不成立的才循环.

条件语句 if语句语法

if 表达式

then 操作

elif 表达式

then 操作

else 操作

fi case语句语法

case $USER in

penglei|root)

  echo "I LOVE YOU!"

  echo "$USER";;

abc)

  echo "haha hello abc!";;

*)

  echo "who are you ? $USER";;

esac

两个;;号是用来分开2个选项的.放在一个选项最后一个命令后面.

break命令case语句里用break跳出,循环也可以用break跳出. exit命令用于退出子shell,在执行shell程序的时候,其实是生成了个子shell,在程序里可以用exit退出程序.

shell入门

shell版本有很多,/bin/bash,/bin/bsh,/bin/ash,/bin/tcsh,/bin/ksh,/bin/zsh.

在登录后可以用chsh命令改变运行的shell,这个命令在/usr/bin目录下,使用方法可以直接用chsh命令也可以用chsh -s shell .

Red Hat默认的shell是bash shell的变量 shell变量大致可以分为3种:

1.环境变量.

2内部变量.

3用户变量环境变量是系统环境的部分,它们不需要用户去定义,用户可以在shell中使用它们,其中某些变量还可以用shell程序修改.

常用的环境变量:

HOME=/home/用户名 这个变量记录的是用户自己的目录.

LOGNAME=用户名 这个变量记录的用户名.

MAIL 这个用户记录的用户邮箱路径.

PATH=路径 用户输入的命令所在路径

PS1=提示符 这个变量记录的提示符如果没有设置PS1那么提示符就是$根用户的提示符是#

PWD=目录 PWD随着用户改变目录而被系统自动更改,PWD代表用户现在访问目录.

SHELL=shell 这个变量指示出用户的shell程序所在的地方,一般用的Bash的SHELL是/bin/bash TZ date命令的时区

TERM=终端类型 这个变量记录用户使用的终端类型,一般终端类型是vt100.

用printenv命令可以查看系统当前的环境变量.可以用env命令修改特定的环境变量.可以用export命令申明新的环境变量. set命令显示所有本地定义的Shell变量.unset命令清除环境变量.readonly命令设置只读环境变量.

内部变量是由系统提供,用户不能修改它们.

用户变量就是用户在编写shell时定义的变量.

bash shell的配置文件自己的主目录下.bash_profile文件,这个文件是用户登录时自动运行的脚本文件. 自己的主目录下.bashrc文件用户每次进入shell时自动运行的脚本文件. 自己的主目录下.bash_logout文件在用户每次退出时运行. 用户需要定义的变量每次都能使用可以在.bash_profile和.bashrc文件里面定义.

5 avril

linux架设java环境

linux架设java环境 首先www.sun.com下个jdk拿j2se1.4来说下载下来是个j2sdk-1_4_2_11-linux-i586-rpm.bin文件用chmod命令给文件设置访问权限,如chmod +x j2sdk-1_4_2_11-linux-i586-rpm.bin给这个文件一个执行权限. 当然只能是root才能提升,可以用su命令转成root(要是知道root密码的话).然后./j2sdk-1_4_2_11-linux-i586-rpm.bin进行解压缩.解压出来一个j2sdk-1_4_2_11-linux-i586.rpm文件.然后使用rpm命令进行安装,如:rpm -Uvh j2sdk-1_4_2_11-linux-i586.rpm. rpm -q 查询安装过的rpm程序配合-a参数可以把系统所有安装过的程序都显示出来如:rpm -q -a(查所有程序),rpm -q j2sdk(查找刚才安装的jdk) rpm -e 删除程序如:rpm -e j2sdk(删除刚才安装的jdk) 安装完之后cd回到自己的目录vi .bash_profile(用vi程序打开shell的配置文件),你每次登录,系统都会执行这个文件来配置个人的shell,所以可以把环境变量定义在这个文件里面. 然后在文件里添加下面的环境变量 PATH="$PATH:/usr/java/j2sdk1.4.2_11/bin:/usr/java/j2sdk1.4.2_11/jre/bin" JAVA_HOME=/usr/java/j2sdk1.4.2_11 export JAVA_HOME JRE_HOME=/usr/java/j2sdk1.4.2_11/jre export JRE_HOME CLASSPATH=/usr/java/j2sdk1.4.2_11/lib:/usr/java/j2sdk1.4.2_11/jre/lib export CLASSPATH 当然路径要写自己的安装路径.进vi程序的时候按insert才能插入,esc返回命令状态:s保存, :wq保存且退出, :q是退出 ok注消一下重登录,java环境就配置好了.
 
La liste est vide.