Spring MVC 数据转换之前(随记)

本文详细介绍了SpringMVC框架的基本配置流程,包括@Controller注解的使用、视图解析器配置、web.xml核心配置等内容,并对@RequestMapping、@RequestParam等注解的功能进行了说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

随记 不全勿喷


1.@Controller这个就不解释了 注解一个类为Controller

2.Spring MVC 配置文件中的视图解析器

<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
     <property name="prefix">
      <value>/WEB-INF/jsp/</value>
     </property>
     <property name="suffix">
      <value>.jsp</value>
     </property>
</bean>

3.web.xml配置(Spring MVC必须的配置)

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
 xmlns="http://java.sun.com/xml/ns/javaee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
 http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
  <display-name></display-name> 
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
 
  <servlet>
    <servlet-name>springmvc</servlet-name>
    <servlet-class>
              org.springframework.web.servlet.DispatcherServlet
         </servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>/WEB-INF/springmvc-config.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>
</web-app>

4.@RequestMapping(value="",method={RequestMethod.POST},params="")

①此时jsp页面的表单使用 post方法 若不加 method={RequestMethod.POST} 则可以处理任意的HTTP请求方式 params 指定request中必须包含某些参数值时,才让该方法处理
②注解在方法上,可以使用http://localhost:8080/项目名/value的值访问该方法
③注解在类上,所有路径都加上/value的值    这是需要注意jsp页面到Controller的方法的路径问题

5.Model,ModelMap,ModelAndView 区别

①使用其对象存储数据 model.addAttribute("user",user);  modelMap.addAttribute("user",user);  modelAndView.addObject("user",user);
②ModelAndView 可添加视图路径(前端页面路径) modelAndView.setViewName("路径")
③获取存储数据 User user =(User) model.asMap().get("user"); User user =(User) modelMap.get("user");  User user =(User) modelAndView.getModel().get("user");
④作用域相当于 request

6.@RequestParam(value="",name="",required=ture/false,defaultValue="") 在方法的参数位置

①name 指定请求头绑定的名称
②value name属性的别名
③required 为true时 不传参会报错
④defaultValue 如果没有传参则使用默认值

7.@SessionAttribute(names="",types={User.class,Boke.class},value={"user","results"})

①names model中的属性名
②value names的别名
③types 指定参数是否必须绑定(我理解的是 value 对应的类型)

8.@ModelAttribute(value="") 注:只有这一个属性 属性类型为String

①注释在方法上 这时会在Controller的每个方法执行前被调用,因此,在一个Controller映射多个URL时,要谨慎使用
②注释返回具体类的方法 百度
③注释 void 返回值方法 百度
④注释返回具体类的方法 百度
⑤@ModelAttribute 和 @RequestMapping同时注释一个方法 百度
⑥注释一个方法的参数 百度

9.数据绑定(举例):

①前端页面:<input type="text" name="username">
跳转Controller的 aaa 方法时,public String aaa(String username){}
这时,前端的username的值会传给同名的参数username
②前端页面:<input type="text" name="username">
如过有一个名为User的javaBean 该bean中有username,password属性
这时 跳转Controller的 aaa 方法时,public String aaa(User user){}
前端的username的值会传给 user 对象的username属性中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值