Weblogic几个403错误的分析

在实际的技术支持工作中,遇到不少访问weblogic 出现403错误的情况,在这里总结一下:

 

1. 9&10版本部署应用后,访问应用报403错误

 

9&10 版本以后,需要部署完应用后,把应用激活。另外要记得选择“service all request“,才能正常的访问,否则会出现http response code 403的错误。

 

 

2. 从tomcat上移植过来的应用,在weblogic上发布出现 403 错误

 

tomcat的web application打包方式和weblogic不一样,webroot这个文件夹在weblogic里面不支持,需要按照J2EE标准的方式对文件进行打包。

 

3. weblogic中,如果对jsp,servlet的组件设置了访问权限,而登录的用户无法访问对应的资源的话,会报error 403 -- forbidden

4. to be continued....

 

 

下面是一个搜到的一个对403错误分析比较全面的网站的内容,转载一下

原文是http://www.checkupdown.com/status/E403_cn.html


HTTP 403 错误 – 禁止访问 (Forbidden)

介绍

您的Web服务器认为, 客户端 (例如您的浏览器) 发送的 HTTP 数据流正确, 但由于某种原因, 禁止访问网址所指的内容。

这表明一个根本的进入问题,也许难解决,因为 HTTP 协议在没提供任何原因的情况下,允许Web服务器 给出该响应。 因此 403 错误相当于您的Web服务器无条件拒绝,并且不允许进一步探讨。

生成这类错误最普遍的原因是目录浏览为网站所禁止。 多数网站想让您用网址(URLs) 浏览网站上的网页。 他们通常不允许您浏览网站的文件目录结构。 例如, 尝试以下网址( 然后在您的浏览器中点击 ‘Back’/ 返回 ‘ 按钮返回本页 ) :

http://www.checkupdown.com/accounts/grpb/B1394343/


这个网址会导致 403 错误显示 " 禁止访问: 您没有访问该服务器上 /accounts/grpb/B1394343/ 的许可 ” 。 这是因为我们的 CheckUpDown 网站故意不想让您浏览目录 - 您必须使用网页中的超链接从一个特定网页浏览到另一个网页。 互联网上多数网站都是这样 - 他们的 Web 服务器将"允许目录浏览"设置为关(OFF)。

HTTP 循环中的 403 错误

任何客户端 ( 例如您的浏览器或我们的 CheckUpDown 机器人 ) ,都需要通过以下循环:

  • 从您站点的 IP 名称 ( 即您站点的网址-URL, 不带起始的 ‘http://') 获得一个 IP 地址。这个对应关系 ( 即由 IP 名称向 IP 地址转换的对应关系 ) 由域名服务器 (DNSs) 提供。
  • 打开一个 IP 套接字 (socket) 连接到该 IP 地址。
  • 通过该套接字写 HTTP 数据流。
  • 从您的Web服务器接受响应的 HTTP 数据流。该数据流包括状态编码, 其值取决于 HTTP 协议 。 解析该数据流得到 状态编码和其他有用信息。

该错误在以上所述的最后一步生成,即当客户端收到 HTTP 状态编码并识别其为 ‘403’ 时。

解决 403 错误 – 一般方法

您首先需要确定你是否遇到了"不允许目录浏览"的问题。 如果是这个问题, 您就会看到网址是以斜杠’/’结尾而不是一 个具体的网页名(例如 .htm 或 .html) 。 如果是这个问题,那么您没有选择,只能直接访问那个网站的各个 网页。

可能的情况是目录下应有一些内容, 但实际上什么都还没有。 例如,如果您的互联网服务供应商(ISP)提供 ‘主页’, 那么, 您就需要为ISP分配给你的主页目录提供一些内容 - 通常是HTML文件。 这些内容到位以前, 任何人访问您的主页都会遇到 403 错误。解决方案是上载所却内容 – 直接由您自己完成或将它们提供给您的ISP。 在内容装入目录后,还需要被授权互联网共访。 您的ISP理应完成这一步, 如果他们没这样做,那是他们遗漏了这个明显的步骤。

如果您的整个网站以某种方式安全设置(根本不对普通互联网用户开放),那么应会出现 401 – 未 授权信息。 此时, 您 的 Web 服务器也可能反而生成403 错误信息, 这种情况虽然不太可能但也会发生。

有些 Web 服务器, 以前曾经收管过您的网站,现已停止,但是不能或不肯重新定向到新的网址。 在这种情况下, 反馈 403 错误并非异常, 而不是更有帮助的错误信息。因此,如果您 最近改变了您网站的任何设定 ( 例如改换了互联网服务供应商 - ISPs) , 那么 403 错误就可能会出现。 很明显,在这种条件下,该错误响应在 一定时间内会消失, 典型情况下一到两个星期之内, 即当互联网跟上您所做的变动时。

如果您认为该网址* 应该 * 是对任何互联网用户开放的,并且您最近并未改变您网站的任何基本设定,那么 403 信息表明一个更深 层的问题。 您能做的第一件事是通过浏览器检查您的网址。 这个浏览器应该运行在一台您以前从未操作过, 也不包含任何有关您的信息的计算机上, 并且您还应该避免您以前使用过的身份验证 (密码等 ) 。 理想条件下, 所有这些 应该在您以前从未使用过的完全不同的互联网连接 (例如由一个不同的互联网服务供应商 - ISP 提供的拨号连接 ) 上完成 。 简而言之, 您设法采用一个完全陌生的人在通过网上冲浪访问您网页的网址时的情况。

如果这种通过浏览器检查的办法不显示授权问题,则可能是您的 Web 服务器 ( 或周边系统 ) 被设置为不允许某种 HTTP 传输 模式。 换句话说就是, 来自一个知名的浏览器的 HTTP 通讯是允许的, 但来自其他系统的自动通讯则被拒绝, 并生成 403 错误代码。 这是一种异常情况,但是也许表明您的 Web 服务器周围采取了一个非常具有防御性的安全策略。

解决 403 错误 – CheckUpDown

第一个问题是你的网址上的网页是否是对互联网上所有用户任意开放。 如果不是这样,那么您可能需要为您的 CheckUpDown 帐户提供二项内容 2. 网站用户名,和 3. 网站密码 - 但这只是在你的网站使用HTTP 基本验证时。 您 的系统管理员或其他 IT支持人员会知道使用的是什么安全和验证措失。

然而, 如果您的网页是对所有访问者开放的,并且您网站的托管和访问设置最近也没有根本性的改变, 那么 403 消息则只应该 在一种情况下出现,即您的 Web 服务器在我们试图访问您的网站时采用的途径中发现了一些无法接受的问题。 由于它表明一个基本 的授权问题,我们只能通过和负责您的网站及周边系统安全的人员 进行交涉来解决。 不幸的是这些讨论会有些耗时, 但经常会友好地解决。 您可以通过向您的安全人员推荐我们的 服务的方式予以协助。 如果您持续收到 403 错误,就请与我们联系 (最好通过电子邮件) , 以便我们就解决问题的最佳方式达成一致。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
前言 第一部分 JSP入门 第1章 概述 1.1 Java技术 1.1.1 Java技术的发展 1.1.2 JavaBeans 1.1.3 JDBC 1.1.4 J2EE 1.1.5 EJB 1.1.6 Java Servlet 1.2 JSP技术 1.2.1 JSP技术概述 1.2.2 JSP的优势及与其他Web开发工具的比较 1.3 JSP开发Web的几种主要方式 1.3.1 直接使用JSP 1.3.2 JSP+JavaBeans 1.3.3 JSP+JavaBeans+Servlet 1.3.4 J2EE开发模型 1.4 本书用到的软件及获取 第2章 预备知识 2.1 Java程序设计基础 2.1.1 Java语言规则 2.1.2 Java变量和函数 2.1.3 子类 2.1.4 this和super 2.1.5 类的类型 2.1.6 抽象类 2.1.7 接口 2.1.8 包 2.2 JavaBeans 2.2.1 JavaBeans的属性 2.2.2 JavaBeans的事件 2.2.3 持久化 2.2.4 用户化 2.3 Java Servlet 2.3.1 HTTP Servlet API 2.3.2 系统信息 2.3.3 传送HTML信息 2.4 SQL语言 2.4.1 SQL子类型 2.4.2 SQL语言的具体命令和使用 2.5 JDBC 2.5.1 什么是 JDBC 2.5.2 JDBC 产品 2.5.3 连接概述 2.5.5 一个简单的例子 第3章 JSP开发平台的建立:Tomcat 3.1 Tomcat的安装和直接使用 3.2 Tomcat和Apache的配合 3.3 Tomcat和IIS的配合 3.4 Tomcat的配置和常见问题 3.4.1 Tomcat的主配置文件:server.xml 3.4.2 Windows下代码保护的问题 3.4.3 Apache、IIS和Tomcat协作时工作 目录的添加 3.4.4 设定Tomcat作为Windows的服务而启动 3.4.5 在Tomcat中建立新的Web应用程序 第4章 JSP的语法和语义 4.1 通用的语法规则 4.1.1 元素的语法规则 4.1.2 JSP中的相对路径 4.2 注释 4.3 指令 4.3.1 page指令 4.3.2 include指令 4.3.3 taglib指令 4.4 内置对象 4.5 脚本元素 4.5.1 声明 4.5.2 表达式 4.5.3 脚本代码 4.6 动作 4.6.1 id和scope属性 4.6.2 标准动作 第5章 作为XML的JSP 5.1 为什么要使用XML相容的语法形式 5.2 关于文本类型的语法 5.2.1 jsp:root元素 5.2.2 公共标识符 5.3 指令 5.3.1 page指令 5.3.2 include指令 5.3.1 taglib指令 5.4 脚本元素 5.4.1 声明 5.4.2 脚本代码 5.4.3 表达式 5.5 如何将一个普通的JSP文件转换为一个XML 文档 5.6 JSP1.1的DTD文件 第6章 JSP基础实例 6.1 第一个JSP程序—HelloWorld! 6.2 注释的使用 6.3 脚本元素 6.3.1 声明 6.3.2 表达式 6.3.3 脚本代码 6.4 page指令 6.4.1 import 6.4.2 session 6.4.3 错误处理 6.5 包含其他文件 6.6 使用JavaBean 6.7 内置对象 6.7.1 用request对象获取客户端的数据 6.7.2 用response对象向客户端发送信息 6.7.3 其他内置对象 6.8 <jsp:forward> 6.9 使用插件 6.10 使用session对象 6.10.1 会话的概念 6.10.2 session对象可用的方法和属性 6.10.3 session对象的基本例子 6.10.4 利用session制作一个购物车 6.10.5 JavaBeans的作用域 6.10.6 利用JavaBeans制作的购物车 6.11 使用application对象 6.11.1 应用的概念 6.11.2 application对象可用的方法和属性 6.11.3 application对象内包含的系统信息 6.11.4 利用application建立一个简单的聊天室 第7章 用JSP实现常见的Web应用 7.1 常见的Web应用及分析 7.1.1 留言板、论坛和社区 7.1.2 聊天室 7.1.3 搜索引擎 7.1.4 电子商务 7.1.6 后台管理系统 7.2 留言板 7.2.1 功能分析 7.2.2 功能实现和技术要点 7.2.3 代码和分析 7.3 进一步完善的留言板 7.3.1 功能分析 7.3.2 功能实现和技术要点 7.3.3 代码和分析 7.4 聊天室 7.4.1 功能实现和技术要点 7.4.2 代码和分析 7.5 下一步 第二部分 高级JSP技术 第8章 JSP开发平台的搭建:J2EE 8.1 J2SDKEE的安装和使用 8.1.1 软硬件的支持 8.1.2 安装 8.2 J2SDKEE的配置 8.2.1 JDBC的配置 8.2.2 事务处理 8.2.3 服务的端口号 8.2.4 日志文件 8.2.5 安全 8.2.6 钝化发生的内存极限 8.2.7 JNDI服务器主机 8.2.8 HTTP服务的发布目录 8.3 WebLogic的安装和使用 8.3.1 软硬件要求 8.3.2 安装和启动 8.4 WebLogic的配置 8.4.1 系统级参数的设置 8.4.2 将WebLogic作为HTTP服务器使用 8.4.3 使用ISAPI桥连接WebLogic和IIS 8.4.4 WebLogic配置示例 第9章 扩展JSP标签 9.1 概述 9.1.1 扩展标签的作用 9.1.2 如何开发扩展标签 9.1.3 简单的扩展标签 9.1.4 包含内容处理的扩展标签 9.1.5 能够协作的扩展标签 9.1.6 定义了脚本变量的扩展标签 9.2 标签处理类的开发 9.2.1 接口和基类 9.2.2 开发 9.3 标签库文件 9.3.1 taglib 9.3.2 tag 9.4 定位一个tld文件 9.4.1 在Web.xml中定位一个tld文件 9.4.2 直接在JSP文件中定位tld文件 9.5 扩展标签实例 9.5.1 得到父标签的数据 9.5.2 TestTag类 9.5.3 Title类 9.5.4 Data类 9.5.5 TLD文件 9.5.6 在JSP中使用扩展标签 第10章 Enterprise JavaBeans 10.1 Java服务器端组件标准—EJB 10.1.1 EJB和JavaBeans 10.1.2 EJB的开发与使用中的角色 10.2 Session Bean 10.2.1 Session Bean的状态管理模式 10.2.2 Session Bean的生命周期 10.3 Entity Bean 10.3.1 Entity Bean的特性 10.3.2 Entity Bean的生命周期 10.4 EJB的开发 10.4.1 Enterprise JavaBeans的实际处理文件 10.4.2 实现EJBObject文件 10.4.3 实现EJBHome文件 10.4.4 生成ejb-jar.xml文件 10.4.5 打包生成JAR文件 10.5 EJB的部署—J2SDKEE 10.5.1 使用deploytool打包EJB 10.5.2 使用deploytol部署EJB 10.6 EJB的部署—BEA WebLogic 10.6.1 生成可部署的ejb-jar包 10.6.2 部署WbLogic的ejb-jar包 10.7 使用EJB 10.7.1 本地访问EJB 10.7.2 远程访问EJB 10.8 JSP和EJB 10.9 EJB开发实例—电子商务应用 10.9.1 EJB的实现文件—TestCartEJB 10.9.2 实现Home接口TestCartHome 10.9.3 实现远程Object接口TestCart 10.9.4 EJB的Web组件TestCartWebImp 10.9.5 JSP文件 10.9.6 实例的内部运行逻辑 第11章 其他高级功能 11.1 JDBC2.0和JDBC数据库连接池 11.1.1 JDBC2.0新功能概述 11.1.2 结果集增强功能 11.1.3 批处理更新 11.1.4 对Java对象的持久性 11.1.5 数据库连接池使用实例 11.2 文件上载 11.2.1 实现机理 11.2.2 文件上载实例 第12章 JSP高级应用实例:网上书店 12.1 概述 12.2 扩展标签的使用 12.2.1 数据集作用的BookList标签 12.2.2 让数据循环输出的Books标签 12.2.3 输出数据的标签 12.2.4 控制页面前进、后退的标签 12.2.5 测试标签 12.3 EJB及其Web组件 12.3.1 ShoppingCart 12.3.2 Books 附录A JSP应用实例:网上教育代码 附录B JavaServer Pages白皮书 附录C 常用JSP相关网址
超级有影响力的Java面试题大全文档 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 2.继承:  继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。 3.封装:  封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。 4. 多态性:  多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。 5、String是最基本的数据类型吗?  基本数据类型包括byte、int、char、long、float、double、boolean和short。  java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类 6、int 和 Integer 有什么区别  Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。 原始类型 封装类 boolean Boolean char Character byte Byte short Short int Integer long Long float Float double Double  引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关。 7、String 和StringBuffer的区别  JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用 StringBuffers来动态构造字符数据。 8、运行时异常与一般异常有何异同?  异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。 9、说出Servlet的生命周期,并说出Servlet和CGI的区别。  Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。 与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。 10、说出ArrayList,Vector, LinkedList的存储性能和特性  ArrayList 和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。 11、EJB是基于哪些技术实现的?并说出SessionBean和EntityBean的区别,StatefulBean和StatelessBean的区别。 EJB包括Ses
前言 第一部分 JSP入门 第1章 概述 1.1 Java技术 1.1.1 Java技术的发展 1.1.2 JavaBeans 1.1.3 JDBC 1.1.4 J2EE 1.1.5 EJB 1.1.6 Java Servlet 1.2 JSP技术 1.2.1 JSP技术概述 1.2.2 JSP的优势及与其他Web开发工具的比较 1.3 JSP开发Web的几种主要方式 1.3.1 直接使用JSP 1.3.2 JSP+JavaBeans 1.3.3 JSP+JavaBeans+Servlet 1.3.4 J2EE开发模型 1.4 本书用到的软件及获取 第2章 预备知识 2.1 Java程序设计基础 2.1.1 Java语言规则 2.1.2 Java变量和函数 2.1.3 子类 2.1.4 this和super 2.1.5 类的类型 2.1.6 抽象类 2.1.7 接口 2.1.8 包 2.2 JavaBeans 2.2.1 JavaBeans的属性 2.2.2 JavaBeans的事件 2.2.3 持久化 2.2.4 用户化 2.3 Java Servlet 2.3.1 HTTP Servlet API 2.3.2 系统信息 2.3.3 传送HTML信息 2.4 SQL语言 2.4.1 SQL子类型 2.4.2 SQL语言的具体命令和使用 2.5 JDBC 2.5.1 什么是 JDBC 2.5.2 JDBC 产品 2.5.3 连接概述 2.5.5 一个简单的例子 第3章 JSP开发平台的建立:Tomcat 3.1 Tomcat的安装和直接使用 3.2 Tomcat和Apache的配合 3.3 Tomcat和IIS的配合 3.4 Tomcat的配置和常见问题 3.4.1 Tomcat的主配置文件:server.xml 3.4.2 Windows下代码保护的问题 3.4.3 Apache、IIS和Tomcat协作时工作 目录的添加 3.4.4 设定Tomcat作为Windows的服务而启动 3.4.5 在Tomcat中建立新的Web应用程序 第4章 JSP的语法和语义 4.1 通用的语法规则 4.1.1 元素的语法规则 4.1.2 JSP中的相对路径 4.2 注释 4.3 指令 4.3.1 page指令 4.3.2 include指令 4.3.3 taglib指令 4.4 内置对象 4.5 脚本元素 4.5.1 声明 4.5.2 表达式 4.5.3 脚本代码 4.6 动作 4.6.1 id和scope属性 4.6.2 标准动作 第5章 作为XML的JSP 5.1 为什么要使用XML相容的语法形式 5.2 关于文本类型的语法 5.2.1 jsp:root元素 5.2.2 公共标识符 5.3 指令 5.3.1 page指令 5.3.2 include指令 5.3.1 taglib指令 5.4 脚本元素 5.4.1 声明 5.4.2 脚本代码 5.4.3 表达式 5.5 如何将一个普通的JSP文件转换为一个XML 文档 5.6 JSP1.1的DTD文件 第6章 JSP基础实例 6.1 第一个JSP程序—HelloWorld! 6.2 注释的使用 6.3 脚本元素 6.3.1 声明 6.3.2 表达式 6.3.3 脚本代码 6.4 page指令 6.4.1 import 6.4.2 session 6.4.3 错误处理 6.5 包含其他文件 6.6 使用JavaBean 6.7 内置对象 6.7.1 用request对象获取客户端的数据 6.7.2 用response对象向客户端发送信息 6.7.3 其他内置对象 6.8 6.9 使用插件 6.10 使用session对象 6.10.1 会话的概念 6.10.2 session对象可用的方法和属性 6.10.3 session对象的基本例子 6.10.4 利用session制作一个购物车 6.10.5 Java

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值