SpringMVCday01

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

spring MVC 是新建module项目:而之前的spring 中是创建一个工程用的maven。是不一样的。
在这里插入图片描述
加上一对键值对 以免搭建慢。
在这里插入图片描述

这里将controller对象进行注册也就是交给springIOC处理 存入map中。在映射的类上面加上@Controller映射将方法对象放入spring IOC 里面。
在xml中加上注解扫描器进行扫描。在controller的类中的方法进行加上映射@RequestMapping ()注解进行注射。

在这里插入图片描述

在这里插入图片描述
前端控制器是一个枢纽作用没有处理作用。
处理器映射器 根据mapping找到controller方法。
处理器适配器:任何Controller都可以执行。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

第三章: 请求参数的绑定;
在这里插入图片描述
在这里插入图片描述
但是如果多的话运用 这个bean 来操作。
基本类型参数:
包括基本类型和 String 类型
POJO 类型参数:
包括实体类,以及关联的实体类
数组和集合类型参数:
包括 List 结构和 Map 结构的集合(包括数组)
SpringMVC 绑定请求参数是自动实现的,但是要想使用,必须遵循使用要求。

在这里插入图片描述

控制器代码:
/**

  • 保存账户
  • @param account
  • @return
    */
    @RequestMapping("/saveAccount")
    public String saveAccount(Account account) {
    System.out.println(“保存了账户。。。。”+account);
    return “success”; }

在这里插入图片描述

 private String username;
    private String password;
    private double money;

    @Override
    public String toString() {
        return "Account{" +
                "username='" + username + '\'' +
                ", password='" + password + '\'' +
                ", money=" + money +
                '}';
    }





<%--这一个bena要和domain里的一致才可以--%>

<form action="param/saveAccount" method="post">
    姓名:<input type="text" name="username"/> <br/>
    密码:<input type="text" name="password"/> <br/>
    金额:<input type="text" name="money"/> <br/>
   <input type="submit" value="提交">
</form>



 /*
    将请求参数封装到类中javabean的类中
    * */

    @RequestMapping("/saveAccount")
    public String saveAccount(Account account){
        System.out.println("zhixinfgl");
        System.out.println(account);

        return "success";
    }


接下来是怎么使用引用方法进行访问。如果 account对象中出现一个user对象user对象里面有一些自己的属性。接下来看一下如何进行封装的


<form action="param/saveAccount" method="post">
    姓名:<input type="text" name="username"/> <br/>
    密码:<input type="text" name="password"/> <br/>
    金额:<input type="text" name="money"/> <br/>
    用户姓名:<input type="text" name="user.uname"/> <br/>
    用户年龄:<input type="text" name="user.age"/> <br/>
   <input type="submit" value="提交">
</form>

配置解决中文乱码的过滤器: 在web.XMl 文件中配置。

集合进行封装:

  private String username;
    private String password;
    private double money;
   /* private User user;*/

    private List<User> list;
    private Map<String , User> map;






<form action="param/saveAccount" method="post">
    姓名:<input type="text" name="username"/> <br/>
    密码:<input type="text" name="password"/> <br/>
    金额:<input type="text" name="money"/> <br/>

    <%--把user的一组对象封装到List集合中--%>
    用户姓名:<input type="text" name="list[0].uname"/> <br/>
    用户年龄:<input type="text" name="list[0].age"/> <br/>

<%--将user 的对象封装到map集合中--%>
    用户姓名:<input type="text" name="map['one'].uname"/> <br/>
    用户年龄:<input type="text" name="map['one'].age"/> <br/>



    <input type="submit" value="提交">



 /*
    将请求参数封装到类中javabean的类中
    * */

    @RequestMapping("/saveAccount")
    public String saveAccount(Account account){
        System.out.println("zhixinfgl");
        System.out.println(account);

        return "success";
    }

在这里插入图片描述

自己配置自定义类型 封装;

<form action="param/saveUser" method="post">
        用户姓名:<input type="text" name="uname" /><br/>
        用户年龄:<input type="text" name="age" /><br/>
        用户生日:<input type="text" name="date" /><br/>
        <input type="submit" value="提交" />
    </form>




    private String uname;
    private Integer age;

    private Date date;


/**
     * 自定义类型转换器
     * @param user
     * @return
     */
    @RequestMapping("/saveUser")
    public String saveUser(User user){
        System.out.println("执行了...");
        System.out.println(user);
        return "success";
    }

    <!--配置自定义类型转换器-->
    <bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
        <property name="converters">
            <set>
                <bean class="cn.itcast.utils.StringToDate"/>
            </set>
        </property>
    </bean>


//把字符创转换成日期类型
public class StringToDate  implements Converter<String, Date> {
    /**
     * String source    传入进来字符串
     * @param source
     * @return
     */
    public Date convert(String source) {
        // 判断
        if(source == null){
            throw new RuntimeException("请您传入数据");
        }
        DateFormat df = new SimpleDateFormat("yyyy-MM-dd");

        try {
            // 把字符串转换日期
            return df.parse(source);
        } catch (Exception e) {
            throw new RuntimeException("数据类型转换出现错误");
        }
    }

}




在这里插入图片描述

常用注解:
在这里插入图片描述

在这里插入图片描述

<a href="anno/testRequestParam?name=哈哈">RequestParam</a>

 */
@Controller
@RequestMapping("/anno")
public class AnnoController {

    @RequestMapping("/testRequestParam")
    public String testRequestParam(@RequestParam(name="name") String username){
        System.out.println("执行了...");
        System.out.println(username);
        return "success";
    }



}


获得 q请求体内容@RequestBody

在这里插入图片描述

<%--获得请求体的内容--%>

<form action="anno/RequestBody" method="post">
    用户姓名:<input type="text" name="uname" /><br/>
    用户年龄:<input type="text" name="age" /><br/>
    <input type="submit" value="提交" />
</form>


   @RequestMapping("/RequestBody")
    public String testRequestBody( @RequestBody String body){

       System.out.println(body);

        return"success";
    }


在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值