🍅程序员小王的博客:程序员小王的博客
🍅 欢迎点赞 👍 收藏 ⭐留言 📝
🍅 如有编辑错误联系作者,如果有比较好的文章欢迎分享给我,我会取其精华去其糟粕
🍅java自学的学习路线:java自学的学习路线
1、前端传递参数
<form action="${pageContext.request.contextPath}/user/register" method="post">
姓名:<input type="text" name="name"><br/>
密码:<input type="password" name="password"><br/>
性别:<input type="text" name="sex"><br/>
生日:<input type="text" name="birthday"><br/>
工资:<input type="text" name="salary"><br/>
<span> 爱好:</span>
吃饭:<input type="checkbox" name="hobby" value="吃饭">
睡觉:<input type="checkbox" name="hobby" value="睡觉">
爱杨福君:<input type="checkbox" name="hobby" value="爱杨福君">
抽烟:<input type="checkbox" name="hobby" value="抽烟">
喝酒:<input type="checkbox" name="hobby" value="喝酒">
烫头发:<input type="checkbox" name="hobby" value=" 烫头发">
<br/>
<input type="submit" value="提交"><br/>
</form>
- 注意:
在接收对象类型参数时和struts2接收不同,springmvc直接根据传递参数名与对象中属性名一致自动封装对象
2、后台Controller接收参数
//负责控制层组件对象创建
@Controller("userController")
//类上的控制器映射器,相当于Struts2中的namespace
@RequestMapping("user")
public class UserController{
@RequestMapping("register")
public String register(User user, String[] hobby){
System.out.println("注册成功");
System.out.println("姓名:"+user.getName());
System.out.println("密码:"+user.getPassword());
System.out.println("性别:"+user.getSex());
System.out.println("生日:"+user.getBirthday());
System.out.println("工资:"+user.getSalary());
System.out.println("爱好:");
for (String s : hobby) {
System.out.println(s);
}
return "redirect:/index.jsp";
}
3、SpringMVC接收参数中文乱码解决方案
注意:在使用springmvc过程中接收客户端的请求参数时有时会出现中文乱码,这是因为springmvc并没有对象请求参数进行编码控制,如果需要控制需要自行指定
(1)在使用post方式接收请求参数时出现中文乱码接收数据问题解决
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>charset</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
(2)在使用set方式中文乱码问题
改tomcat的server.xml
配置文件大概在69多行加上URIEncoding="UTF-8"
# 1.针对于GET方式中文乱码解决方案:
<Connector connectionTimeout="20000"
port="8080"
protocol="HTTP/1.1"
redirectPort="8443" URIEncoding="UTF-8"/>
- 成功设置之后,接收到的数据就不会乱码了!