浅析Springmvc

来源:互联网 发布:三星4300清零软件 编辑:程序博客网 时间:2024/05/22 00:31

Springmvc

1.     什么是mvc模式?

解析:M(model)javaBean  V(view)视图jsp  C controllerd(控制器)action/servlet

控制器存在目的:保证M和V的一致性。

2.     什么是springmvc框架?

Spring MVC是基于MVC模式的一个框架,它解决WEB开发中常见的问题(参数接收、文件上传、表单验证、国际化、等等),而且使用简单,与spring无缝集成。目前很多公司都采用Spring MVC,招聘要求需要熟悉Spring MVC

3. 入门例子(环境搭建)

   A.导入相关的jar资源

01.添加Spring的核心包

       

        02添加SpringMVC的核心包

       

      03.日志需要的jar包

       

04.添加配置文件 (springmvc.xml)

05编写核心类,去实现接口

Public abstract interfaceorg.springframework.web.servlet.mvc.Controller

06.配置文件读取类 name对应的请求地址 class对应的请求类

 

     07.在web.xml中配置请求分发

     08springmvc 默认在web-inf找配置文件  默认的名字为:<servlet-name>名字-servlet.xml默认在请求的时候才初始化,这样会导致第一次访问会很慢。把初始化工作放到服务器启动时候加载

 

4.SpringmvcURL映射方式:

BeannameUrl:映射方法

通过注解方法配置url映射

 

5.全注解的方式:

控制层:@Controller

业务逻辑层:@service

数据持久层:@Repository

比如工具类:@Component

注解需要起效

1.    定义一个注解

2.    注解贴在地方需要有扫描器

导入aop相关的jar

 

6.静态资源的处理

我们这样的配置有这样一个问题

     在WebContent添加  index.html,然后不能访问,原因是什么呢?为什么写/就不行呢?

     原因:

     tomcat中也有很多内置的servlet,比如说数据的回显,是怎么样将我们封装的java对象放在我们的jsp页面进行回显呢?

     由tomcat里面的servlet做的

     同理,我们需要访问一个静态资源,tomcat也有对应的servlet为我们处理,恰好该servlet的映射路径也为/

     在tomcat中的web.xml是先加载的,项目的web.xml是后加载的

     如果配置了相同的路径,后面的会覆盖前面的.

     也就是说,springMVC中的DispatcherServlet的映射路径覆盖了tomcat默认对静态资源的处理的路径

     如果配置为/,那么Dispatcherservlet是不是需要对静态资源进行支持?

解决方案:需要在springMVC的配置文件中添加对静态资源的访问

<mvc:default-servlet-handler/>

<url-pattern>/</url-pattern>会匹配到/login这样的路径型url和静态资源(*.js和*.html等),但不会匹配*.jsp

<url-pattern>/*</url-pattern>会匹配所有url:(包括/login,*.jsp,*.js和*.html等)

方式1:在springmvc.xml进行配置:

方式二在web.xml中配置

7.Springmvc中传参方式

方式二:

方式三:

 

8. post请求编码设置问题

 

1.     原始通过servlet-api里面的方法

request.setAttribute(key,value);

request.getRequestDispathcer(/index.jsp).forward(reuqest,response);

2.可以创建ModelAndView的对象,封装模型和数据.(用的比较多)

1.mv.addObject("msg", "今天天气好热");//输入key,value的数据

2.mv.addAllObjects(param);//把一个Map集合放入的域中.

3.mv.addObject(newUser("admin","123"));//直接放对应的属性值,此时会有默认key,默认key为类型全小写字符串.

3.直接返回String,返回值最为响应视图的一部分.只是的视图为 前缀+返回值+后缀.此时的数据就放到Model.,(这种也用得比较多)

原创粉丝点击