jboss中的JSP部署问题

时间:2010-01-11 23:01:17

标签: java apache jsp jboss mod-jk

我在Linux中安装了Jboss 4.0.4GA。在我开始没有问题的jboss后,我试图在浏览器中访问JSP页面,得到错误:

The XML page cannot be displayed 
Cannot view XML input using XSL style sheet. Please correct the error
     

然后单击“刷新”按钮,或   稍后再试。

     
     

名称以无效字符开头。处理资源“https://uappdev.marvell.com/login/index.jsp”时出错。林...

     

<%@ page import =“com.marvell.macroip.util.Constants”%>        - ^

我发现转换后的servlet类文件不在[jboss home] /work/jboss.web/localhost / _ / org ...目录中。 Jboss日志文件中没有错误。

有人可以帮我解决这个问题吗?我已经花了很多时间来解决这个问题,但没有运气。

这是我的web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
  <filter>
    <filter-name>AuthenticationFilter</filter-name>
    <filter-class>com.marvell.macroip.web.util.AuthenticationFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>AuthenticationFilter</filter-name>
    <url-pattern>/extract/*</url-pattern>    
  </filter-mapping>
  <filter-mapping>
    <filter-name>AuthenticationFilter</filter-name>    
    <url-pattern>/admin/*</url-pattern>
  </filter-mapping>
  <listener>
    <listener-class>com.marvell.macroip.web.util.PublicSessionListener</listener-class>
  </listener>
  <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
      <param-name>debug</param-name>
      <param-value>2</param-value>
    </init-param>
    <init-param>
      <param-name>config</param-name>
      <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <init-param>
      <param-name>application</param-name>
      <param-value>com.marvell.macroip.web.ApplicationResources</param-value>
    </init-param>
    <init-param>
      <param-name>detail</param-name>
      <param-value>2</param-value>
    </init-param>
    <init-param>
      <param-name>validate</param-name>
      <param-value>true</param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>index.html</welcome-file>
  </welcome-file-list>
  <error-page>
    <error-code>400</error-code>
    <location>/error/index.jsp?code=400</location>
  </error-page>
  <error-page>
    <error-code>401</error-code>
    <location>/error/index.jsp?code=401</location>
  </error-page>
  <error-page>
    <error-code>403</error-code>
    <location>/error/index.jsp?code=403</location>
  </error-page>
  <error-page>
    <error-code>404</error-code>
    <location>/error/index.jsp?code=404</location>
  </error-page>
  <error-page>
    <error-code>405</error-code>
    <location>/error/index.jsp?code=405</location>
  </error-page>
  <error-page>
    <error-code>408</error-code>
    <location>/error/index.jsp?code=408</location>
  </error-page>
  <error-page>
    <error-code>410</error-code>
    <location>/error/index.jsp?code=410</location>
  </error-page>
  <error-page>
    <error-code>411</error-code>
    <location>/error/index.jsp?code=411</location>
  </error-page>
  <error-page>
    <error-code>412</error-code>
    <location>/error/index.jsp?code=412</location>
  </error-page>
  <error-page>
    <error-code>413</error-code>
    <location>/error/index.jsp?code=413</location>
  </error-page>
  <error-page>
    <error-code>414</error-code>
    <location>/error/index.jsp?code=414</location>
  </error-page>
  <error-page>
    <error-code>415</error-code>
    <location>/error/index.jsp?code=415</location>
  </error-page>
  <error-page>
    <error-code>500</error-code>
    <location>/error/index.jsp?code=500</location>
  </error-page>
  <error-page>
    <error-code>501</error-code>
    <location>/error/index.jsp?code=501</location>
  </error-page>
  <error-page>
    <error-code>502</error-code>
    <location>/error/index.jsp?code=502</location>
  </error-page>
  <error-page>
    <error-code>503</error-code>
    <location>/error/index.jsp?code=503</location>
  </error-page>
  <error-page>
    <error-code>506</error-code>
    <location>/error/index.jsp?code=506</location>
  </error-page>
  <taglib>
    <taglib-uri>/WEB-INF/for-loop.tld</taglib-uri>
    <taglib-location>/WEB-INF/for-loop.tld</taglib-location>
  </taglib>
  <taglib>
    <taglib-uri>/WEB-INF/root.tld</taglib-uri>
    <taglib-location>/WEB-INF/root.tld</taglib-location>
  </taglib>
  <taglib>
    <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
  </taglib>
  <taglib>
    <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-html.tld</taglib-location>
  </taglib>
  <taglib>
    <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
  </taglib>
  <taglib>
    <taglib-uri>/WEB-INF/struts-nested.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-nested.tld</taglib-location>
  </taglib>
  <security-constraint>
    <display-name>MacroIP Login</display-name>
    <web-resource-collection>
      <web-resource-name>MacroIP Login</web-resource-name>
      <url-pattern>/login/*</url-pattern>
    </web-resource-collection>
    <user-data-constraint>
      <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
  </security-constraint>
  <security-constraint>
    <display-name>Extract</display-name>
    <web-resource-collection>
      <web-resource-name>Extract</web-resource-name>
      <url-pattern>/extract/*</url-pattern>
    </web-resource-collection>
    <user-data-constraint>
      <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
  </security-constraint>
  <security-constraint>
    <display-name>Admin</display-name>
    <web-resource-collection>
      <web-resource-name>Admin</web-resource-name>
      <url-pattern>/admin/*</url-pattern>
    </web-resource-collection>
    <user-data-constraint>
      <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
  </security-constraint>
</web-app>

jsp页面:

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ page import="com.marvell.macroip.util.Constants" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/logic-ext.tld" prefix="logic-ext" %>
<bean:parameter id="logout" name="logout" value="false"/>

<html>
<head>
<title>Tracking System</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script language="JavaScript" type="text/JavaScript" src="/includes/imgChange.js"></script>
<script language="JavaScript" type="text/JavaScript" src="/includes/css_bCheck.js"></script>
<script language="javascript" type="text/javascript" src="/includes/sifr.js">// flash insert code</script>
</head>

<body bgcolor="#eeeeee" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
              <table width="470" border="0" cellspacing="0" cellpadding="0">
                   <tr valign="middle">
<td align="right" bgcolor="#ebebeb" class="smallgrey"><span class="red">*</span>User Name &nbsp;</td>
                   <td>
<html:text property="userName" styleClass="formElement" size="29" disabled="false" style="width:290px"/>
                  </td>
                </tr>

                <tr valign="middle">
                  <td align="right" bgcolor="#ebebeb" class="smallgrey"><span class="red">*</span>Password&nbsp;</td>
                  <td>
                  <html:password property="password" maxlength="35" redisplay="false" styleClass="formElement" size="29" disabled="false" style="width:290px"/>
                  </td>
                </tr>
              </table>

              <table width="440" border="0" cellspacing="0" cellpadding="0">

                <tr>
                  <td align="right">
                    <input type="image" alt="Submit" border="0" />
                  </td>                        
                </tr>
              </table>

如果我尝试这个jsp页面,它将是空白页面或在浏览器中显示原始的jsp代码。

   <html><head><title>JSP Test</title> 
   <%! 
   String message = "Hello, World."; 
   %> 
   </head> 
   <body> 
   <h2><%= message%></h2> 
   <%= new java.util.Date() %> 
   </body></html>

2 个答案:

答案 0 :(得分:1)

我确实找到了解决方案。从什么jsight说“是的,我认为它是内部的...我只是想知道是否可能是apache-&gt; jboss进程(或其他东西)实际上没有击中你认为它的页面。例如,你' d看到这样的问题,如果apache正在为页面本身提供服务(配置错误的apache)而不是重定向到jboss。或者可能如果你正在点击.jsp以外的其他东西(url的其他一些排列)。 - jsight“

我发现它应该是apache + ssl尝试自己解决jsp而不是将jsp请求传递给jboss。然后我的同事和我发现mod_jk没有在apache中正确加载。因此,在httpd.conf文件中加载mod-jk.conf后立即添加“JkMountCopy ALL”。并重新启动Apache,瞧......它有效!

答案 1 :(得分:0)

问题在于JSP不是按预期编译或执行的。

负责的是JspServlet,它是在servlet容器的web.xml中配置的。对于JBoss AS,Tomcat及其web.xml默认位于Tomcat安装的/conf文件夹中。 必须包含同一<servlet>上的org.apache.jasper.servlet.JspServlet<servlet-mapping>以及{{servlet-name的有效(即未经过详细说明)url-pattern定义1 {} *.jsp。验证是否正确。

另一个原因可能是web应用程序本身的web.xml/WEB-INF文件夹中的那个)与另一个FilterServlet完全相同url-pattern 1}}作为JspServlet(并因此覆盖它),但在判断您发布的web.xml之后情况并非如此。