Spring MVC初学后总结(二)

使用注解编写Spring MVC程序

  • 注册组件扫描器
<context:component-scan base-package="com.ajiao.*"/>
  • 配置注解驱动
<mvc:annotation-driven/>
  • 注解一:@Controller:表示该类为一个Controller
  • 注解二:@RequestMapping:表示为Controller内的方法,value属性所指定的url进行处理和相应。若@RequestMapping在类上,表示命名空间。
  • 在@RequestMapping中,有method属性,该属性表示接受请求的提交方式。如:@RequestMapping(value="/test.do",method = RequestMethod.POST)当且仅当/test.do的请求方式是post才会执行。不写method的话,不管什么方式都会处理。
  • @RequestMapping通过params属性指定请求中必须携带的参数@RequestMapping(value="/test.do" , params={"name" , "age"})

接受表单提交的参数

  • 带有表单的jsp页面:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <form action="/regist.do" method="post">
        姓名:<input type="text" name="username"><br>
        年龄:<input type="text" name="age"><br>
        <input type="submit" value="提交">
    </form>
</body>
</html>
  • 创建Controller接受表单提交的值
@RequestMapping("/regist.do")
    public ModelAndView regist(String username, int age) throws Exception{

        ModelAndView mv = new ModelAndView();
        mv.addObject("username", username);
        mv.addObject("age", age);
        mv.setViewName("result");
        return mv;
    }

  • result.jsp显示值
<body>

用户名:${username}
<br>
年龄:${age}
</body>

在regist方法后面的参数有两个参数username 和 age,与表单中的name属性值一致,Spring MVC会自动赋值。
Spring MVC中会为以下五个参数自动赋值:

HttpServletRequest
HttpServletResponse
HttpSession
请求携带的参数
用于承载数据的Model
  • 使用Spring MVC 提供的CharacterEncodingFilter过滤器解决乱码问题
<!--字符编码过滤器-->
<filter>
    <filter-name>characterEncodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>

    <!--指定字符编码-->
    <init-param>
        <param-name>encoding</param-name>
        <param-value>utf-8</param-value>
    </init-param>

    <!--强制指定字符编码,即如果在request中指定了字符编码,那么也会为其强制指定当前设置的字符编码-->
    <init-param>
        <param-name>forceEncoding</param-name>
        <param-value>true</param-value>
    </init-param>

</filter>
<filter-mapping>
    <filter-name>characterEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

使用对象接受表单参数

  • javabean中定义Student类(属性名与表单的name保持一致,创建set和get方法)
  • 在Controller类中将student作为参数传入

学习和参考自JAVA小猴子monkey1024

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值