今天解决了一个问题让我觉得惊喜,虽然我对JSP还算陌生,可是正因为这样,工作时需要解决问题时,得到解决是让人兴奋的。
做的项目其实是互联星空的收费项目,其实是有样例给参考的,代码倒不是主要的问题,主要是处理一下特殊情况。发觉JAVA给项目合作是很合适的,class打包jar后,功能给出接口就行了,一个黑盒子,客户开发是在自己的控制之下的。
先说一下服务器配置,安装java环境和tomcat就不多说了,见《Linux下搭建JSP环境小记》
看到比较跩的淘气猫的时候,jsp环境就已经搭建好了,开始配置应用环境。
以上设置是加上classpath参数,程序可以找到相应的jar文件,并需要把jar文件放到刚才定义的路径里面。
但我不相信每次使用jar文件都得修改系统配置,重启服务器,看了一下文章,可以这样处理:
在jsp应用程序下建立 WEB-INF/lib 文件夹,把相应的jar文件放置在该目录下,这样就不需要添加系统变量,但仅限于jsp文件不是到处存放的情况吧,否则就得到处复制了
一直要解决的就是这个问题,xml文件在系统启动的时候指定了,我希望可以引用独立的xml文件。
自己不太懂,问一些有经验的人,该怎么做,好像这个是机密一样,总不肯透漏,或者就是不知道了。阿权比较倔强,希望自己解决掉。问多了也不给答案也没啥意思的。
于是重新安装过tomcat,一步一步配置,让它出错,尝试解决出错,前面的jar文件解决过了,剩下这个了。
首先得明白这个代码的作用,查了一下含义:
Options的可选取项:
(1) -debug:以deug的模式运行interpreter,它允许也jdb(Java调试器)一起使用;
(2) -checksource:打开interpreter时会检查源文件即.java文件和.class文件的日期,如果.java比.class还要新,那么.class文件会被重新编译;
(3) -classpath:该参数覆盖环境变量CLASSPATH;
(4) -mx x:修改所分配内存的最大值,如-mx –10m;x>1000byte
(5) -ms x:修改初始化内存;x>1000byte
(6) -noasyncgc:关闭垃圾回收线程,即不自动回垃圾,这时可以使用System.gc这个方法来手动回收垃圾;
(7) -noverify:关闭代码的验证功能;
(8) -prof:打开报表功能,该功能对程序的执行进行跟踪,最终形成报表文件,记录所有方法的执行时间,有利于找出程序的瓶颈所在;
(9) -ss x:在java的运行环境中为每个线程配置两个别stack,一个用于Java代码,另一个用于c/c++代码,这里可以-ss用于改变用于c/c++代码的stack大小,如-ss 100k,最小值为1000bytes,默认值为128k;
(10) -oss x:用于修改java代码的stack,默认值为400k
(11) -t:显示程序执行过程
(12) -verbose:每次.class运行时显示相关信息;
(13) -verbosegc:每次垃圾回收时显示相关信息;
(14) -D:允许修改System的属性值
这个就好办了,也就是说赋予了System一个变量com.onewaveinc.webpro,指定其值是一个路径
那是否可以在程序开始的时候设定这个值呢,大振人心~~
找到设置系统变量的方法是:
测试成功~
那问题又来了,是否可以读取当前目录下的配置文件呢?
取得现在的系统路径就OK啦~
阿权实践过程就完成了,参考代码如下,加在文件开始处:
解释一下:
request.getRequestURI() 取得现在请求的URI
application.getRealPath 把URI转换为物理路径
getParent()是取得上级路径,也就是现在目录啦!
原创内容如转载请注明:来自 阿权的书房
做的项目其实是互联星空的收费项目,其实是有样例给参考的,代码倒不是主要的问题,主要是处理一下特殊情况。发觉JAVA给项目合作是很合适的,class打包jar后,功能给出接口就行了,一个黑盒子,客户开发是在自己的控制之下的。
先说一下服务器配置,安装java环境和tomcat就不多说了,见《Linux下搭建JSP环境小记》
看到比较跩的淘气猫的时候,jsp环境就已经搭建好了,开始配置应用环境。
set CLASSPATH=%CLASSPATH%;%TOMCAT_HOME%\lib\ispsoapservice.jar;....
以上设置是加上classpath参数,程序可以找到相应的jar文件,并需要把jar文件放到刚才定义的路径里面。
但我不相信每次使用jar文件都得修改系统配置,重启服务器,看了一下文章,可以这样处理:
在jsp应用程序下建立 WEB-INF/lib 文件夹,把相应的jar文件放置在该目录下,这样就不需要添加系统变量,但仅限于jsp文件不是到处存放的情况吧,否则就得到处复制了
set CATALINA_OPTS=%CATALINA_OPTS%
-Dcom.onewaveinc.webpro=D:\webpro2\webpro.xml
-Dcom.onewaveinc.webpro=D:\webpro2\webpro.xml
一直要解决的就是这个问题,xml文件在系统启动的时候指定了,我希望可以引用独立的xml文件。
自己不太懂,问一些有经验的人,该怎么做,好像这个是机密一样,总不肯透漏,或者就是不知道了。阿权比较倔强,希望自己解决掉。问多了也不给答案也没啥意思的。
于是重新安装过tomcat,一步一步配置,让它出错,尝试解决出错,前面的jar文件解决过了,剩下这个了。
首先得明白这个代码的作用,查了一下含义:
引用
Options的可选取项:
(1) -debug:以deug的模式运行interpreter,它允许也jdb(Java调试器)一起使用;
(2) -checksource:打开interpreter时会检查源文件即.java文件和.class文件的日期,如果.java比.class还要新,那么.class文件会被重新编译;
(3) -classpath:该参数覆盖环境变量CLASSPATH;
(4) -mx x:修改所分配内存的最大值,如-mx –10m;x>1000byte
(5) -ms x:修改初始化内存;x>1000byte
(6) -noasyncgc:关闭垃圾回收线程,即不自动回垃圾,这时可以使用System.gc这个方法来手动回收垃圾;
(7) -noverify:关闭代码的验证功能;
(8) -prof:打开报表功能,该功能对程序的执行进行跟踪,最终形成报表文件,记录所有方法的执行时间,有利于找出程序的瓶颈所在;
(9) -ss x:在java的运行环境中为每个线程配置两个别stack,一个用于Java代码,另一个用于c/c++代码,这里可以-ss用于改变用于c/c++代码的stack大小,如-ss 100k,最小值为1000bytes,默认值为128k;
(10) -oss x:用于修改java代码的stack,默认值为400k
(11) -t:显示程序执行过程
(12) -verbose:每次.class运行时显示相关信息;
(13) -verbosegc:每次垃圾回收时显示相关信息;
(14) -D:允许修改System的属性值
这个就好办了,也就是说赋予了System一个变量com.onewaveinc.webpro,指定其值是一个路径
那是否可以在程序开始的时候设定这个值呢,大振人心~~
找到设置系统变量的方法是:
System.setProperty("com.onewaveinc.webpro","D:\webpro2\webpro.xml");
测试成功~
那问题又来了,是否可以读取当前目录下的配置文件呢?
取得现在的系统路径就OK啦~
阿权实践过程就完成了,参考代码如下,加在文件开始处:
<%
String strAbsPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent();
System.setProperty("com.onewaveinc.webpro",strAbsPath+"/webpro.xml");
%>
String strAbsPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent();
System.setProperty("com.onewaveinc.webpro",strAbsPath+"/webpro.xml");
%>
解释一下:
request.getRequestURI() 取得现在请求的URI
application.getRealPath 把URI转换为物理路径
getParent()是取得上级路径,也就是现在目录啦!
原创内容如转载请注明:来自 阿权的书房
收藏本文到网摘
小记吃烤翅
798:雕像篇

System.setProperty("com.onewaveinc.webpro",strAbsPath+"/conf/webpro.xml"); 如果2个接口都用到这个 但是 内容不一样com.onewaveinc.webpro 这个一样的话怎么处理呢?
System.setProperty("com.onewaveinc.webpro",strAbsPath+"/conf/webpro1.xml");
和
System.setProperty("com.onewaveinc.webpro",strAbsPath+"/conf/webpro2.xml");