gpt4 book ai didi

java - 将在 weblogic 8.1 上运行的 Struts 应用程序部署到 weblogic 11g 时出现问题

转载 作者:行者123 更新时间:2023-11-29 06:15:03 25 4
gpt4 key购买 nike

如果我在我的本地 weblogic 8.1 服务器上部署一个 ear 文件,它工作得很好。但是当我在 Weblogic 11g 上部署它时,它给出了一个错误。

这是场景——

应用程序的第一页要求您选择用户。在用户选择时,它将执行 RolesAction 并将您带到角色页面,其中与用户关联的角色将作为下拉列表出现。

一旦我部署了 Argus 应用程序并在测试登录页面上选择了用户,整个 RolesAction 类就会被执行,但不是在下拉列表中获取具有与该用户关联的角色的页面,而是“错误 404-未找到”错误页面和在日志文件中出现以下提到的错误。

<Mar 20, 2011 8:20:42 PM GMT> <Error> <HTTP> <BEA-101017> <[ServletContext@406125315[app:ArgusDEV module:ArgusWeb path:/ArgusWeb spec-version:null]] Root cause of ServletException.

java.lang.NoSuchMethodError: org/apache/struts/config/ForwardConfig.getContextRelative()Z

at org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:298)

at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:232)

at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)

at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

任何输入??

我的 Roles.jsp 具有如下的 tld 声明:

<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>

您是否发现有关 tld 声明的任何问题?

想法?

谢谢!

编辑:

在您选择用户的应用程序中出现的第一个页面是 Login.jsp。在此 jsp 中,tld 声明如下:显示此页面。然而,roles.jsp 页面是给出错误的页面。

Login.jsp 顶级域名声明:

<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>

两个 jsp 都具有相同的 tld 声明,并且显示 1 而另一个给出错误。

想法?

编辑:

角色.jsp

<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<link rel="stylesheet" type="text/css" href="css/arg.css" />


</head>
<form name="rolesForm" method="post">

<logic:present name="VIEW_BEAN" scope="request">
<logic:notEmpty name="VIEW_BEAN" property="userId" scope="request">
<input type="hidden" name="Id" value="<bean:write name="VIEW_BEAN" property="userId"/>">
</logic:notEmpty>
</logic:present>
<table border="0" cellpadding="1" cellspacing="0" width="95%" bgcolor="#FFFFFF">
<tr>
<td height="19">&nbsp;</td>
</tr>
<tr>
<td width="100%" align="center" class="epi-dataTableLiteNew">
<font size="2"><b>Select a Role:</b>&nbsp;</font>
<select size="1" name="roleType" class="textbox" ">
<option value="">Select ---</option>
<logic:notEmpty name="VIEW_BEAN" property="roleList" scope="request">
<logic:iterate id="record" name="VIEW_BEAN" property="roleList" scope="request">
<option value="<bean:write name="record" property="roleID"/>"><bean:write name="record" property="roleName"/></b></option>
</logic:iterate>
</logic:notEmpty>
</select>
<input type="submit" value="Submit" onClick="return selectRole()" style="border:1px ridge #000000; height:22px; font-weight:bold cellpadding="0" cellspacing="0" 100%>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</td>

</tr>
</table>
</form>
</body>
</html>

登录.jsp

<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<html>
<head>
</head>
<%@ page
language="java"
%>
<meta http-equiv="Content-Type" content="text/html" />
<link rel="stylesheet" type="text/css" href="css/arg.css" />

<title>Home</title>


<%
String userid=request.getHeader("user");
String isLoginPage=request.getParameter("isUser");

%>
<!-- Please select the user from the list and press continue: &nbsp; -->
<form name="homePageForm" action="RolesAction.do" method="post">

</form>
</body>
</html>

编辑:

struts-config.xml

<action
path="/roles"
name="HomePageForm"
type="org.springframework.web.struts.DelegatingActionProxy"
scope="request">
<forward name="success" path=".rolespage"/>
</action>

为 url 模式调用的操作在 spring.xml 文件中。

最佳答案

检查应用程序库文件夹以找到 struts-core-1.3.8.jar 以及 struts.jar。就是因为这个,才抛出异常。

struts.jar 有 forwardConfig 类和 getContextRelative() 方法。

struts-core-1.3.8.jar 有 forwardConfig 类,但没有 getContextRelative() 方法。

这是导致问题的原因。

因此删除 struts.jar 以便使用 1.3.8 版本。

--另外添加struts-extras-1.3.8.jar到应用程序库

-- 在 jsp 中,将标记库 uri 更正为:

<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %> 

<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>

这解决了问题

关于java - 将在 weblogic 8.1 上运行的 Struts 应用程序部署到 weblogic 11g 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5414726/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com