springMVC笔记

来源:互联网 发布:odi 绿地 并购 数据 编辑:程序博客网 时间:2024/04/29 13:59

SpringMVC

什么是SpringMVC

前台框架,负责与前台页面的交互。取代servlet的位置。

Servlet的缺点:

1、配置繁琐:一个servlet对饮着一个servlet的配置信息。

2、局限性高:一个servlet只能处理一种逻辑。

3、结构单一:每次只能是使用request.getParameter(),而且得到的只能是String类型。

 

springMVC的调用过程:

一个控制器:前端控制器。(DispatherServlet)(核心分发器)

三个适配器:处理器适配器(handlerMapping)

处理器映射器(handlerAdapter)xml或注解的解析)

视图解析器(viewResolver)

 

不使用注解时:

springMVC的实现步骤:

1、web.xml中编写一个<servlet>以完成前端控制器的配置

<servlet>

<servlet-name>springmvc </>

<servlet-class>前端控制器的路径</>

</servlet>

<servlet-mapping>

<servlet-name>springmvc </>

<url-pattern>*.action</>//过滤器

</>

2、配置handlerMapping处理器映射器

处理器映射器的名称为servlet-name的值-servlet.xml(springmvc-servlet.xml)

在里面配置映射的关系

<bean id=”/hello.action” class=”hello类的全路径”></>

进行视图处理,即在视图前后添加路径。

<bean id=”视图解析器的id”  class=”视图解析器的全路径名称”>

<property name=”prefix”  value=”/WEB-INF/”></>

<property name=”suffix”   value=”.jsp”></>

</>

3、写处理器

处理类实现Controller接口

其中用modelAndVeiw去接收modelview的两个数据

Modelandveiw.addObject(“属性”,””);

Modelandveiw.setviewname(“hello”);

并返回接收对象。

 

此配置方式还存在的问题有:

1、spring的配置文件应该在src中,而不是WEB-INF中,还有就是配置文件的名称在给定servlet的名字时已经固定了。

解决方法:在servlet中设置一个init-param将配置文件的位置放置于src中,名字也可以改变。

2、在当前的handle中,只能执行一个方法,与之前的servlet存在相同的问题?

解决方法:使用注解的方式。可以很好的解决这个问题。

3、如何获取页面中的参数呢?

解决方法:只需要确保在页面中的参数的名称与Controller中的名称一致,即可获取任意类型的参数。

 

SpringMVC的注解实现的步骤:

1、web.xml中将servlet配置完成,还要讲springMVC的初始化参数进行配置。

2、springMVC的配置文件中配置MVC的注解<mvc:annotation-driver/>;开启类扫描<contextComponent-scan  base-package=包名”>;开启视图解释器。

3、Controller文件中配置注解,类上的注解@Component@Controller;在对应的方法上对具体的方法进行过滤@RequestMapping(value=/hello.action),当Controller的数据的名称与页面中名称不一致时可以使用@RequestParam(value=页面中的名称) Controller中的名称。没有modelandview对象,可以使用Model对象在页面与Controller中进行数据的传输。其中的方法为model.addAttribute(属性”,””)。在此类中能写多个方法。

 

重定向:redirect/

0 0
原创粉丝点击