2 xiaohuihui183 xiaohuihui183 于 2015.07.26 11:10 提问

Struts2+Tomcat报404错误

今天在学Struts2时,测试一下登陆验证功能,部署到Tomcat上出现404
就是在访问http://localhost:8080/Struts2Pro/login.jsp时,出现404
图片说明
web.xml

 <?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <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></web-app>

struts.xml

 <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
    <package name="struts2" extends="struts-default">
        <action name="login" class="com.test.action.LoginAction">
            <result name="input">login.jsp</result>
            <result>/result.jsp</result>
            <result name="failer">/login.jsp</result>
        </action>
    </package>
</struts>  

LoginAction.java

package com.test.action;

import com.opensymphony.xwork2.ActionSupport;

public class loginAction extends ActionSupport {
    private String username;
    private String password;
    public String getUsername()
    {
        return username;
    }
    public void setUsername(String username)
    {
        this.username = username;
    }
    public String getPassword()
    {
        return password;
    }
    public void setPassword(String password)
    {
        this.password = password;
    }
    @Override
    public void validate() {
        // TODO Auto-generated method stub
        System.out.println("进入validate方法进行校验");
         if(null==this.getUsername()|| "".equals(this.getUsername().trim()))
         {
             this.addFieldError("username", "请输入用户名");
         }
         if(null==this.getPassword()||"".equals(this.getPassword().trim()))
         {
             this.addFieldError("password", "请输入密码");
         }
    }
    @Override
    public String execute() throws Exception {
        // TODO Auto-generated method stub
         if("zy".equals(this.getUsername().trim())&&"123".equals(this.getPassword().trim()))
         {
             return "success";
         }
         else
         {
             this.addFieldError("username", "username or password error!!!!");
             return "failer";
         }
    }
}

Tomcat的报错

 严重: Exception starting filter struts2
Class: com.opensymphony.xwork2.spring.SpringObjectFactory
File: SpringObjectFactory.java
Method: getClassInstance
Line: 230 - com/opensymphony/xwork2/spring/SpringObjectFactory.java:230:-1
    at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:502)
    at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:74)
    at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:57)
    at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:279)
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:260)
    at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105)
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4854)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5546)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.startup.HostConfig.reload(HostConfig.java:1533)
    at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1497)
    at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1695)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:333)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
    at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1374)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1546)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1556)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1524)
    at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.NullPointerException
    at com.opensymphony.xwork2.spring.SpringObjectFactory.getClassInstance(SpringObjectFactory.java:230)
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.verifyResultType(XmlConfigurationProvider.java:604)
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addResultTypes(XmlConfigurationProvider.java:574)
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:530)
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:292)
    at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:112)
    at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:250)
    at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:67)
    at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:446)
    at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:490)
    ... 19 more
2015-7-26 15:56:09 org.apache.catalina.core.StandardContext startInternal
严重: One or more Filters failed to start. Full details will be found in the appropriate container log file
2015-7-26 15:56:09 org.apache.catalina.core.StandardContext startInternal
严重: Context [/Struts2New] startup failed due to previous errors

9个回答

miracle_yao
miracle_yao   2015.07.26 11:13

404是找不到页面,是不是Action的路径配错了

xiaohuihui183
xiaohuihui183 回复miracle_yao: 是呀,我也很郁闷
接近 3 年之前 回复
miracle_yao
miracle_yao 回复xiaohuihui183: 看上去访问路径没错啊
接近 3 年之前 回复
xiaohuihui183
xiaohuihui183 访问登陆界面就不行
接近 3 年之前 回复
CSDNXIAON
CSDNXIAON   2015.07.26 11:21

struts2 404错误
Tomcat正常启动后,报404错误
struts2 捕获404错误
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

zjq78577117
zjq78577117   2015.07.26 11:52

错误信息帖出来,就是在访问http://localhost:8080/Struts2Pro/login.jsp时,出现404,你确定是否访问jsp页面时出错的?访问jsp应该不会出问题的,因为你的jsp放在了WebRoot下,可以直接访问的。

zjq78577117
zjq78577117 回复xiaohuihui183: 加我qq,我远程给你看下,397760767
接近 3 年之前 回复
xiaohuihui183
xiaohuihui183 错误提示在楼下
接近 3 年之前 回复
xiaohuihui183
xiaohuihui183   2015.07.26 11:55

图片说明

Evankaka
Evankaka   Ds   Rxr 2015.07.26 12:20

这个肯定是拦截器有问题,在Java类打个断点,看看是否有进去工作了!

myxzf
myxzf   2015.07.26 12:58

TomCat正常启动了吗?我有时遇到配置文件不规范,导致404错误的情况

xiaohuihui183
xiaohuihui183 Tomcat报错,貌似是过滤器的额问题
接近 3 年之前 回复
cuiwei1026522829
cuiwei1026522829   Ds   Rxr 2015.07.26 14:06

struts.xml少写一个namespace=“/”

xiaohuihui183
xiaohuihui183 加了,没用
接近 3 年之前 回复
a510835147
a510835147   2015.07.26 17:11

应该是发布项目时就报错了,可以把那个错贴上来看下嘛?

a510835147
a510835147 回复xiaohuihui183: <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener> 在web.xml中看下是否配置了这个
接近 3 年之前 回复
a510835147
a510835147 回复xiaohuihui183: http://javeye.iteye.com/blog/940122/ 参考下这个
接近 3 年之前 回复
a510835147
a510835147 回复xiaohuihui183: http://javeye.iteye.com/blog/940122/ 参考下这个
接近 3 年之前 回复
xiaohuihui183
xiaohuihui183 已贴
接近 3 年之前 回复
tongyi55555
tongyi55555   2015.07.26 17:44


你这个里面的类名是大写的L,而实际给的java文件中使用的是小写的,是你贴错了还是IDE中就是这样。检查下。

建议你先解决tomcat启动报错的问题,如果tomcat启动时就有错,把错误贴出来看看。

xiaohuihui183
xiaohuihui183 回复JonsonJiao: 我只有struts啊,可是会报spring的错误,我也很郁闷
接近 3 年之前 回复
tongyi55555
tongyi55555 回复xiaohuihui183: 没有看到是有spring的东西的,你用spring做什么,你的配置中看不到这些啊。
接近 3 年之前 回复
xiaohuihui183
xiaohuihui183 回复JonsonJiao: 这个是jar包里的
接近 3 年之前 回复
tongyi55555
tongyi55555 回复xiaohuihui183: com/opensymphony/xwork2/spring/SpringObjectFactory.java:230看下这一行有什么问题不,打个断点。
接近 3 年之前 回复
xiaohuihui183
xiaohuihui183 已贴
接近 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
关于Struts2基础案例总是出现404错误的解决方法
关于Struts2基础案例总是出现404错误的解决方法 首先本人是一只小白,最近在接触struts2框架。在看着视频的学习过程中,出现了一个404的问题。 我跟着视频上的基础案例做的,数据都是一样的,在我运行的时候就总是出现404的错误,搞得我很是焦灼。!
eclipse 搭建struts2框架 出现404错误
404错误意味着找不到这个页面。 写的一个很简单的helloworld,也会报错,我也是醉了。 首先建立了一个tomcat的测试项目,保证tomcat是正常的。 再回去检查自己struts2的配置。 打开web.xml 查看一下内容是否添加: struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPr
关于部署struts2,运行报错404总结
最近开始接触框架,写第一个小程序时,部署后,当访问action时,tomcat报 错404,直接访问结果集result.jsp时也还是报错。 百度了一下,网上说什么的多有,struts.xml配置错了,web.xml没有配置 过滤器啊等等,到最后才想起来,可以查看控制台的提示信息,这一查看就找到bug所在了 服务器找不到StrutsPrepareAndExecuteFilter,明明导...
struts2访问jsp页面404
问题描述 在搭建struts2环境的时候,拷贝了web.xml,拷贝了struts.xml,拷贝了jar包。运行,正常,访问jsp页面,报404错误。 web.xml <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javae
struts2配置完出现404错误小结
由于最新学习使用Struts2框架,碰到404有时很棘手,如果不是普通的原因就会很头疼,所以做一个小结,将自己遇到情况,总结分享一下 访问时,url地址输入有误.web.xml在配置struts2分发器时出错,一般情况,filter-class为org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter缺少j
使用最新的struts2 2.5.5导致404的问题解决方法
使用最新的struts2 2.5.5导致404的问题解决方法使用最新的struts2 255导致404的问题解决方法 问题现象 问题原因 解决方法 换包 修改webxml问题现象用最新的struts2.5.5,出现404错误: 问题原因原来用的struts2版本为2.3,改成最新版2.5.5后,2个版本差异导致该问题。解决方法1.换包将书中的struts2最少jar包换成如下9个包: 此处注意
JavaWeb,Struts2框架入门,MyEclipse下环境配置,404错误解决
大家好我是Miko,最近入门JavaWeb,JSP Servelet过了一遍之后,开始入手Struts2框架,爬坑之路幸苦,写下博客谨记。 废话不多说首先创建一个Java Web项目: 这里第一个坑出现了,注意上面红框中的Tomcat服务器的版本,我这里使用的是自己下载的Tomcat环境,MyEclipse自带Tomcat,一定要记住这里所选择的版本。创建完成之后运行一下项目确认Tomcat
Tomcat:localhost:8080 报404错误
eclipse启动Tomcat服务输入http://localhost:8080/报404解决方法,需要在eclipse中进行一系列的设置。1 双击servers下的服务器2 修改server locations server locations为你的Tomcat的安装目录PS: 若发现选项为灰色,无法选取,则右击–选择properties–switch location–OK 然后再返回第2步即
Tomcat正常启动后,报404错误
===================================== 开发环境: Eclipse JAVAEE版 说明: 自己在Eclipse中配置了一个Server服务器,能够正常启动,但输入工程路径后报404错误,而且http://localhost:8080也进入不了,也是报404错误。 =====================================
问题记录:myeclipse配置好struts2后,web项目运行出现404
问题记录:myeclipse配置好struts2后,web项目运行出现404