gpt4 book ai didi

java - 使用项目名称访问主页

转载 作者:行者123 更新时间:2023-11-30 09:17:47 26 4
gpt4 key购买 nike

在我的 web 应用程序中,我必须编写 web 应用程序的 URL 并指定我想作为主页的 home.jsp 页面,我想知道如何访问只需在浏览器中键入项目的根文件夹名称即可应用程序。

我已经把web.xml中的welcome-file-list设置成了每次都想去的home.jsp我访问了该应用程序,但它没有帮助。可能因为我使用的是Struts 2框架,如果可以的话我应该在struts.xml中设置welcome-file-list吗?我该怎么做?

另一个问题,我到目前为止。例如在一个action类的execute方法中,我想要两个不同的结果 SUCCESSERROR,如

if(message.getMessageBody() != null &&  
message.getMessageDestinationEmail() != null &&
message.getMessageHead() != null){
return SUCCESS;
} else
return ERROR;

我将错误映射到 error.jsp 页面,将成功映射到 struts.xml 中的另一个 .jsp 页面

<action name="message" class="com.mule.basik.action.PostOfficeAction" 
method="execute">
<result name="success">/status.jsp</result>
<result name="error">/error.jsp</result>
</action>

但是(在浏览器表单中)我是否填写了 messageHead messageBodysuccess 页面 (/status. jsp) 被返回。

我不确定 struts2 如何(何时)实例化 ActionClassobjects 成员,所以我决定声明一个非参数构造函数实例化 bean message(action 类的成员),因为我认为对于每个请求都会创建一个 action 类的实例,因此会有一个新的 beans 实例 Action 类有(取决于)。但它没有任何帮助,我做错了什么?我想我应该尝试使用 Log4j 并在 return SUCCESS 之前和 return ERROR 之前在 execute 方法中打印一些内容以确定 if 语句是否为评估为 truefalse,但即使我发现它在输入或未输入时评估为 true,我仍然不了解我接下来必须做的事情,使执行在测试之外返回 ERROR ,如上所示。

最佳答案

可以使用欢迎文件列表,您应该在 web.xml 或 web 服务器默认配置文件中配置它,这些文件用作欢迎文件。当您访问包含此文件的 web 文件夹时,无论 struts2 是否映射此文件夹作为其操作,该文件的内容都将由 web 服务器加载。然后在欢迎文件中,您应该放置重定向到操作的代码。例如index.jsp是欢迎文件

<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.jsp</welcome-file>
<welcome-file>index.html</welcome-file>
</welcome-file-list>

index.jsp

<% response.sendRedirect("showcase.action"); %> 

第二个问题已经在这里讨论过,在构造函数中初始化 bean 是一个坏主意,容器使用构造函数来实例化操作。在它执行此操作的那一刻,您无法访问某些功能或服务,因为它们不可用。最好在创建操作并且功能可用后进行延迟初始化,例如在执行操作时。如果您希望所有操作在执行之前进行初始化,那么 Preparable 接口(interface)默认由 ActionSupport 实现,您的操作应该扩展并覆盖 prepare方法。

初始化对象是您的责任。 OGNL 可以创建其他提交的对象来填充您的集合。

您可以将 Log4j 与 struts2 一起使用,但它需要在项目和服务器上进行配置。出于调试目的,您可以写入 System.out,它在大多数 IDE 中被重定向到控制台。

真的,我不知道您要做什么,但如果没有发现错误,通常返回 SUCCESS,如果有错误,则返回 ERROR

关于java - 使用项目名称访问主页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18803958/

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