Web.xml
mvc-dispatcher-servlet.xml
HelloMvcController.java
目录结构
404,因为是用Tomcat运行的,所以在链接前面加上了项目名称
先尝试localhost:8080能不能打开,如果不行就到Servers窗口下双击tomcat服务配置Server Location信息,选择Use Tomcat installation。Deploy Path修改为webapps。
再进行http://localhost:8080/spring-mvc-study/hello/mvc访问,看控制台报的错误(我报的是java.lang.NoClassDefFoundError:javax.servlet.jsp.jstl.core.Config),若是这个错误需要在pom.xml中添加maven依赖(jstl.jar)
写这些路径时候尽量使用classpath:这个功能吧,避免手写出错,classpath的意思是在webapp根目录下的classes目录中查找目标
从你的web.xml中看来这个问题应该就是DispatcherServlet中找不到springmvc的配置文件(你的路径写错了)
初始化参数的值错了,不能这样写的,如果这样写,web.xml就加载不出来,也就是找不到-servlet.xml文件。这个文件是在webapp/WEB-INF/classes/**这个路径下的,然而你配置出错了,<param-value>classpath:*.xml</param-value>(*表示你的文件名)
而且去配置文件中把prefix这个属性的值改为"/jsps/",也就是<property name="prefix" value="/jsps/"/>(个人愚见)
WEB-INF是用来放置一些资源,如classes和web.xml这些
兄弟,WEB-INF这个文件只能对web服务器开放访问,对客户端是屏蔽的,把jsp文件和其他文件放到和WEB-INF同一级目录,(PS:我不知道视频的老师是怎么成功的,原来我菜,看不懂!!)
tomcat部署了么,或者8080能进tomcat吗
我也不太清除楼主的情况,不过我是tomcat调试成功了。推荐楼主先看看problems子页里面的信息有没有报错,如果有报错那就是tomcat本身初始化项目就出现问题。
此外把我调试时候发现的解决方法和楼主分享下,其一是pom.xml里面要设置成war,jar会有问题,此外在pom中要加一个jdk版本声明,即
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin>
这样设置更新之后才能在porject facets里面把动态网页项目那个条改到3.1版本。
我这样修改后就可以访问了。