您的位置:首页 > 编程语言 > Java开发

学习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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: