近日维护的老旧系统出现一个bug,
正常的文件上传无法进行 文件上传下载协议为smb协议
该系统上传方式比较老旧,在JSP页面上引用applet上传,即调用某一个jar中的class类
主要代码如下:
<object code="AB.class" width="100" height="100">
<param name="java_archive" value="CCC.jar">
<param name="files" value="">
<param name="files" value="">
<param name="files" value="">
</obeject>
这个jar包与Jsp页面放置在同一文件夹下
由于之前做过一个应用服务的迁移,在AB类中需要修改对应的文档服务器信息地址
由于没有源码,需要将该jar包进行反编译修改类文件,然后再重新编译再打包替换原来的jar
这个jar中很多class文件都是低版本jdk,而目前要修改的class文件已经到jdk1.6 (之前一直纠结与是否是由于修改该AB文件后由于jdk版本编译问题,而出现后续很多问题)
由于要修改jar中的CLASS文件比较困难,采用的方法供参考:
首先通过反编译工具 JAD 或者jd-gui 将对应的要修改的类反编译出来,(整个jar反编译的时候发现很多错,修改起来非常麻烦)报错源码信息
然后将该CCC.jar通过winrar软件删除该AB.class文件
然后在myeclipse里面新建一个工程,创建同名AB类,将反编译的信息复制进去,在工程中引用CCC.jar
修改对应的源码AB.java
然后通过 FAT jar(打jar包的插件)将该工程打jar包为同名CCC.jar
成功打出jar包以后,发现在运行时会出现各种错误,
如
java.security.AccessControlException : access denied (java.util.PropertyPermission *.* read)错误
java applet java.lang.System.property (Unknown Source)
错误
一直查,一直被各自在jre修改配置文件,在服务器端添加数字签名等引导,查了很久都没有结果
突然想到我之前做过应用服务器迁移,于是比对老服务器上和新服务器 对应tomcat的配置是否一致,
(虽然版本一样,但新服务的tomcat是自己装的,老服务器上的tomcat是前面很多人弄过的)
发现在tomcat/conf/catalina.policy文件有不一样的地方,老服务器上 有一条 配置
在grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar"{
}
中新增 permission java.security.AllPermission;
添加这一条信息后,问题解决。
目测应该是放开了到了最高权限了。
具体的原因可能需要再研究一下tomcat配置文件的资料,求高手解答告知,也希望对其他小伙伴有所帮助。
相关推荐
2. **conf** 目录:存储服务器配置文件,如`server.xml`(定义服务器的全局配置)、`web.xml`(Web应用程序的默认部署描述符)和`context.xml`(用于特定上下文的配置)。 3. **lib** 目录:存放Tomcat运行时所需的...
首先,`server.xml`文件位于Tomcat的`conf`目录下,它是Tomcat启动时加载的第一个配置文件。这个XML文件按照特定的结构定义了服务器的各个部分,包括`<Server>`, `<Service>`, `<Connector>`, 和 `<Engine>`等元素。...
解压该文件后,我们将得到"apache-tomcat-8.0.1"目录,这个目录包含了运行Tomcat所需的所有组件和配置文件。下面是一些关键组件和它们的作用: 1. **bin**:包含启动和停止Tomcat的脚本,如`catalina.sh`(Unix/...
- 安全策略配置:修改`conf/catalina.policy`,控制Tomcat的权限。 - SSL配置:在`conf/server.xml`中添加SSL Connector,配置证书和密钥库。 8. **集群与负载均衡** - 通过复制多个Tomcat实例,并配置负载均衡...
Tomcat的核心配置文件主要位于`$CATALINA_HOME/conf`目录下,其中几个关键文件包括: 1. **server.xml**: 服务器全局配置文件,定义了各种组件如Connector(连接器)、Executor(执行器)、Context(上下文)等的...
8. **conf**目录:这是Tomcat的配置文件之家,包含`server.xml`(主配置文件)、`web.xml`(全局Web应用配置)、`tomcat-users.xml`(用户权限配置)以及`catalina.policy`(安全策略文件)等。任何对这些文件的改动...
这个"apache-tomcat-6.0.20.rar"压缩包是Apache Tomcat 6.0.20版本的安装包,它包含了运行Tomcat所需的所有组件和配置文件。 在深入讨论之前,首先明确一点:Tomcat并不是一个完整的Java EE服务器,而是实现了...
2. **Tomcat配置**: - `server.xml`:这是Tomcat的主要配置文件,定义了服务器的全局属性,如端口号、连接器、Context等。 - `context.xml`:用于设置特定Web应用的配置,可以放在`META-INF`目录下或在`conf/...
1. **安全管理器**:在`conf/catalina.policy`或`conf/tomcat-users.xml`中配置角色和权限,启用安全管理器。 2. **SSL/TLS**:配置`conf/server.xml`中的`<Connector>`元素以启用HTTPS支持,保护数据传输安全。 3...
配置好catalina.policy文件后,可以通过以下命令启动Tomcat并启用SecurityManager: ``` $CATALINA_HOME/bin/catalina.sh start -security ``` (在Windows上,使用%CATALINA_HOME%\bin\catalina start -security) ...
1. 应用程序结构:一个标准的Java Web应用程序通常包含WEB-INF目录,其中包含web.xml配置文件和其他类库。 2. 部署WAR文件:将打包好的WAR文件放入webapps目录下,Tomcat会自动解压并部署应用。 3. 部署目录结构:...
解压后,将包含所有必要的文件和目录,如bin目录下的可执行文件(用于启动和停止Tomcat),conf目录下的配置文件(如server.xml和web.xml),lib目录下的库文件,以及webapps目录,用于部署Web应用。 3. apache-...
1. 配置过滤器:在Tomcat的`web.xml`文件中添加一个名为`CORSFilter`的过滤器,配置相应的CORS参数。例如: ```xml <filter-name>CORSFilter <filter-class>org.apache.catalina.filters.CorsFilter ...
在 Tomcat 的 `bin` 目录下,使用 `vi` 编辑器打开 `catalina.sh` 文件,在文件的最顶部加入以下启动参数: ``` JAVA_OPTS="-Dcom.sun.management.jmxremote.port=8888 -Dcom.sun.management.jmxremote.ssl=false -...
- **conf**: 配置文件的存放地,如server.xml、tomcat-users.xml等。 - **lib**: 存放Tomcat运行所需的JAR包,以及可被多个Web应用共享的库。 - **logs**: 存储Tomcat的日志文件。 - **temp**: 临时文件存储区。 - *...
【标题】:“Tomcat配置解决跨域问题” 在Web开发中,跨域(Cross-Origin)是一种常见的安全限制,它阻止浏览器从一个源加载资源到另一个不同的源。这主要是为了防止恶意脚本通过注入来窃取数据。然而,在进行前后...
9. **安全管理**:对Tomcat的`conf/catalina.policy`文件进行调整,以限制某些敏感API的使用,防止安全漏洞。 10. **性能优化**:根据需求调整`conf/catalina.properties`和`conf/server.xml`中的JVM参数,如内存...
`bin`目录包含了启动和停止Tomcat的脚本,`conf`目录存储了Tomcat的配置文件,`lib`存放Tomcat运行所需的库文件,而`webapps`则是部署Web应用的地方。 配置Tomcat时,你需要修改`conf/server.xml`文件,这是Tomcat...
- `conf`: Tomcat配置文件。 - 包含`catalina.policy`、`catalina.properties`等。 - `tomcat.tar.gz`: Tomcat安装包。 - `handlers`: 处理程序定义。 - `main.yml`: 定义处理程序逻辑。 - `tasks`: 任务集合...