求助,Struts2第一个入门登录例子报错,找不到/struts-tags

若耶溪coding 2015-04-09 05:10:21
刚开始学习Struts2,按照书里一步步敲的,百度了有很多人提相似的问题,但是没找到能解决我的问题的方案啊!跪求大神指导!
tomcat 8.0.21 struts 2.3.20
Eclipse Java EE IDE for Web Developers. Version: Luna Service Release 2 (4.4.2)
jar包是从struts2-blank里直接复制过来的。
而且web.xml里面的
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

所以网上很多解决方法都是改这里,不适用啊!




有时候可以看到s旁边有黄色感叹号,说找不到,但是如果我ctrl单击/struts-tags有下面页面,是不是说明是能找到的,导入的jar包里有? 有时候也看不到黄色感叹号。


报错好像就是说找不到!
真心求助,困扰好几天啦!
...全文
340 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
若耶溪coding 2015-04-13
  • 打赏
  • 举报
回复
引用 7 楼 u013762572 的回复:
不行的话,发到我邮箱,我帮你看一下,:Q294097370 署名 csdn............
大好人啊!已发邮件,谢谢!
若耶溪coding 2015-04-10
  • 打赏
  • 举报
回复
原来还是文件放的位置不对!web.xml放的位置不对!!!


如果我用包里面的LoginAction,
struts.xml里面用
<package name="crazyit" namespace="/" extends="struts-default">
<action name="login" class="org.crazyit.app.action.LoginAction">
<!-- 定义三个逻辑视图和物理资源之间的映射 -->
<result name="error">/WEB-INF/content/error.jsp</result>
<result name="success">/WEB-INF/content/welcome.jsp</result>
</action>
<action name="*">
<result>/WEB-INF/content/loginForm.jsp</result>
</action>
</package>
就一切顺利,输入正确错误用户名都成功。
如果我就用默认包,struts.xml里写
<package name="crazyit" namespace="/" extends="struts-default">
<action name="login" class="LoginAction">
<!-- 定义三个逻辑视图和物理资源之间的映射 -->
<result name="error">/WEB-INF/content/error.jsp</result>
<result name="success">/WEB-INF/content/welcome.jsp</result>
</action>
<action name="*">
<result>/WEB-INF/content/loginForm.jsp</result>
</action>
</package>
能出现输入用户名和密码的页面,但是不管输入正确还是错误的信息,都会显示Struts Problem Report
Struts has detected an unhandled exception:

Messages:
File: com/opensymphony/xwork2/ognl/SecurityMemberAccess.java
Line number: 114

Stacktraces
java.lang.NullPointerException
如上图
若耶溪coding 2015-04-10
  • 打赏
  • 举报
回复
引用 3 楼 zhangshitao110 的回复:
把filter-class换成org.apache.struts2.dispatcher.FIlterDispatcher 类试试。。
不行啊!这种用法不是Struts以前的版本吗?我用的是struts 2.3.20,应该是最新的
若耶溪coding 2015-04-10
  • 打赏
  • 举报
回复
引用 2 楼 u013762572 的回复:
这是web.xml中的配置文件:

  <filter>
		<filter-name>struts2</filter-name>
		<filter-class>
			org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
	</filter>

	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
访问时可以是:localhost:8080/strutsDome2/login
<filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> 我就是写的的这个啊,是不是和你的一样~~~报错啊,泪!
microhex 2015-04-10
  • 打赏
  • 举报
回复
不行的话,发到我邮箱,我帮你看一下,:Q294097370 署名 csdn............
monkey_2012_11_29 2015-04-09
  • 打赏
  • 举报
回复
把filter-class换成org.apache.struts2.dispatcher.FIlterDispatcher 类试试。。
microhex 2015-04-09
  • 打赏
  • 举报
回复
这是web.xml中的配置文件:

  <filter>
		<filter-name>struts2</filter-name>
		<filter-class>
			org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
	</filter>

	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
访问时可以是:localhost:8080/strutsDome2/login
若耶溪coding 2015-04-09
  • 打赏
  • 举报
回复
自己回一个,我刚刚又看了半天,怀疑是我的struts.xml位置放的不对,现在放到了src下面,还是报错,如下图


所以难道是找不到 Struts dispatcher ?
在web.xml
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
如果我ctrl+单击如上类,会说

可是我在struts2的示例struts2-blank 的web.xml里ctrl+单击如上类也一样找不到,但是这个项目就可以正常运行。

还看了这个帖子http://bbs.csdn.net/topics/390785205?page=1 按照这个把jar包又各种加了一遍,还是如上!
真心求助啊!感觉都没有信心学习Struts了。。。刚入门就卡死。。。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧