这次是坑了, 搭这个B环境搭了好几天了,从不懂MVC到背下一个HelloWorld程序的所有文件,在今天终于搭成功。网上很多教程,我今天也无聊,再写一遍吧,真是去他妈的难。谁用这jb框架啊。mdzz
先看看项目结构吧
从第一步开始
记得勾选springMVC ,下面选择download的话第一次可能要下一会, 不过有vpn的话也不会很慢。
然后就有刚刚的项目结构了
第二步
配置web.xml和dispatcher-servlet.xml。
web.xml
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext.xml</param-value> </context-param> <!--<listener>--> <!--<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>--> <!--</listener>--> <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping></web-app>
dispatcher-servlet.xml
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"> <!--<!– 定义handlerMapping –>--> <!--<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>--> <!--<!– 定义适配器 –>--> <!--<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>--> <!--<!– 定义视图解析器 –>--> <!--<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">--> <!--<!– 前缀 –>--> <!--<!–<property name="prefix" value="/WEB-INF/views/"/>–>--> <!--<!– 后缀 –>--> <!--<property name="suffix" value=".jsp"/>--> <!--</bean>--> <!--<!– 定义Handler对象 –>--> <!--<bean name="/hello.do" class="com.jxy.controller.TestController"/>--> <!-- 注解驱动 --> <mvc:annotation-driven/> <!-- 定义视图解析器 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!--<!– 前缀 –>--> <!--<property name="prefix" value="/WEB-INF/"/>--> <!--<!– 后缀 –>--> <property name="suffix" value=".jsp"/> </bean> <!-- 配置扫描器,使得@Controller注解生效 --> <context:component-scan base-package="com.jxy.controller"/> </beans>
控制器
重点讲讲我tm就不写了, 贼累
就是刚刚那个前缀如果不写,那现在访问的路由是http://localhost:8080/nihao/hello
方法中只返回了页面文件名,这会导致他默认去web目录下的/nihao文件夹下寻找Hello.jsp文件。当然就404,讲道理我现在也不知道为什么nihao会被解析为文件夹,他明明是我控制器类的映射
如果加了<property name="prefix" value="/WEB-INF/"/>那就会去web-inf目录下寻找hello.jsp。之前我是以为不加这个属性,他会去web目录下寻找。
所以加了前缀就解决问题, 可以用映射访问了,或者建了一个nihao文件夹,吧hello放进去,。。。。。。。。。。不过这样有点蠢。
好累,语法不太懂, 代码块怎么只有一行。md