SpingMVC_注解式开发_接收请求参数

一、逐个接收

 1 import org.springframework.stereotype.Controller;
 2 import org.springframework.web.bind.annotation.RequestMapping;
 3 import org.springframework.web.servlet.ModelAndView;
 4
 5 @Controller // 表示当前类是一个处理器
 6 @RequestMapping("/test")
 7 public class MyController {
 8
 9     @RequestMapping("/register.do")
10     public ModelAndView doRegister(String name, int age) {
11         // TODO Auto-generated method stub
12
13         System.out.println("name=" + name);
14         System.out.println("age=" + age);
15
16         ModelAndView mv = new ModelAndView();
17         mv.addObject("name", name);
18         mv.addObject("age", age);
19         mv.setViewName("/WEB-INF/jsp/welcome.jsp");
20         return mv;
21     }
22
23 }

MyController

1 <!--   注册组件扫描器 -->
2    <context:component-scan base-package="com.jmu.handlers"></context:component-scan>

springmvc.xml

 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
 2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 3 <%@page isELIgnored="false" %>
 4 <html>
 5 <head>
 6 <title>My JSP ‘index.jsp‘ starting page</title>
 7 </head>
 8
 9 <body>
10     <form action="${pageContext.request.contextPath}/test/register.do"
11         method="post">
12         姓名:<input type="text" name="name"> <br>
13         年龄:<input type="text" name="age"> <br>
14         <input type="submit" value="注册">
15     </form>
16 </body>
17 </html>

index.jsp

1 <body>
2     name=${name}<br>
3     age=${age}<br>
4   </body>

welcome.jsp

二、解决中文乱码问题

在CharacterEncodingFilter中

在web.xml中添加

 <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>
    <init-param>
      <param-name>forceEncoding</param-name>
      <param-value>true</param-value>
    </init-param>
  </filter>

三、校正请求参数名

四、以对象形式整体接收

 1 public class Student {
 2     private String name;
 3     private int age;
 4
 5     public String getName() {
 6         return name;
 7     }
 8
 9     public void setName(String name) {
10         this.name = name;
11     }
12
13     public int getAge() {
14         return age;
15     }
16
17     public void setAge(int age) {
18         this.age = age;
19     }
20
21     @Override
22     public String toString() {
23         return "Student [name=" + name + ", age=" + age + "]";
24     }
25
26 }

Student

 1 import org.springframework.stereotype.Controller;
 2 import org.springframework.web.bind.annotation.RequestMapping;
 3 import org.springframework.web.servlet.ModelAndView;
 4
 5 import com.jmu.beans.Student;
 6
 7 @Controller
 8 @RequestMapping("/test")
 9 public class MyController {
10
11     @RequestMapping("/register.do")
12     public ModelAndView doRegister(Student student) {
13         System.out.println("name=" + student.getName());
14         System.out.println("age=" + student.getAge());
15
16         ModelAndView mv = new ModelAndView();
17         mv.addObject("student", student);
18         mv.setViewName("/WEB-INF/jsp/welcome.jsp");
19         return mv;
20
21     }
22 }

MyController

 1 <beans xmlns="http://www.springframework.org/schema/beans"
 2         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 3         xmlns:context="http://www.springframework.org/schema/context"
 4         xmlns:aop="http://www.springframework.org/schema/aop"
 5         xmlns:tx="http://www.springframework.org/schema/tx"
 6         xmlns:mvc="http://www.springframework.org/schema/mvc"
 7         xsi:schemaLocation="http://www.springframework.org/schema/beans
 8         http://www.springframework.org/schema/beans/spring-beans.xsd
 9         http://www.springframework.org/schema/context
10         http://www.springframework.org/schema/context/spring-context.xsd
11         http://www.springframework.org/schema/aop
12         http://www.springframework.org/schema/aop/spring-aop.xsd
13         http://www.springframework.org/schema/tx
14         http://www.springframework.org/schema/tx/spring-tx.xsd
15         http://www.springframework.org/schema/mvc
16         http://www.springframework.org/schema/mvc/spring-mvc.xsd">
17  <!--   注册组件扫描器 -->
18    <context:component-scan base-package="com.jmu.handlers"></context:component-scan>
19 </beans>

springmvc.xml

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
 3   <display-name>02-springmvc-Object</display-name>
 4    <filter>
 5     <filter-name>CharacterEncodingFilter</filter-name>
 6     <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
 7     <init-param>
 8       <param-name>encoding</param-name>
 9       <param-value>UTF-8</param-value>
10     </init-param>
11     <init-param>
12       <param-name>forceEncoding</param-name>
13       <param-value>true</param-value>
14     </init-param>
15   </filter>
16   <filter-mapping>
17   <filter-name>CharacterEncodingFilter</filter-name>
18   <url-pattern>/*</url-pattern>
19   </filter-mapping>
20   <servlet>
21     <servlet-name>springMVC</servlet-name>
22     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
23     <init-param>
24       <param-name>contextConfigLocation</param-name>
25       <param-value>classpath:springmvc.xml</param-value>
26     </init-param>
27     <load-on-startup>1</load-on-startup>
28   </servlet>
29   <servlet-mapping>
30     <servlet-name>springMVC</servlet-name>
31     <url-pattern>*.do</url-pattern>
32   </servlet-mapping>
33   <welcome-file-list>
34     <welcome-file>index.jsp</welcome-file>
35   </welcome-file-list>
36 </web-app>

web.xml

 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
 2 <%
 3     String path = request.getContextPath();
 4     String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
 5             + path + "/";
 6 %>
 7 <%@page isELIgnored="false"%>
 8
 9 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
10 <html>
11 <head>
12 <base href="<%=basePath%>">
13
14 <title>My JSP ‘index.jsp‘ starting page</title>
15 </head>
16
17 <body>
18     <form action="${pageContext.request.contextPath }/test/register.do"
19         method="post">
20         姓名:<input type="text" name="name" /><br> 年 龄:<input type="text"
21             name="age" /><br> <input type="submit" value="注册" />
22     </form>
23 </body>
24 </html>

index.jsp

 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
 2 <%
 3 String path = request.getContextPath();
 4 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
 5 %>
 6 <%@page isELIgnored="false" %>
 7 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 8 <html>
 9   <head>
10     <base href="<%=basePath%>">
11
12     <title>welcome  page</title>
13
14   </head>
15
16   <body>
17    student=${student} <br>
18   </body>
19 </html>

welcome

五、域属性参数的接收

域属性参数,即对象属性,当请求参数中的数据为某类对象域属性的属性值时,要求请求参数名为“域属性名.属性”。

 1 public class School {
 2     private String sname;
 3     private String address;
 4
 5     public String getSname() {
 6         return sname;
 7     }
 8
 9     public void setSname(String sname) {
10         this.sname = sname;
11     }
12
13     public String getAddress() {
14         return address;
15     }
16
17     public void setAddress(String address) {
18         this.address = address;
19     }
20
21     @Override
22     public String toString() {
23         return "School [sname=" + sname + ", address=" + address + "]";
24     }
25
26
27
28 }

School

六、路径变量

原文地址:https://www.cnblogs.com/hoje/p/8556036.html

时间: 2024-10-06 21:17:46

SpingMVC_注解式开发_接收请求参数的相关文章

13.MyBatis注解式开发

mybatis 的注解,主要是用于替换映射文件.而映射文件中无非存放着增.删.改.查 的 SQL 映射标签.所以,mybatis 注解,就是要替换映射文件中的 SQL 标签. mybatis 官方文档中指出,若要真正想发挥 mybatis 功能,还是要用映射文件.即 mybatis官方并不建议通过注解方式来使用 mybatis. 注解的基础知识: 注解的基础语法 A.注解后是没有分号的. B.注解首字母是大写的,因为注解与类.接口是同一级别的.一个注解,后台对应着 一个@interface 类.

struts2 action接收请求参数和类型转换

1,action接收请求参数 在struts2中action是什么?(struts2是一个mvc框架)         V:jsp        M:action         C:action  StrutsPrepareAndExecuteFilter 在struts2中获取请求参数: a.属性驱动            1.直接将action做一个model,就可以得到请求参数.                问题1:action封装请求参数,会不会存在线程安全问题?          

006 注解式开发springmvc

一. 概述 在我们日常的开发之中,我们最为常用的就是使用注解式开发springmvc. 在前面我们基本讲到了springmvc的基本原理,但是还有一些组件需要在后面结合才能完成讲解. 注解式开发的的核心 : [1]URL映射 [2]参数映射 [3]视图映射 [4]域对象处理 [5]参数转换器 [6]异常处理器 [7]拦截器 等等, 二 . 注解式开发学习的问题 我们学习注解式开发的时候,最容易出现的一个问题就是被很多的注解混淆了我们最初学习的目的. 按照上面的部分,我们在每一个部分都会学习几个注

《SpringMVC从入门到放肆》八、SpringMVC注解式开发(基本配置)

上一篇我们结束了配置式开发,配置式开发目前在企业中用的并不是很多,大部分企业都在使用注解式开发,所以今天我们就来学习注解式开发.所谓SpringMVC注解式开发是指,处理器是基于注解的类的开发方式.对于每一个定义的处理器,无需在配置文件中逐个注册,只需在代码中通过对类与方法的注解,便可完成注册. 一.注册组件扫描器 这里说的组件即处理器,需要指定处理器所在的基本包. <?xml version="1.0" encoding="UTF-8"?> <b

action接收请求参数

一.采用基本类型接收请求参数(get/post)在Action类中定义与请求参数同名的属性,struts2便能接收自动接收请求参数并赋给同名属性. action的代码: Java代码   public class ParamAction { private Integer id; private String name; public String execute(){ return "success"; } public void setId(Integer id) { //通过反射

Eclipse中设置ButterKnife进行注解式开发步骤

最近在进行Android注解式开发的学习,正在尝试用ButterKnife.ButterKnife的特点如下: (1)强大方便的处理View绑定和Click事件,简化代码,提升开发效率. (2)方便的处理ListView的Adapter里的ViewHolder绑定问题. (3)运行时不会影响App的效率,使用配置方便: (4)代码思路清晰,可读性强: 下面我在Eclipse中进行简单操作,如何把butterknife-6.1.0.jar导入Android项目,进行注解式开发.具体步骤如下: [1

【转】Eclipse中设置ButterKnife进行注解式开发步骤 -- 不错

原文网址:http://www.bubuko.com/infodetail-974262.html 最近在进行Android注解式开发的学习,正在尝试用ButterKnife.ButterKnife的特点如下: (1)强大方便的处理View绑定和Click事件,简化代码,提升开发效率.(2)方便的处理ListView的Adapter里的ViewHolder绑定问题.(3)运行时不会影响App的效率,使用配置方便:(4)代码思路清晰,可读性强: 下面我在Eclipse中进行简单操作,如何把butt

shiro授权、注解式开发

1.shiro授权角色.权限 2.Shiro的注解式开发 授权 ShiroUserMapper.xml <select id="getRolesByUserId" resultType="java.lang.String" parameterType="java.lang.Integer"> select r.roleid from t_shiro_user u,t_shiro_user_role ur,t_shiro_role r

接收请求参数及数据回显

接收请求参数及数据回显 接收一个参数 //http://localhost:8080/r/user/t1?username=julia @GetMapping("/user/t1") public String test1(@RequestParam("username") String name, Model model) { return "test"; } 接受一个对象 //http://localhost:8080/r/user/t2?i