Java org.springframework.web.servlet.PageNotFound:1108

Java org.springframework.web.servlet.PageNotFound:1108,java,spring,spring-mvc,Java,Spring,Spring Mvc,我尝试用stackoverflow中遇到的所有解决方案来解决这个问题,但没有一个对我有效 这是我的web.xml: <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java

我尝试用stackoverflow中遇到的所有解决方案来解决这个问题,但没有一个对我有效

这是我的web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    version="2.5">

    <servlet>
        <servlet-name>appServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/servlet-context.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>appServlet</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>


</web-app>

appServlet
org.springframework.web.servlet.DispatcherServlet
上下文配置位置
/WEB-INF/servlet-context.xml
1.
appServlet
/
这是我的servlet上下文xml:

<!-- Enable @Controller annotation support -->
        <mvc:annotation-driven />

        <!-- Esta etiqueta es para mapear carpetas dentro de src/main/webapp 
             de lo contrario el servidor no las reconoceria
         -->
        <!--   <mvc:resources mapping="/css/**" location="/css/" />  -->


        <!-- Map simple view name such as "test" into /WEB-INF/PAGE/test.jsp -->
        <bean
            class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="prefix" value="/WEB-INF/page/" />
            <property name="suffix" value=".jsp" />
        </bean>

        <bean id="viewResolver"
            class="org.springframework.web.servlet.view.ResourceBundleViewResolver">
            <property name="basename" value="views" />
        </bean>

        <bean id="multipartResolver"
            class="org.springframework.web.multipart.commons.CommonsMultipartResolver"></bean>


        <!-- Scan classpath for annotations (eg: @Service, @Repository etc) -->
        <context:component-scan base-package="com.ieea.dao" />
        <context:component-scan base-package="com.ieea.controller" />
        <!-- Contenido agregador -->

        <mvc:annotation-driven />




        <bean
            class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
        <bean
            class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
        </bean>
        <!-- Contenido agregador -->

        <!-- JDBC Data Source. It is assumed you have MySQL running on localhost 
            port 3306 with username root and blank password. Change below if it's not 
            the case -->

        <bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource"
            destroy-method="close">

            <property name="driverClassName" value="com.mysql.jdbc.Driver" />
            <property name="url" value="jdbc:mysql://localhost:3306/******" />
            <property name="username" value="*****" />
            <property name="password" value="*****" />
            <property name="validationQuery" value="SELECT 1" />

        </bean>


        <!-- Hibernate Session Factory -->
        <bean id="mySessionFactory"
            class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
            <property name="dataSource" ref="myDataSource" />
            <property name="packagesToScan">
                <array>
                    <value>com.ieea.domain</value>
                </array>
            </property>



            <property name="hibernateProperties">
                <props>
                    <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
                    <prop key="hibernate.show_sql">false</prop>
                    <prop key="hibernate.format_sql">true</prop>
                    <prop key="hibernate.hbm2ddl.auto">update</prop>
                    <prop key="hibernate.current_session_context_class">thread</prop>
                </props>
                <!-- <value> hibernate.dialect=org.hibernate.dialect.MySQLDialect </value> -->

            </property>
        </bean>

        <!-- Hibernate Transaction Manager -->
        <bean id="transactionManager"
            class="org.springframework.orm.hibernate4.HibernateTransactionManager">
            <property name="sessionFactory" ref="mySessionFactory" />

        </bean>

        <!-- Activates annotation based transaction management -->
        <tx:annotation-driven transaction-manager="transactionManager" />
    </beans>

com.ieea.domain
org.hibernate.dialogue.mysql5dialogue
假的
真的
更新
线
控制器:

@Controller
public class UsuarioController {

    @Autowired UsuarioDAOImpl usuarioDAO;

    @RequestMapping(value = "lista", method = RequestMethod.GET)
    public String testReporte(Model model) {

        try {
            System.out.println("Entre");
            List<Usuario> lista = usuarioDAO.encontrarTodosUsuarios();
            model.addAttribute("lista", lista);

        } catch (Exception e) {
            // TODO: handle exception
            e.printStackTrace();
        }

        return "index";
    }

}
@控制器
公共类用户控制器{
@自动连线的UsuariodaImpl usuarioDAO;
@RequestMapping(value=“lista”,method=RequestMethod.GET)
公共字符串testreport(模型){
试一试{
系统输出打印项次(“Entre”);
List lista=usuarioDAO.encontratortosusuarios();
model.addAttribute(“lista”,lista);
}捕获(例外e){
//TODO:处理异常
e、 printStackTrace();
}
返回“索引”;
}
}
我认为问题出在web.xml或servlet-context.xml中 我不知道我的应用程序发生了什么,spring中的其他应用程序从来不会导致这个问题


org.springframework.web.servlet.PageNotFound:1108-在名为“appServlet”的DispatcherServlet中找不到URI为[/UsariosTest/]的HTTP请求的映射。

您可能没有为“/”即启动url提供请求映射

在控制器中放置“/”url映射。您需要首先在服务器上部署它并启动服务器,然后在浏览器中点击应用程序url

@RequestMapping(value = "/", method = RequestMethod.GET)
public String testReporte(Model model) {

    try {
        System.out.println("Entre");
        List<Usuario> lista = usuarioDAO.encontrarTodosUsuarios();
        model.addAttribute("lista", lista);

    } catch (Exception e) {
        // TODO: handle exception
        e.printStackTrace();
    }

    return "index";
}
@RequestMapping(value=“/”,method=RequestMethod.GET)
公共字符串testreport(模型){
试一试{
系统输出打印项次(“Entre”);
List lista=usuarioDAO.encontratortosusuarios();
model.addAttribute(“lista”,lista);
}捕获(例外e){
//TODO:处理异常
e、 printStackTrace();
}
返回“索引”;
}

您似乎没有处理
/usuariosTest/
“我试图用stackoverflow中遇到的所有解决方案解决此问题”的处理程序。你这么说。但是,由于您没有告诉我们您尝试了哪些解决方案,以及它们为什么不起作用,我们没有理由相信您。现在show index.jsp但决不进入UsuarioController,应该显示用户列表。您的usuarioDAO列表正在加载到lista列表中。如果正在加载,那么如何获取list index.jsp?实际上,这个“/”映射是针对您的主页jsp的。从该jsp可以调用不同的操作,如“/lista”请求映射。但正如您所说的index.jsp正在显示,所以只需检查您的列表是否从DAO加载?永远不要在ConsoleA上显示“Entre”,如果UsuarioController正常工作,则应在console中显示消息或显示usuarioDAO中的一些错误否?如果您尝试右键单击并在服务器上运行此应用程序,则它将不会显示在console上。您必须将其部署到服务器上并启动服务器,然后点击浏览器中的url。它将显示列表。