Java org.springframework.web.servlet.PageNotFound:1108
我尝试用stackoverflow中遇到的所有解决方案来解决这个问题,但没有一个对我有效 这是我的web.xml: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
<?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。它将显示列表。