SpringMVC学习之简单示例(非注解)

来源:互联网 发布:淘宝便利店 编辑:程序博客网 时间:2024/05/21 23:43

这里写的实例为springMVC非注解型的简单实例,更加方便理解springMVC的大致工作流程。

1.首先把配置文件配好,并引入相关的jar包,我这里使用的Maven,相关的依赖配置如下:

Maven工程管理项目,需要的jar包依赖如下:<!-- 集中定义版本 --><properties><spring.version>5.0.0.RELEASE</spring.version></properties><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId><version>${spring.version}</version></dependency></dependencies>

web.xml文件中配置springmvcDispatcherServlet

<?xml version="1.0" encoding="UTF-8"?><web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"><servlet><servlet-name>springMVC</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- 初始化参数 --><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:*-servlet.xml</param-value></init-param></servlet><servlet-mapping><servlet-name>springMVC</servlet-name><url-pattern>/</url-pattern></servlet-mapping></web-app>

SpringMVC-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:p="http://www.springframework.org/schema/p"        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/mvc   http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd        http://www.springframework.org/schema/context   http://www.springframework.org/schema/context/spring-context.xsd">        <!-- 简单url的映射处理器 -->        <bean id="simpleUrlHandlerMapping"                class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">                <property name="mappings">                        <props>                                <!-- <prop key="/index">indexController</prop> -->                                <prop key="/hello">helloController</prop>                        </props>                </property>                <!-- 设置优先级,值越小,优先级越高 -->                <property name="order" value="0" />        </bean>        <!-- 对于不需要处理只需要做一个转发可以用下面方式实现 -->        <bean id="indexController"    class="org.springframework.web.servlet.mvc.ParameterizableViewController">                <!-- 简单的返回视图名,通过viewName的value值login直接调用视图解析器,转发到login.jsp -->                <property name="viewName" value="index"></property>        </bean>        <bean id="helloController" class="com.springmvc.controllers.HelloWorldController"></bean>        <!-- 视图解析器 -->        <bean id="jspViewResolver"                class="org.springframework.web.servlet.view.InternalResourceViewResolver">                <!-- 前缀 -->                <property name="prefix" value="/WEB-INF/jsp/" />                <!-- 后缀 -->                <property name="suffix" value=".jsp" />        </bean></beans>

欢迎页面写了一个简单的转发:


HandlerMapping映射处理器中寻找相应的controller,转发到如下页面:


表单提交后,对应的请求为hello,在映射处理器中找到对应hellocontroller,相应代码如下:

import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.web.servlet.ModelAndView;import org.springframework.web.servlet.mvc.AbstractController;public class HelloWorldController extends AbstractController {@Overrideprotected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response)throws Exception {// TODO Auto-generated method stubString user = request.getParameter("user");int age = Integer.parseInt(request.getParameter("age"));System.out.println("HelloWorldController @ handleRequestInternal"+user+":"+age);ModelAndView mav = new ModelAndView();mav.setViewName("hello");mav.addObject("user",user);mav.addObject("age",age);return mav;}}

控制器中返回的ModelAndView中的ViewNamehello,即为SpringMVC-servlet.xml配置文件中视图解析器配置的目录/WEB-INF/jsp/下的hello.jsp文件:



点击表单提交后,运行结果如下:


原创粉丝点击