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

这里写的实例为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/javaee
	http://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 {

	@Override
	protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response)
		throws Exception {
		// TODO Auto-generated method stub
		String 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文件:



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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值