我在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 </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 </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 :(得分: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
文件夹中的那个)与另一个Filter
或Servlet
完全相同url-pattern
1}}作为JspServlet
(并因此覆盖它),但在判断您发布的web.xml
之后情况并非如此。