2010-01-11 94 views
0

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

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

and then click the Refresh button, or try again later.


A name was started with an invalid character. Error processing resource ' https://uappdev.marvell.com/login/index.jsp '. Lin...

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

,我找出转换的servlet类文件不在[JBoss主] /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> 
+0

您确定您已安装jdk,以便JBoss可以编译JSP吗? (不知道这是什么原因) – 2010-01-11 23:11:29

+0

Tomcat + JBoss不再使用javac来编译JSP,它们在内部执行 – skaffman 2010-01-11 23:18:36

+0

是的,对,JBoss捆绑了Tomcat 5.5。我错误地认为它是Tomcat 5.0。感谢您指出了这一点。 – 2010-01-11 23:30:44

回答

0

现在的问题是,JSP并没有按预期编译或执行。

负责此事的人是在servlet容器的web.xml中配置的JspServlet。对于JBoss AS,这是Tomcat及其默认位于Tomcat安装的/conf文件夹中的web.xml。其必须包含在同一servlet-name上的org.apache.jasper.servlet.JspServlet<servlet-mapping>的有效(即未未注释的)<servlet>定义以及*.jspurl-pattern。验证一切是否正确。

另一个原因可能是该web应用本身(一个在/WEB-INF文件夹)的web.xml有另一个FilterServlet完全一样url-patternJspServlet(因此被覆盖它),但是这并非如此在判断你发布的web.xml之后。

+0

谢谢!我确实发现在jbossweb-tomcat55.sar/conf/web.xml中有一个地方是“取消注释使用jdk1.5”,我从Iam使用jdk 1.5.0_16开始取消注释。但重新启动jboss后仍然有同样的问题。它是不是jboss 4.0.4ga不能与jdk 1.5一起使用? – mengmenger 2010-01-12 06:14:46

+0

我还检查了org.apache.jasper.servlet.JspServlet的定义以及* .jsp的url-pattern。它在那里。 – mengmenger 2010-01-12 06:49:47

1

我确实找到了解决方案。根据jsight所说的“是的,我认为它是内部的......我只是想知道apache-> jboss过程(或其他)是否实际上并未触及你认为它的页面,例如,你会看到这样的问题,如果Apache服务的页面本身(错误配置的Apache),而不是重定向到JBoss。或者如果你打的东西以外的.jsp(一些其他排列的网址) - jsight“

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