SpringMVC 404的问题

tangqing24680 2019-05-16 10:54:41
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" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>SpringMVC</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<!--定义前端控制器DispatcherServlet -->
<servlet>
<!--定义Servlet名称-->
<servlet-name>mvc-dispatcher</servlet-name>
<!--指定Servlet类-->
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<!--指定启动顺序,为1表示该Servlet会随Servlet容器一起启动-->
<load-on-startup>1</load-on-startup>
</servlet>
<!--设置Servlet的访问方式-->
<servlet-mapping>
<servlet-name>mvc-dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<!--设置Bean定义文件的位置和名称-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/mvc-dispatcher-servlet.xml</param-value>
</context-param>
<!--设置监听器-->
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
</web-app>



mvc-dispatcher-servlet配置

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<!--指定注入Bean时Spring要查找的包-->
<context:component-scan base-package="com.spring3.controller" />
<!--配置视图解析器,使用InternalResourceViewResolver 类作为视图解析器。
Controller回传ModelAndView,DispatcherServlet将其交给ViewResolver解析。-->
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!--指定目录前缀-->
<property name="prefix">
<value>/WEB-INF/jsp/</value>
</property>
<!--指定文件后缀-->
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
</beans>

JavaWeb控制器

package com.spring3.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
//将类声明为Spring容器中的Bean,Spring调用时对该类实例化
@Controller
@RequestMapping("/welcome") //声明Controller处理的请求是什么
public class HelloController {
@RequestMapping("/welcome") //声明请求的方法,默认为GET方法
//定义printWelcome方法,返回String类型对象
public String printWelcome(ModelMap model) {
model.addAttribute("message", "Hello World");
return "hello"; //返回“hello”,交由ViewResolver解析
}
}


项目名称:SpringMVC
视图路径:SpringMVC/WebContent/WEB-INF/jsp/hello.jsp

我的访问地址为:localhost:8080/SpringMVC/welcome
尝试新的地址:localhost:8080/SpringMVC/WebContent/welcome
上面两个地址访问的时候都是404,后来我尝试把控制器编译好的classes文件放置到:SpringMVC/WebContent/WEB-INF/下,还是无法访问。
找了下,没有发现配置上的问题,找不到原因了!!!
...全文
33 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
对梦想的牵挂 2019-05-17
  • 打赏
  • 举报
回复
jsp放到WEB-INF是不能被url访问到的,WEB-INF下面一般放的是依赖jar。试试把JSP与WEB-INF同级,并且路径修改为localhost:8080/SpringMVC/welcome/welcome

67,513

社区成员

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

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