J2EE轻量级框架--4.05学习心得
2016-04-05 21:58
183 查看
今天老师讲了一下springmvc的相关知识,特做如下归纳:
Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的。
springMVC学习:主要是WEB端表现层所封装的MVC框架。
(重要)Spring Web MVC处理请求的流程:图见springmvc.docx图2-1
具体执行步骤如下:
1、 首先用户发送请求————>前端控制器,前端控制器根据请求信息(如URL)来决定选择哪一个页面控制器进行处理并把请求委托给它,即以前的控制器的控制逻辑部分;图2-1中的1、2步骤;
2、 页面控制器接收到请求后,进行功能处理,首先需要收集和绑定请求参数到一个对象,这个对象在Spring Web MVC中叫命令对象,并进行验证,然后将命令对象委托给业务对象进行处理;处理完毕后返回一个ModelAndView(模型数据和逻辑视图名);图2-1中的3、4、5步骤;
3、 前端控制器收回控制权,然后根据返回的逻辑视图名,选择相应的视图进行渲染,并把模型数据传入以便视图渲染;图2-1中的步骤6、7;
4、 前端控制器再次收回控制权,将响应返回给用户,图2-1中的步骤8;至此整个结束。
springMVC:
M:Model(模型):数据模型,提供要展示的数据,因此包含数据和行为,可以认为是领域模型或JavaBean组件(包含数据和行为),不过现在一般都分离开来:Value Object(数据)和服务层(行为)。也就是模型提供了模型数据查询和模型数据的状态更新等功能,包括数据和业务。
V: View(视图):负责进行模型的展示,一般就是我们见到的用户界面,客户想看到的东西。
C:Controller(控制器):接收用户请求,委托给模型进行处理(状态改变),处理完毕后把返回的模型数据返回给视图,由视图负责展示。也就是说控制器做了个调度员的工作。
在代码中体现:首先我们需要一个springmvc.xml配置文件
在其中(了解)
<!-- 配置SimpleUrlHandlerMapping路径映射器 -->
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<!-- 配置url和应用控制器映射 -->
<property name="mappings">
<props>
<prop key="login.do">lc</prop>
</props>
</property>
</bean>
然后
<bean id="lc" class="com.lovo.mvc.controller.LoginController"></bean> (id="lc"是在上面<prop key="login.do">lc</prop>中的lc)
<!-- 配置视图解析器,只使用于使用JSP作为视图资源 -->
<bean class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/"/> (value="/"等于/WebRoot)
<property name="suffix" value=".jsp"/> (value=".jsp"是以.jsp结尾)
</bean>
在controller包中,实现Controller接口,实现
public ModelAndView handleRequest(HttpServletRequest arg0,
HttpServletResponse arg1) throws Exception {}
方法
String userName = arg0.getParameter("userName");得到表单数据,与request类似
mv.addObject("userName", userName);
mv.setViewName("/jsp/success");
上述两种用法类似request的EL标签和跳转
具体代码如下
public class LoginController implements Controller{
public ModelAndView handleRequest(HttpServletRequest arg0,
HttpServletResponse arg1) throws Exception {
// TODO Auto-generated method stub
ModelAndView mv = new ModelAndView();
String userName = arg0.getParameter("userName"); (在login.jsp中有action为login.do的)
String password = arg0.getParameter("password");
System.out.println(userName);
System.out.println(password);
mv.addObject("userName", userName);
mv.setViewName("/jsp/success"); (是在WebRoot下jsp里的success.jsp)
return mv;
}
}
(重要)在springMVC中,最重要的是springmvc的前端控制器(核心控制器)
通过在WEB-INF文件夹下的web.xml配置文件中,使用
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/springmvc.xml</param-value> (初始化数据,通过/WEB-INF/classes/springmvc.xml读取配置文件数据)
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
来进行配置
归纳:在springmvc上述代码中,
1.首先通过配置springmvc.xml文件
2.配置SimpleUrlHandlerMapping路径映射器→配置视图解析器,只使用于使用JSP作为视图资源
3.在配置SimpleUrlHandlerMapping路径映射器中property name="mappings"的props下的prop中将login.do类似于取别名为lc(<!-- 配置url和应用控制器映射 -->),
4.然后通过<bean id="lc" class="com.lovo.mvc.controller.LoginController"></bean>将其配置
5.通过配置视图解析器,只使用于使用JSP作为视图资源中上述的代码,来规定其代码的格式
6.然后在LoginController类中进行了一些测试,并且通过mv.setViewName("/jsp/success");进行了页面的跳转
7.其中("/jsp/success")因为5中的格式其实路径为:/springmvc/WebRoot/jsp/success.jsp
Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的。
springMVC学习:主要是WEB端表现层所封装的MVC框架。
(重要)Spring Web MVC处理请求的流程:图见springmvc.docx图2-1
具体执行步骤如下:
1、 首先用户发送请求————>前端控制器,前端控制器根据请求信息(如URL)来决定选择哪一个页面控制器进行处理并把请求委托给它,即以前的控制器的控制逻辑部分;图2-1中的1、2步骤;
2、 页面控制器接收到请求后,进行功能处理,首先需要收集和绑定请求参数到一个对象,这个对象在Spring Web MVC中叫命令对象,并进行验证,然后将命令对象委托给业务对象进行处理;处理完毕后返回一个ModelAndView(模型数据和逻辑视图名);图2-1中的3、4、5步骤;
3、 前端控制器收回控制权,然后根据返回的逻辑视图名,选择相应的视图进行渲染,并把模型数据传入以便视图渲染;图2-1中的步骤6、7;
4、 前端控制器再次收回控制权,将响应返回给用户,图2-1中的步骤8;至此整个结束。
springMVC:
M:Model(模型):数据模型,提供要展示的数据,因此包含数据和行为,可以认为是领域模型或JavaBean组件(包含数据和行为),不过现在一般都分离开来:Value Object(数据)和服务层(行为)。也就是模型提供了模型数据查询和模型数据的状态更新等功能,包括数据和业务。
V: View(视图):负责进行模型的展示,一般就是我们见到的用户界面,客户想看到的东西。
C:Controller(控制器):接收用户请求,委托给模型进行处理(状态改变),处理完毕后把返回的模型数据返回给视图,由视图负责展示。也就是说控制器做了个调度员的工作。
在代码中体现:首先我们需要一个springmvc.xml配置文件
在其中(了解)
<!-- 配置SimpleUrlHandlerMapping路径映射器 -->
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<!-- 配置url和应用控制器映射 -->
<property name="mappings">
<props>
<prop key="login.do">lc</prop>
</props>
</property>
</bean>
然后
<bean id="lc" class="com.lovo.mvc.controller.LoginController"></bean> (id="lc"是在上面<prop key="login.do">lc</prop>中的lc)
<!-- 配置视图解析器,只使用于使用JSP作为视图资源 -->
<bean class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/"/> (value="/"等于/WebRoot)
<property name="suffix" value=".jsp"/> (value=".jsp"是以.jsp结尾)
</bean>
在controller包中,实现Controller接口,实现
public ModelAndView handleRequest(HttpServletRequest arg0,
HttpServletResponse arg1) throws Exception {}
方法
String userName = arg0.getParameter("userName");得到表单数据,与request类似
mv.addObject("userName", userName);
mv.setViewName("/jsp/success");
上述两种用法类似request的EL标签和跳转
具体代码如下
public class LoginController implements Controller{
public ModelAndView handleRequest(HttpServletRequest arg0,
HttpServletResponse arg1) throws Exception {
// TODO Auto-generated method stub
ModelAndView mv = new ModelAndView();
String userName = arg0.getParameter("userName"); (在login.jsp中有action为login.do的)
String password = arg0.getParameter("password");
System.out.println(userName);
System.out.println(password);
mv.addObject("userName", userName);
mv.setViewName("/jsp/success"); (是在WebRoot下jsp里的success.jsp)
return mv;
}
}
(重要)在springMVC中,最重要的是springmvc的前端控制器(核心控制器)
通过在WEB-INF文件夹下的web.xml配置文件中,使用
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/springmvc.xml</param-value> (初始化数据,通过/WEB-INF/classes/springmvc.xml读取配置文件数据)
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
来进行配置
归纳:在springmvc上述代码中,
1.首先通过配置springmvc.xml文件
2.配置SimpleUrlHandlerMapping路径映射器→配置视图解析器,只使用于使用JSP作为视图资源
3.在配置SimpleUrlHandlerMapping路径映射器中property name="mappings"的props下的prop中将login.do类似于取别名为lc(<!-- 配置url和应用控制器映射 -->),
4.然后通过<bean id="lc" class="com.lovo.mvc.controller.LoginController"></bean>将其配置
5.通过配置视图解析器,只使用于使用JSP作为视图资源中上述的代码,来规定其代码的格式
6.然后在LoginController类中进行了一些测试,并且通过mv.setViewName("/jsp/success");进行了页面的跳转
7.其中("/jsp/success")因为5中的格式其实路径为:/springmvc/WebRoot/jsp/success.jsp
相关文章推荐
- C++将两个整数交换次序后输出
- 数据结构之栈(1)——顺序栈
- Webx学习(一)
- POJ 3126 Prime Path (BFS)
- RabbitMQ的work queue(1)
- 【bzoj3295】[Cqoi2011]动态逆序对 树状数组套主席树
- APK动态加载框架(DL)解析
- top scrollTop offsetTop等对比
- 【opencv】ndk编译opencv源码
- 小米笔试-懂二进制
- iOS Client 与WebSocket 通信(二)
- Perl中"—>"箭头的意义及用法
- Kafka安装配置及简单通道传输操作(kafka2.9.2)
- C++百钱白鸡问题
- C++实验2
- leetcode longest consecutive sequence
- How do you build a database?
- 反射(Reflection)基础
- Volley的常用方法总结
- Linux