Spring MVC学习笔记 1:入门篇

springMVC基于模型-视图-控制器模式,可以帮助你建立一个像spring框架本身一样,灵巧和松耦合的web应用程序。

1,请求的生命周期:

用户在web界面中提交一个表单web请求就产生了,web请求犹如一个快递员,他携带着发件方和收件方的消息,web请求从离开浏览器到得到响应,中间经历几次停留,每一次停留都卸下一些消息并得到更多的消息。

web请求离开浏览器后的第一个节点是dispatchServlet(普通的前端servlet),dispatchServlet根据映射找到具体的控制器,跳转到控制器后,请求卸下消息,等待处理结果,并准备反馈响应消息,这些消息被称为模型(model),不过仅向用户反馈未加工的数据是不够的,一般需要反馈用户可接收的视图(一般是jsp),因此控制器要做的最后一件事情就是将模型数据和视图名称封装到modeAndView中发送给dispatchServlet。

最后servlet收到响应消息,知道了要反馈的模型和视图,然后根据模型和视图渲染一个web界面,通过响应对象反馈给web浏览器。

 

2,如何使用:

首先需要导入相关依赖包:

spring mvc依赖包

在web_info下新建 servlet_name.xml

<?xml version="1.0" encoding="UTF-8" ?>
	<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
		<beans>
		    <!-- 配置控制器映射,分发请求给指定的控制器处理 -->
		    <bean id="simpleUrlHandlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
		        <property name="mappings">
		            <props>
		                <prop key="/hello.do">helloController</prop>
		                <!--<prop key="/Login.do">loginController</prop>-->
		            </props>
		        </property>
		    </bean>

		    <!-- 视图映射器,通过视图名次映射某某目录下的的JSP,例如映射名称为hello,那么则返回hello.jsp -->
		    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		        <property name="prefix" value="/WEB-APP/test/" />
		        <property name="suffix" value=".jsp" />
 			  <property name="order" value="0"/><!-- 映射器优先级 -->
		    </bean>
		    
			
			<!-- 定义控制器 -->
		    <bean id="helloController" class="com.autophone.webapp.contraller.contraller.HelloController">
		    </bean>
		</beans>


在web.xml中配置新建的 servlet_name.xml

		<servlet>
		<servlet-name>s_name</servlet-name>
			<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
			<load-on-startup>1</load-on-startup>
		</servlet>
	
		<servlet-mapping>
			<servlet-name>s_name</servlet-name>
			<url-pattern>*.do</url-pattern>
		</servlet-mapping>
		<!--注:当DispatcherServlet载入后,它会根据serveltName找serveltName-servlet.xml,然后载入其中的bean到spring的上下文 -->


 

编写控制器:

public class HelloController implements Controller {
		
	public ModelAndView handleRequest(HttpServletRequest request,
					HttpServletResponse response) throws Exception {
		Map map=request.getParameterMap();

		//反馈消息给界面
		//request.setAttribute("hello_2", "Hello World!"); 
		response.setContentType("text/html;charset=utf-8");
		String account = request.getParameter("username");
				
		request.setAttribute("result", "success!"); 
		//跳转到视图控制器定义的目录下的,hello.jsp界面 
		return new ModelAndView("hello");
		//json形式返回
		//String json="[{result:'success'}]";
		//PrintWriter pw = response.getWriter();
		// pw.print(json.toString());  
		// pw.close(); 
		//return null;
		}
	}


 

编写界面,略

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值