Weblogic环境部署Jxstar程序,更新js文件后无效

开发工具admin 发表了文章 • 0 个评论 • 11 次浏览 • 6 天前 • 来自相关话题

 
weblogic 应用 eampro 的部署路径为:
D:\oracle\Middleware\user_projects\domains\base_domain\servers\eamserver2\stage\eampro\eampro但集群系统主节点应用域名为 bfda_domain ,而当前节点的应用域名为 base_domain ,造成js文件上传到上面的路径后,应用还是加载不到最新的js文件。
 
报如下错误信息:<2018-8-10 下午08时27分25秒 CST> <Error> <HTTP> <BEA-101019> <[ServletContext@48246386[app:eampro module:eampro path: spec-version:2.5]] Servlet failed with IOException
java.io.IOException: failed to read '22' bytes from InputStream; clen: 6439 remaining: 22 count: 6417
at weblogic.servlet.internal.ChunkOutput.writeStream(ChunkOutput.java:466)
at weblogic.servlet.internal.CharsetChunkOutput.writeStream(CharsetChunkOutput.java:221)
at weblogic.servlet.internal.ChunkOutputWrapper.writeStream(ChunkOutputWrapper.java:192)
at weblogic.servlet.internal.ServletOutputStreamImpl.writeStream(ServletOutputStreamImpl.java:555)
at weblogic.servlet.internal.ServletOutputStreamImpl.writeStream(ServletOutputStreamImpl.java:544)
Truncated. see log file for complete stacktrace
解决方案:
添加 WEB-INF\weblogic.xml 文件,内容如下:<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE weblogic-web-app
PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN"
"http://www.bea.com/servers/wls ... gt%3B
<weblogic-web-app>
<jsp-descriptor>
<page-check-seconds>0</page-check-seconds>
</jsp-descriptor>
<container-descriptor>
<resource-reload-check-secs>0</resource-reload-check-secs>
</container-descriptor>
</weblogic-web-app>
如果要实现 contextpath 为 / 则需要在上面的文件添加一行 
<context-root></context-root>
  查看全部
 
weblogic 应用 eampro 的部署路径为:
D:\oracle\Middleware\user_projects\domains\base_domain\servers\eamserver2\stage\eampro\eampro
但集群系统主节点应用域名为 bfda_domain ,而当前节点的应用域名为 base_domain ,造成js文件上传到上面的路径后,应用还是加载不到最新的js文件。
 
报如下错误信息:
<2018-8-10 下午08时27分25秒 CST> <Error> <HTTP> <BEA-101019> <[ServletContext@48246386[app:eampro module:eampro path: spec-version:2.5]] Servlet failed with IOException
java.io.IOException: failed to read '22' bytes from InputStream; clen: 6439 remaining: 22 count: 6417
at weblogic.servlet.internal.ChunkOutput.writeStream(ChunkOutput.java:466)
at weblogic.servlet.internal.CharsetChunkOutput.writeStream(CharsetChunkOutput.java:221)
at weblogic.servlet.internal.ChunkOutputWrapper.writeStream(ChunkOutputWrapper.java:192)
at weblogic.servlet.internal.ServletOutputStreamImpl.writeStream(ServletOutputStreamImpl.java:555)
at weblogic.servlet.internal.ServletOutputStreamImpl.writeStream(ServletOutputStreamImpl.java:544)
Truncated. see log file for complete stacktrace

解决方案:
添加 WEB-INF\weblogic.xml 文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE weblogic-web-app
PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN"
"http://www.bea.com/servers/wls ... gt%3B
<weblogic-web-app>
<jsp-descriptor>
<page-check-seconds>0</page-check-seconds>
</jsp-descriptor>
<container-descriptor>
<resource-reload-check-secs>0</resource-reload-check-secs>
</container-descriptor>
</weblogic-web-app>

如果要实现 contextpath 为 / 则需要在上面的文件添加一行 
<context-root></context-root>
 

Oracle数据库中保存 NVARCHAR2 类型数据乱码问题处理

个性开发admin 发表了文章 • 0 个评论 • 9 次浏览 • 6 天前 • 来自相关话题

Jxstar-Cloud 2.2.5 版本因需要保存 越南文,把相关字段改成 nvarchar2 类型后,直接在PLSQL工具执行SQL:
 
update funall_text set prop_value_t3 = N'Đã gửi thành công' where prop_key = 'oa-appcc.text2'
 
再查询此字段数据,数据显示正确。但在 Eclipse 环境或者 Tomcat 环境执行上面的SQL,保存的就是乱码,代码示列如下:
 
public static void test2() {
String sql = "update funall_text set prop_value_t3 = N'Đã gửi thành công' where prop_key = 'oa-appcc.text2'";
_log.showDebug("........sql="+sql);

DaoParam param = _dao.createParam(sql);
_dao.update(param);
}
Eclipse 环境中显示的提示信息都能正确显示,后来改进为预编译模式,执行正确:
public static void test2() {
String sql = "update funall_text set prop_value_t3 = ? where prop_key = 'oa-appcc.text2'";
_log.showDebug("........sql="+sql);

DaoParam param = _dao.createParam(sql);
param.addNStringValue("Đã gửi thành công");
_dao.update(param);
}
不过 Jxstar自带的 ojdbc5-1.0.jar 要升级到 ojdbc6-1.0.jar , commons-dbcp-1.3.jar 要升级到 commons-dbcp-1.4.jar 否则不支持 param.addNStringValue 方式传递参数。
 
以上问题解决花费 6个小时,看来还是老啦,解决问题的速度慢了很多!
 
由于业务数据也需要存储越南文,还包括缅甸文、高棉文等,则需要把数据库字符集类型改为 UTF-8,才行,否则所有 varchar2 类型都需要改为 nvarchar2 影响太大。
 
  查看全部
Jxstar-Cloud 2.2.5 版本因需要保存 越南文,把相关字段改成 nvarchar2 类型后,直接在PLSQL工具执行SQL:
 
update funall_text set prop_value_t3 = N'Đã gửi thành công' where prop_key = 'oa-appcc.text2'
 
再查询此字段数据,数据显示正确。但在 Eclipse 环境或者 Tomcat 环境执行上面的SQL,保存的就是乱码,代码示列如下:
 
	public static void test2() {
String sql = "update funall_text set prop_value_t3 = N'Đã gửi thành công' where prop_key = 'oa-appcc.text2'";
_log.showDebug("........sql="+sql);

DaoParam param = _dao.createParam(sql);
_dao.update(param);
}

Eclipse 环境中显示的提示信息都能正确显示,后来改进为预编译模式,执行正确:
	public static void test2() {
String sql = "update funall_text set prop_value_t3 = ? where prop_key = 'oa-appcc.text2'";
_log.showDebug("........sql="+sql);

DaoParam param = _dao.createParam(sql);
param.addNStringValue("Đã gửi thành công");
_dao.update(param);
}

不过 Jxstar自带的 ojdbc5-1.0.jar 要升级到 ojdbc6-1.0.jar , commons-dbcp-1.3.jar 要升级到 commons-dbcp-1.4.jar 否则不支持 param.addNStringValue 方式传递参数。
 
以上问题解决花费 6个小时,看来还是老啦,解决问题的速度慢了很多!
 
由于业务数据也需要存储越南文,还包括缅甸文、高棉文等,则需要把数据库字符集类型改为 UTF-8,才行,否则所有 varchar2 类型都需要改为 nvarchar2 影响太大。
 
 

Jxstar Oracle 支持东南亚多语言数据库配置

个性开发admin 发表了文章 • 0 个评论 • 11 次浏览 • 5 天前 • 来自相关话题

      由于一项目需要支持录入东南亚多语言,支持语言类型包括:中文、英语、越南语、缅甸语、柬埔寨语,软件界面与部分主数据需要支持多语言,业务数据需要支持录入东南亚语言。数据库采用Oracle,则需要设置字符集为 UTF-8 ,这样保证存储数据不会乱码。同时避免之前数据库VARCHAR2字段类型长度不够,把数据库参数设置为 NLS_LENGTH_SEMANTICS = CHAR 。
 
数据库的处理方法如下:

1、先导出 exp 现在的 jxstar_cloud 数据库为dmp文件,然后创建一个新的用户 jxstar_cloud1 , 通过 imp 导入数据,
   然后执行下面的SQL,把查询出来的SQL在jxstar_cloud1中执行一次:
select 'alter table '||table_name||'  modify '||column_name||' '||data_type||'('||DATA_LENGTH||' CHAR);' 
from user_tab_cols where data_type like '%CHAR%' and table_name in (select table_name from user_tables) order by table_name, column_name
2、然后再 exp 导出 jxstar_cloud1 用户的数据为 dmp文件。
3、重新创建一个数据库实例,字符集设置为 UTF-8 ,创建实例时,初始参数 NLS_LENGTH_SEMANTICS 设置为 CHAR ,原来的默认为 BTYE 。
4、再导入 jxstar_cloud1 用户的 dmp 文件,这样能避免在 utf8 字符集环境中,部分varchar2类型数据超长。


  查看全部
      由于一项目需要支持录入东南亚多语言,支持语言类型包括:中文、英语、越南语、缅甸语、柬埔寨语,软件界面与部分主数据需要支持多语言,业务数据需要支持录入东南亚语言。数据库采用Oracle,则需要设置字符集为 UTF-8 ,这样保证存储数据不会乱码。同时避免之前数据库VARCHAR2字段类型长度不够,把数据库参数设置为 NLS_LENGTH_SEMANTICS = CHAR 。
 
数据库的处理方法如下:

1、先导出 exp 现在的 jxstar_cloud 数据库为dmp文件,然后创建一个新的用户 jxstar_cloud1 , 通过 imp 导入数据,
   然后执行下面的SQL,把查询出来的SQL在jxstar_cloud1中执行一次:
select 'alter table '||table_name||'  modify '||column_name||' '||data_type||'('||DATA_LENGTH||' CHAR);' 
from user_tab_cols where data_type like '%CHAR%' and table_name in (select table_name from user_tables) order by table_name, column_name
2、然后再 exp 导出 jxstar_cloud1 用户的数据为 dmp文件。
3、重新创建一个数据库实例,字符集设置为 UTF-8 ,创建实例时,初始参数 NLS_LENGTH_SEMANTICS 设置为 CHAR ,原来的默认为 BTYE 。
4、再导入 jxstar_cloud1 用户的 dmp 文件,这样能避免在 utf8 字符集环境中,部分varchar2类型数据超长。