struts1从后台到前台跳转的时候报错,是空指针的错误,我用debug调试都跟踪不出来是哪里出错。因为这个错误信息是在执行完后台的代码跳转到前台页面的时候报错的,后来细看一下报错信息发现了processForwardConfig这个错误,我想可能是因为没有写forward吧,因为在执行完后台代码后因为没有forward指定要跳转的页面或者其他的.action和.do方法吧。我呢就在程序的流程的后面加了句
forward = new ActionForward("/myFriend.html");
forward.setRedirect(true);
这两句是重定向的,因为在执行增删改方法可以防止刷新页面重复提交数据。这个forward是动态重定向的,还有一种forward就是
forward = mapping.findForward("[color=red]listMyFriend[/color]");
<forward name="[color=red]listMyFriend[/color]" path="/listMyFriend.jsp"></forward>
红色字体的地方的名字一定要一致。
另外也可以在struts的配置文件中写上<forward name="userIndex" path="/userIndex.html" redirect="true" />
,这也是重定向的。
另外,抱这种错误还有一个原因就是自己封装好的方法中有逻辑错误。因为我们公司把常用的方法打了个jar包,然后在项目中引用的。总共有三个jar包,一个是mybatis数据库操作方法的相关类,一个是常用到的方法的工具类,一个是mybatis数据库映射文件的jar包。这样把常用到的方法打成jar包在文件中引用,不仅浓缩了项目的大小,而且调用和修改起来很方便。实现了常用方法与业务逻辑的分离吧。
2012-3-23 13:28:26 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet action threw exception
java.lang.NullPointerException
at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:384)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.udrm.bms.struts.beans.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:54)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
分享到:
相关推荐
在Struts1框架中,页面跳转机制是其核心特性之一,它允许开发者灵活地控制应用程序的流程,实现从一个页面到另一个页面的导航。本文将深入解析Struts1中的五种不同类型的跳转方法,这包括了完整action、仅有Form的...
`<jsp:forward/>`标签在JavaServer Pages (JSP)中用于将一个请求转发到另一个资源,比如从一个JSP页面跳转到另一个JSP页面或者一个Action。在Struts2框架下使用`<jsp:forward/>`进行页面跳转时,可能会遇到“404 Not...
在Struts中,页面跳转主要通过ActionForward或ActionMapping来实现: 1. JSP中的链接Hyperlink:可以使用HTML `<a>`标签配合Struts的`<html:link>`标签,创建指向其他页面或Action的链接。 2. JSP中跳转到Action:...
Struts1、Spring1和Hibernate3是经典的Java Web开发框架组合,它们在2000年代中期至晚期广泛应用于企业级应用系统,包括新闻管理系统的后台开发。这个组合被称为“SSH”(Struts、Spring、Hibernate)框架集成,为...
总结,Struts1.3中的页面跳转是通过Action类、struts-config.xml配置以及ActionForward、ActionRedirect等类实现的。理解并熟练运用这些概念和方法,能帮助开发者更高效地构建基于Struts1.3的应用程序。在实际项目中...
此外,Struts2还支持动态结果页面,可以使用OGNL(Object-Graph Navigation Language)表达式来决定跳转到哪个页面。例如: ```xml ${targetPage} ``` 在这里,`targetPage`变量可以在Action类中设置,它的值可以...
标题“struts1直接跳转到jsp-无action的url”所指的是在Struts1框架下,如何不通过Action类直接将请求转发到JSP页面。这种做法虽然不推荐,但在某些情况下可能被用来简化流程或快速测试。 在Struts1中,通常的请求...
通过这样的设置,Struts2的拦截器就能够帮助我们在用户登录成功后,将其重定向回他们最初尝试访问的页面,提供更好的用户体验。同时,这种方法也使得代码更易于维护,因为登录逻辑与具体业务Action分离,遵循了单一...
总之,"Struts2开发用户管理后台系统源代码"是一个实践性的学习资源,通过分析和研究这个系统,开发者可以掌握Struts2的使用技巧,理解MVC模式在实际项目中的应用,以及如何构建安全、高效的用户管理系统。
Struts2是基于Struts1发展起来的一个Web应用框架,它继承了Struts1的优点,同时又克服了其缺点,引入了许多新的特性,如拦截器、OGNL表达式语言等。Struts2支持MVC架构模式,简化了Java Web应用程序的开发过程,使得...
总之,解决Struts2跳转至404页面的问题需要对整个应用的配置进行仔细检查,从Action、命名空间、拦截器到结果类型、资源路径,甚至包括服务器和IDE的设置。理解Struts2的工作原理,结合日志信息,通常可以找出导致...
1. **Struts2框架**:Struts2是Apache软件基金会下的一个开源项目,它整合了WebWork与Struts1的优点,提供了更加灵活的控制器和强大的拦截器机制。它的核心架构基于Action和Result,Action是业务逻辑的执行者,...
从开发者角度看,就是说需要显示给用户的数据可以直接从Action中获取,而不像Struts1.x那样,必须把相应的Bean存到Page、Request或者Session中才能获取。Struts1.x 必须继承org.apache.struts.action.Action或者其...
本教程旨在为初学者提供一个全面的Struts1入门指南,通过学习,你可以了解并掌握如何使用Struts1开发Java Web应用,为进一步深入其他框架如Spring MVC或Struts2奠定基础。在实践过程中,不断探索和优化,将使你成为...
10. **预定义的ActionForward**:Struts1提供了一些预定义的ActionForward,如SUCCESS、ERROR等,可以简化Action的配置和返回值处理。 11. **Validator框架**:Struts1包含了一个内置的验证框架,可以用来验证用户...
标题中的"使用Struts2框架来实现前台与后台的交互"指的是通过Struts2框架协调前端用户界面与后端业务逻辑进行数据交换。在传统的Web开发中,前端HTML页面通常通过HTTP请求与服务器上的后台Java代码进行通信。Struts2...
2. **配置文件**:Struts1的核心配置文件是struts-config.xml,它定义了Action、Form Bean、ActionMapping、Forward等元素,描述了请求如何映射到特定的Action,以及Action执行后跳转的页面。 3. **Action**:...
书中通过实例演示了如何将Struts 1应用迁移到Struts 2,使开发者能够理解两者的差异和集成方法。 Struts 2的关键特性包括: 1. **Action类与Result**:Struts 2中的Action类替代了Struts 1的Form Bean,负责处理...
在Struts2中,路径跳转是应用程序中常见的操作,它涉及到请求转发和重定向。当遇到“Struts2中路径无法跳转的问题”时,这通常与配置、Action类、结果类型或JSP页面的设置有关。以下是一些可能导致问题的关键知识点...
通过上述步骤,我们不仅学习了如何在MyEclipse中使用Struts1构建一个基本的登录功能,还深入了解了Struts1框架的核心概念,如FormBean、Action和ActionForward的工作原理。这种实践操作不仅加深了对Struts1的理解,...