如何为JSP页面启用debug_mode

时间:2009-03-14 09:57:05

标签: jsp oc4j

当您在编写JSP页面并在Oracle OC4J或Application Server下运行时遇到严重的编译错误时,您最终会在屏幕上显示以下内容:

  

500内部服务器错误OracleJSP:   发生错误。咨询你的   应用程序/系统管理员   支持。程序员应该考虑   将init-param debug_mode设置为   “真实”看到完整的例外   消息。

我看到有关如何/在何处设置debug_mode init-param的不同建议。有什么选择?

此外,这是Oracle特有的,还是JSP标准功能?对于其他应用程序服务器,该技术有何不同?

3 个答案:

答案 0 :(得分:5)

到目前为止的解决方案......

选项1:将debug_mode参数添加到OC4J global-web-application.xml

  • 该设置将适用于OC4J容器中的所有应用程序
  • 有关详细信息,请参阅@ Mork0075的回复 (注意OC4J容器除外 名称和应用程序名称是 特定于启用的示例 调试Oracle的安全企业版 搜索)

选项2:添加到应用程序的web.xml

  • 显然,允许更本地化的改变
  • 还有其他可能有用的设置(developer_mode,encode_to_java,emit_debuginfo)

例如:

<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>oracle.jsp.runtimev2.JspServlet</servlet-class>
<init-param>
    <param-name>debug_mode</param-name>
    <param-value>true</param-value>
</init-param>
<init-param>
    <param-name>developer_mode</param-name>
    <param-value>true</param-value>
</init-param>
<init-param>
    <param-name>encode_to_java</param-name>
    <param-value>true</param-value>
</init-param>
<init-param>
    <param-name>emit_debuginfo</param-name>
    <param-value>true</param-value>
</init-param>
</servlet> 

由于为oracle.jsp.runtimev2.JspServlet类设置了这些选项,因此它显然特定于Oracle OC4J / Application Server安装。

答案 1 :(得分:1)

请转到$ ORACLE_HOME / oc4j / j2ee / OC4J_SEARCH / config / global-web-application.xml

以这种方式扩展servlet节点:

<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>oracle.jsp.runtimev2.JspServlet</servlet-class>
<init-param>
<param-name>debug_mode</param-name>
<param-value>true</param-value>
</init-param>

重新启动OC4J,那应该是它。另请参阅$ ORACLE_HOME / oc4j / j2ee / OC4J_SEARCH / application-deployments / ses_query / application.log

答案 2 :(得分:1)

假设您正在使用Eclipse,如果您不想经历为jsps配置调试的痛苦,那么MyEclipse插件会提供非常好的JSP调试功能。