zoukankan      html  css  js  c++  java
  • SpringMVC学习(二)

    大纲

    1接受的参数为日期类型

    2 controller进行数据保存

    3 Controller如何进行重定向跳转

    4 静态资源的映射

    5 Springmvc完成ajax功能。(jquery. $)

    6 Springmvc完成ajax功能,controller类返回的数据类型为String且为汉字时出现乱码

    1 接收的参数为日期类型时

     1.1新建动态web工程

     1.2导入springmvc相关jar包

     

     1.3配置web.xml文件(已经安装了插件,使用插件加载后再修改相关参数,快捷键:Alt+/)

    *修改如下地方

     

     1.4创建Spring Bean Configuration File文件,配置springmvc配置文件(创建的xml文件名需要与web.xml中classpath后的文件名对照)

    *使用插件引入jar包路径

     *添加包扫描、开启驱动、视图解析器

    1.5在WEB-INF目录下新建view文件夹,添加index.jsp文件

     *注意:WEB-INF下的资源,无法通过浏览器直接访问也不能通过重定向访问,只能通过请求转发访问

    1.6以User为例在controller包下,创建UserController类,添加相关方法,该方法接收的参数为单参,返回类型为String,参数为Date类型,或者该方法接收的参数为User实体类

    way1:使用@InitBinder对日期类型的数据进行处理

    1 @InitBinder
    2     public void initBinder(ServletRequestDataBinder binder){
    3         //只要网页中传来的数据格式为yyyy-MM-dd 就会转化为Date类型
    4         binder.registerCustomEditor(Date.class, new CustomDateEditor(new SimpleDateFormat("yyyy-MM-dd"),
    5                 true));
    6     }

    *接收的参数为实体类

     way2:封装到实体类,在实体类中使用@DateTimeFormat(pattern="yyyy-MM-dd")

     

     1.7在WebContent目录下添加login.jsp文件

    注意:input标签中name属性的值,要与controller方法中的参数一样,

    controller进行数据保存

     2.1保存的作用域为request的四种方法

    1)使用ModelAndView,该方法的返回类型必须是ModelAndView

     *在index.jsp中使用${requestScope.name}获取保存的数据

    2)使用Model,该方法的返回值是String类型,参数类型为Model

      *在index.jsp中使用${requestScope.name}获取保存的数据

    3)使用Map,方法的返回值是Sting类型,参数类型为Map<泛型>

      *在index.jsp中使用${requestScope.name}获取保存的数据

    4)使用原始的HttpServletRequest对象保存

    2.2保存的作用域为session的两种方法

    1)使用原始的HttpSession保存,返回类型为String,参数类型为HttpSession

      *在index.jsp中使用${sessionScope.name}获取保存的数据

    2)使用注解@SessionAttributes(name={key1,key2}),参数类型为HttpSession

     

    *在index.jsp中使用 ${applicationScope.name} 获取保存的数据

    Controller如何进行重定向跳转

     *使用redirect进行重定向跳转

    静态资源的映射

     

     

    *静态资源可以正常的显示。

     

     *若DispatchServlet处理的请求的地址为/,那么它会处理静态资源,运行时会报错404,故需要在springmvc的配置文件中添加,释放静态资源的语句

    <mvc:default-servlet-handler/>   :表示不处理静态资源

    Springmvc完成ajax功能。(jquery. $)

    5.0导入jackson的三个jar包,这这三个jar包与springmvc联合使用

     5.1在WebContent目录下新建js目录,再导入jar包(jquery.min.js)

    5.2在WebContent目录下新建ajax.jsp文件,在head标签内添加script标签通过src属性引入jquery.min.js

     

     5.3在controller包下新建AjaxController类,添加相关方法

    *注意:这里需要通过@ResponseBody,将Java对象转化成json对象,且将静态资源释放后,return的数据才可以在页面上使用

    1)返回类型为String类型

    *在ajax.jsp页面使用jQuery,通过alert弹出ajax1返回的值

    注意:jQuery中的name与ajax1方法的参数一样

     

     2)返回类型为User实体类对象

    *在ajax.jsp页面使用jQuery,通过alert弹出ajax2,返回的值

     3)返回类型为集合类型

     

    *在ajax.jsp页面使用jQuery,通过alert弹出ajax3,返回的

     

    6 Springmvc完成ajax功能,controller类返回的数据类型为String且为汉字时出现乱码

    *原因:返回String类型时源码中的默认编码为ISO-8859-1

    解决方案:在开启驱动时,设置编码,将默认值该为utf-8

     

  • 相关阅读:
    浅谈移动前端的最佳实践(转)
    程序员的个人发展注意事项(转)
    SQL Server 维护计划实现数据库备份(Step by Step)
    每日一SQL-善用DATEADD和DATEDIFF
    Entity Framework Code First (一)Conventions
    臣服不代表解放你的手
    写在那个毕业五年的日子(转)
    测试驱动开发实践
    领域驱动设计实践上篇(转)
    WebAPI使用多个xml文件生成帮助文档(转)
  • 原文地址:https://www.cnblogs.com/jingmochen/p/11456663.html
Copyright © 2011-2022 走看看