今天在项目中配置404页面,最开始的配置是这样的,在web.xml中加入
<error-page>
<error-code>404</error-code>
<location>/notfound.jsp</location>
</error-page>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" isErrorPage="true"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<html>
<body>
<h2>该页面不存在JSP</h2>
</body>
</html>
这样配置有两个问题:
1、当访问 http://localhost/xxxx.jsp 一个不存在的jsp时,fireFox可以到404页面,但ie由于设置友好提示没有跳到404
2、当访问 http://localhost/****.html 一个不存在的action时,虽然可以到404页,但后台有报错信息。
2010-09-14 19:10:53,093 - ERROR - Could not find action or result
There is no Action mapped for action name safdsadf. - [unknown location]
at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:186)
at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:41)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:494)
at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:422)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
******
改进方法:
1、把notfound.jsp页面大小增加到550b以上,可以解决ie友好提示跳转不到的问题。
2、在struts.xml中增加
<default-action-ref name="notfound"></default-action-ref>
<action name="notfound" class="com.opensymphony.xwork2.ActionSupport">
<result name="success" type="dispatcher">
<param name="location">notfound.jsp</param>
</result>
</action>
拦截不存在的action,这样后台就不会报错。
3、将struts.xml中的
<package name="default" namespace="/" extends="struts-default">
变成
<package name="default" extends="struts-default">
把namespace="/"去掉,这样访问任何路径不存在的action都会跳到404页面,并且后台不报错。当namespace中配置了default-action时,访问该namespace的不存在action时会到该配置的默认action;当访问不存在namespace或该namespace没有配置default-action时,会跳转到web.xml中配置的404页面
分享到:
相关推荐
可能包含的文件有:源代码文件(如Action类、JSP页面)、配置文件(如struts-config.xml、web.xml)、数据库连接相关文件(如JDBC驱动、数据库配置文件)以及资源文件(如CSS、JavaScript)。通过这个项目,学习者...
在本文中,我们将详细探讨如何配置一个基于Eclipse的开发环境,用于开发和部署使用Struts框架的Java Web应用程序,同时结合Tomcat服务器和Lomboz插件。首先,我们需要确保具备以下组件: 1. **Eclipse IDE**:...
标题中的"jsp+tomcat+Struts2+Spring+Hibernate应用实例"揭示了一个基于Java Web技术的项目构建,其中涉及到的主要技术栈包括JSP、Tomcat服务器、Struts2、Spring和Hibernate。这个实例可能是一个典型的MVC(Model-...
3. **运行环境**:确保Tomcat服务器、SQLServer服务器以及Struts和JDBC驱动的正确安装和配置。 在设计过程中,遵循的技术要求包括: - 使用Servlet与HTML页面结合,通过HTTP请求处理用户输入,提供动态内容。 - ...
• 采用hibernate3+struts2+spring2+freemarker主流技术架构 • 懂html就能建站,提供最便利、合理的使用方式 • 强大、灵活的标签,用户自定义显示内容和显示方式 • 在设计上自身预先做了搜索引擎优化,增强对...
- 打开`struts2-blank\WEB-INF\web.xml`,复制其中的过滤器配置到项目的`web.xml`文件中,确保Struts2在Tomcat启动时加载。 3. **重启Tomcat服务验证配置**: - 重启Tomcat服务,并查看启动日志,确认包含“org....
2. 使用Eclipse创建一个Struts 2项目,配置Tomcat服务器,编写Action类和对应的JSP视图,编写Ajax请求和响应处理。 3. 实现Interceptor拦截器,对请求进行预处理,如权限验证或日志记录。 4. 利用Ajax实现分页功能,...
标题 "myeclipse+tomcat6.0+struts2开发的登录程序" 提供了我们正在探讨的技术栈,这是一个使用MyEclipse作为集成开发环境(IDE),Tomcat 6.0作为应用服务器,以及Struts2作为MVC框架来构建的登录应用程序。...
在本文中,我们将深入探讨如何使用Struts2、Tomcat和MySQL来实现一个Web聊天室。这个项目的主要功能包括用户登录注册、错误检测、主题创建与显示、在线人数统计以及实时聊天。 首先,Struts2是一个基于MVC(模型-...
4. **结果类型配置**:默认情况下,Struts2使用`dispatcher`结果类型,它将结果页面作为JSP进行转发。如果结果类型配置为其他类型(如`redirect`或`redirectAction`),并且URL不正确,那么可能会出现404错误。检查...
【Java + Struts2 + Tomcat 员工管理系统】是一个基于Java编程语言,使用Struts2框架,并在Tomcat应用服务器上运行的典型企业级Web应用实例。这个系统主要用于管理公司内部的员工信息,包括增删查改等基本操作,能够...
在开发基于Java的Web应用程序时,常常会遇到中文字符编码的问题,尤其是在Tomcat服务器、MySQL数据库和Struts框架的组合中。这个问题主要涉及到字符集的兼容性和一致性,因为每个环节都可能有自己的默认编码方式,...
Struts2、Spring和Tomcat是Java Web开发中常见的三个技术框架,它们共同构建了一个功能丰富的购物应用程序。这里我们将深入探讨这三个技术的核心概念以及如何在实际项目中整合使用。 Struts2是一个基于MVC(Model-...
【JSP+Struts2+Hibernate 购物系统】是一个基于Java Web技术构建的电子商务应用程序,它结合了三种核心技术来实现动态网页、业务逻辑控制和数据持久化管理。在这个系统中,JSP(JavaServer Pages)负责展示层,...
2. `struts`目录:包含Struts的配置文件,如`struts-config.xml`,可能还有Action的配置。 3. `hibernate`目录:包含Hibernate的配置文件,如`hibernate.cfg.xml`,以及实体类的映射文件。 4. `lib`目录:存放所有...
《MyEclipse+Struts+Hibernate配置开发》的文档主要针对初学者,旨在提供一套集成开发环境MyEclipse中配置Struts和Hibernate的基础步骤。Struts是Java Web开发中的一个MVC框架,用于处理用户请求并展示结果,而...
配置好Tomcat后,我们可以在`/var/lib/tomcat9/webapps/`目录下部署我们的Web应用。 接下来,我们将用Java编写登录注册页面的后端逻辑。这部分通常涉及Servlet和JSP技术。Servlet负责处理HTTP请求,而JSP用于生成...
4. **创建struts.xml**:这是Struts2的核心配置文件,定义了动作(Action)及其结果页面。例如,`<action>`元素定义了一个名为"login"的动作,当用户访问对应的URL时,会执行对应的类(LoginAction)。 5. **编写...