学习javaEE每一天2016.4.5
2016-04-05 20:14
477 查看
回顾之前的知识点:
1.mybatis回顾:连接信息(封装到session工厂中);orm映射:表映射:表——对象,行映射:行——实例,列映射:列——属性;
jdbc中返回时结果集与对象、实例、属性对应;mybatis中sql语言的书写(其中在查询时返回的类型(resultType,resultMap));
在需要得到返回的id时使用@Options()...,当sql语句中有使用大于>或小于等,需要将其放入CDATA中...
2.spring回顾:整合型框架:
作用 1.整合(预留接口、依赖IOC容器)
2.AOP面向切面编程
3.IOC控制翻转,依赖注入(工厂+反射(工厂:BeanFactory工厂/ApplicationContext接口))
ApplicationContext是BeanFactory的实现,实现了BeanFactory的功能:创建bean;ApplicationContext在创建时,
会将ApplicationContext中的bean创建,一般为单态。
作用域:单例由容器控制,原型由用户自己控制,(request、session、goloble/session)
注入方式:设值注入,构造注入
AOP作用:将业务逻辑和系统服务分离开放到一个切面上去(拦截器思想)
5种通知(before、after、afterReturn、afterThrow、around)
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
1.mybatis回顾:连接信息(封装到session工厂中);orm映射:表映射:表——对象,行映射:行——实例,列映射:列——属性;
jdbc中返回时结果集与对象、实例、属性对应;mybatis中sql语言的书写(其中在查询时返回的类型(resultType,resultMap));
在需要得到返回的id时使用@Options()...,当sql语句中有使用大于>或小于等,需要将其放入CDATA中...
2.spring回顾:整合型框架:
作用 1.整合(预留接口、依赖IOC容器)
2.AOP面向切面编程
3.IOC控制翻转,依赖注入(工厂+反射(工厂:BeanFactory工厂/ApplicationContext接口))
ApplicationContext是BeanFactory的实现,实现了BeanFactory的功能:创建bean;ApplicationContext在创建时,
会将ApplicationContext中的bean创建,一般为单态。
作用域:单例由容器控制,原型由用户自己控制,(request、session、goloble/session)
注入方式:设值注入,构造注入
AOP作用:将业务逻辑和系统服务分离开放到一个切面上去(拦截器思想)
5种通知(before、after、afterReturn、afterThrow、around)
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
相关文章推荐
- Eclipse下maven使用嵌入式(Embedded)Neo4j创建Hello World项目
- 学习javaEE每一天2016.4.5
- Java-继承、多态
- java程序初始化的顺序
- java编程的注意事项
- spring框架学习阶段小结
- java编程方法和类创建时的常见错误
- java编程中常见的拼写错误
- java连接数据库时加载驱动程序Class.forName(driveName)详解
- java运行环境的配置
- Java多线程——EXECUTORSERVICE线程池讲解(主要是四种自带线程池的区别)
- JAVA 小抄
- java语句的执行结构
- 20145229吴姗珊《Java程序设计》2天总结
- java学习第六天
- java中各种进制的转换
- Java语句的执行先后顺序
- java中Integer的比较
- java安装的环境配置
- Spring 依赖注入四种方式