SpringMVC入门程序:helloWorld
1、导入jar包:spring-webmvc
<!-- springmvc的依赖 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.3.3.RELEASE</version> </dependency>
2、导入配置文件
- Spring的配置文件
- springMVC的配置文件 与spirng的配置文件一模一样
- Mybatis配置文件
- Sql映射文件
- Log4j的配置文件
- Db的配置文件
- web.xml
3、配置
在web.xml中配置前端控制器
<!-- 配置前端控制器 --> <servlet> <servlet-name>springMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!--如果不配置contextConfigLocation,默认查找springmvc的配置文件为:WEB-INF/servlet名字-servlet.xml 比如我们这查找的就是:WEB-INF/springMVC-servlet.xml --> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springMVC</servlet-name> <!-- url-pattern有三种配置方式: 1. *.action, springMVC的前端控制器只处理以action结尾的url请求 2. / 所有请求都由springMVC的前端控制器处理,但是对于静态资源我们不然让前端控制器处理,所以我们需要进行配置,
使用这种配置方式,可以实现restful风格 3. /* 错误 --> <url-pattern>*.action</url-pattern> </servlet-mapping>
在springMVC的配置文件中配置 处理器映射器, 处理器适配器, 视图解析器
<!-- 配置处理器映射器 : 以bean的name作为url --> <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/> <!-- 配置处理器适配器 : 处理某一类型的处理器, 处理的实现Controller接口的处理器 @Override public boolean supports(Object handler) { return (handler instanceof Controller); } --> <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/> <!-- 配置视图解析器 根据逻辑视图 list,找物理视图 视图类型: jsp --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!-- 视图的类 : 视图支持 jstl--> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> <!-- 前缀名 --> <property name="prefix" value="/jsp/"/> <!-- 后缀名 物理视图: 前缀 + 逻辑视图名 + 后缀 --> <property name="suffix" value=".jsp"/> </bean> <!-- 将helloController处理器交给springmvc管理 --> <bean id="/hello.action" class="springMVCDemo.web.HelloController"/> </beans>
编写处理器
//需要实现Controller 接口 public class HelloController implements Controller{ @Override public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { //获取请求参数 String name = request.getParameter("name"); //创建一个ModelAndView对象 ModelAndView model = new ModelAndView(); //添加数据,存到request域中,默认转发 model.addObject("hello", "hello"+name); ////添加逻辑视图名 model.setViewName("hello");// 项目名/jsp/hello.jsp //返回对象 return model; }
编写页面
在webapp下新建一个文件夹为jsp
<body> <!-- 使用request域获取数据 --> ${hello} </body>