目录
1.项目运行后访问http://localhost:8080/test,报404
2.配置完成后访问http://localhost:8080/test,报500
初学SpringMVC,遇到的404和500问题,查找到的修改方案。项目没有使用注解,而是使用spring依赖注入的方法,练习写的代码。
一.项目结构和核心代码如下:
web.xml核心配置如下:
<servlet>
<servlet-name>SpringMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--通过初始化参数指定SpringMVC配置文件的位置,进行关联-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc-servlet.xml</param-value>
</init-param>
<!-- 启动顺序,数字越小,启动越早 -->
<load-on-startup>1</load-on-startup>
</servlet>
<!--所有请求都会被springmvc拦截 -->
<servlet-mapping>
<servlet-name>SpringMVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
springmvc-servlet.xml如下:
<!--处理映射器-->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
<!--处理适配器-->
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
<!--视图解析器-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="internalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
<bean id="/test" class="com.springmvc.learn.controller.HelloController"/>
HelloController.java代码如下:
public class HelloController implements Controller {
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
System.out.println("HelloController");
ModelAndView mv = new ModelAndView();
String result = "hello springmvc";
mv.addObject("msg", result);
mv.setViewName("test");
return mv;
}
}
二.遇到的问题
1.项目运行后访问http://localhost:8080/test,报404
由于没有引入jar包,新建lib目录,加入项目中用到的jar包
2.配置完成后访问http://localhost:8080/test,报500
可能是jar包出了问题。我在创建Maven项目时,新建一个项目,然后再项目中创建了一个Module,我在根项目和Module的pom.xml文件中引入了相同的jar包,看到上面这篇解决方案,尝试把Module中pom.xml里重复的包去掉,然后就不报错了,原因暂时还不清楚。
这次遇到的这两个问题都是数据项目搭建过程中的问题,我觉得是一次性问题。一般解决完项目就不会再出现这样的问题,