SpringMVC学习笔记

@RequestParam
        校正请求参数名
        指若请求 URL 所携带请求参数名不相同时,则需在处理方法参数前,添加一个注解@RequestParam(“请求参数名”),指定请求 URL 所携带参数的名称。该注解是对处理器方法参数进行修饰的。
        value 属性指定请求参数的名称。
        value属性
                请求中的参数名
        required属性
                true:表示请求中必须有该参数(默认)
                false:表示请求中可以没有该参数

        对象参数接受
                将处理器方法的参数定义为一个对象,只要保证请求参数名与这个对象的属性同名即可。

处理器方法的返回值
        使用@Controller注解的处理器的处理器方法,返回值常用的有四种类型:
        1)ModelAndView
                需要跳转到其它资源,且又要在跳转的资源间传递数据,此时处理器方法返ModelAndView 比较好。
        2)String
                处理器方法返回的字符串可以指定逻辑视图名,通过视图解析器解析可以将其转换为物理视图地址。
                这个字符串可以与视图解析器中的 prefix、suffix 相结合,即可形成要访问的 URI。
        3)void
                对于处理器方法返回 void 的应用场景,AJAX 响应。若处理器对请求处理后,无需跳转到其它任何资源,此时可以让处理器方法返回 void。
        4)返回自定义类型的对象
                处理器方法也可以返回 Object 对象。这个 Object 可以是 Integer,String,自定义对象, Map,List 等。但返回的对象不是作为逻辑视图出现的,而是作为直接在页面显示的数据出现的。
                返回对象,需要使用@ResponseBody 注解,将转换后的 JSON 数据放入到响应体中。
                <mvc:annotation-driven/>
                将 Object 数据转化为 JSON 数据,需要由消息转换器 HttpMessageConverter 完成。
                返回自定义类型对象
                返回List集合
                返回字符串对象
                若要返回非中文字符串,将前面返回数值型数据的返回值直接修改为字符串即可。但若 返回的字符串中带有中文字符,则接收方页面将会出现乱码。此时需要使用 @RequestMapping 的 produces 属性指定字符集。
                produces,产品,结果,即该属性用于设置输出结果类型。

@RequestMapping(
    value = "",
    produces = "text/plain;charset=utf-8"
)


<url-pattern/>
    *.do
    /

        保持<url-pattern/>的值为 *.do,扩展名方式,图片会正常显示。
        将<url-pattern/>的值修改为 / ,则图片将无法显示。
        静态资源访问
        <url-pattern/>的值并不是说写为/后,静态资源就无法访问了。经过一些配置后,该问题也是可以解决的。
                1-使用<mvc:default-servlet-handler/>
                2-使用<mvc:resources/>
                <mvc:resources location="/images/" mapping="/images/**"/>
                 location表示静态资源所在目录。当然,目录不要使用/WEB-INF/及其子目录。mapping 表示对该资源的请求( 以/images/ 开 始 的 请 求 , 如/image/beauty.jpg ,/images/car.png 等)。注意,后面是两个星号**。
                3-使用<mvc:annotation-driven />   
SSM整合
        配置web.xml
        注册 ContextLoaderListener 监听器
        注册字符集过滤器
        配置中央调度器
jdbc配置文件
        driven
        url
        user
        password
spring配置文件 -- applicationContext.xml
        组件扫描器
                <context:component-scan base-package=""/>
        引入属性配置文件
                <context:property-placeholder location="classpath:"/>
        数据库连接池
                <bean class="**.*DataSource"/>
        SqlSessionFactoryBean
                <bean class="org.mybatis.spring.SqlSessionFactoryBean"/>
        动态代理对象
                <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"/>
springMVC配置文件——springMVC.xml
        组件扫描器
        视图解析器
        注册注解驱动
                <mvc:annotation-driven/>
MyBatis.xml
        配置别名
        指定sql映射文件
                <mappers>
                        <package name=""/>
                </mappers>
                name 指定dao接口的包名
                <package>使用条件
                        sql映射文件名和Dao接口名要一样
                        sql映射文件和Dao接口在同一目录

请求和重定向和转发
        请求转发
        处理器方法返回 ModelAndView 时,需在 setViewName()指定的视图前添加 forward:,且此时的视图不再与视图解析器一同工作,这样可以在配置了解析器时指定不同位置的视图。
        视图页面必须写出相对于项目根的路径。forward 操作不需要视图解析器。
        处理器方法返回 String,在视图路径前面加入 forward: 视图完整路径。
        请求重定向
        在处理器方法返回的视图字符串的前面添加 redirect:,则可实现重定向跳转。

异常处理
        SpringMVC 框架处理异常的常用方式:使用@ExceptionHandler 注解处理异常。
        @ExceptionHandler 注解
        使用注解@ExceptionHandler 可以将一个方法指定为异常处理方法。该注解只有一个可选属性 value,为一个Class<?>数组,用于指定该注解的方法所要处理的异常类,即所要匹配的异常。
        而被注解的方法,其返回值可以是 ModelAndView、String或 void,方法名随意,方法参数可以是 Exception 及其子类对象、HttpServletRequest、HttpServletResponse 等。系统会自动为这些方法参数赋值。
        对于异常处理注解的用法,也可以直接将异常处理方法注解于 Controller 之中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Famiglistimott

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值