java class api 中文乱码_SpringMVC之springmvc原始api,请求中文乱码问题

先搞一波效果图

3ad01521a1e2ac52fce5440cbac7c8ea.png

1.Controller

package com.tz.controller;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.annotation.Required;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.CookieValue;

import org.springframework.web.bind.annotation.RequestHeader;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestParam;

import com.tz.domain.Course;

@Controller

public class RequestController {

/**

* @PathVariable("user"):获取路径中的值/handler/{user}

* @RequestParam("user"):获取请求参数/hander/{user}?user=coco

*

* @param userName

* @return

*/

@RequestMapping("/handle")

public String handler(@RequestParam(value="user",required=false) String userName){

//userName = request.getParameter("user");

System.out.println(userName);

return "success";

}

@RequestMapping("/handle2")

public String handler02(@RequestParam(value="user",required=false,defaultValue="你没有带参数") String userName,

@RequestHeader(value="User-Agent",required=false) String user_Agent,

@CookieValue("JSESSIONID") String js){

//userName = request.getParameter("user");

System.out.println(userName);

System.out.println(user_Agent);

System.out.println(js);

return "success";

}

/**

* springmvc可以在参数上写servlet常用的api

* HttpServletRequest

* HttpServletResponse

* Httpsession

*

* InputStream:request.getInputStream();

* OutputStream:response.getOutputStream();

* Reader:request.getReader();

* Writer:response.getWriter();

*

* 请求:客户端-->服务端(客户端显示乱码)

* 修改tomcat配置文件

* GET有效

*

* 第一次获取请求参数之前:request.setCharacterEncoding("UTF-8");

*

* 响应:服务端-->客户端(服务端显示乱码)

* reponse.setContentType("text/html;charset=utf-8");

* @param c

* @return

*/

@RequestMapping("/addCourse")

public String addCourse(Course c){//springMVC会自动为我们定义的类型进行赋值

/**

* 1.将对象中的每一个属性从request参数中尝试取出来,并进行封装

* request.getParameter("参数名");如果有值,就会取出来封装到实体类的属性中(调用set方法)

*/

System.out.println(c);

return "success";

}

@RequestMapping("/handle04")

public String handle04(HttpSession session,HttpServletRequest request){

session.setAttribute("session","session域");

request.setAttribute("request","request域");

return "success";

}

}

2.配置文件web.xml(最重要的就是设置那个字符编码过滤器)

springmvc_Day01

index.html

index.htm

index.jsp

default.html

default.htm

default.jsp

springmvc

org.springframework.web.servlet.DispatcherServlet

1

springmvc

/

CharacterEncodingFilter

org.springframework.web.filter.CharacterEncodingFilter

encoding

UTF-8

forceRequestEncoding

true

forceResponseEncoding

true

CharacterEncodingFilter

/*

HiddenHttpMethodFilter

org.springframework.web.filter.HiddenHttpMethodFilter

HiddenHttpMethodFilter

/*

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/339402.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从流水线工人,到谷歌上班的程序媛

非科班、转行当程序员的励志故事有很多,我们在 8 年前扩散分享过一个国外的故事:我来自于一个东欧国家。我在一个煤矿里工作了很多年(在一个很深的矿井里)。每天我都处在危险中,那些年都是这样度过的。后来我感觉过够了…

jpa 实体映射视图_JPA教程:实体映射-第2部分

jpa 实体映射视图在上一篇文章中,我展示了一种持久保存实体的简单方法。 我解释了JPA用于确定实体默认表的默认方法。 假设我们要覆盖此默认名称。 我们之所以喜欢这样做,是因为数据模型是以前设计和修复的,并且表名与我们的类名不匹配&#…

java顺序栈和链栈_Java的顺序栈和链式栈

栈的定义栈是限制在表的一段进行插入和删除的运算的线性表,通常能够将插入、删除的一端为栈顶,例外一端称为栈底,当表中没有任何元素的时候称为空栈。通常删除(又称“退栈”)叫做弹出pop操作,每次删除的都是栈顶最新的元素&#x…

Java:ChronicleMap第2部分,超级RAM映射

诸如无处不在的HashMap类的标准Java Map最终受到可用RAM的限制。 阅读本文并了解如何创建几乎无限大小甚至超过目标计算机的RAM大小的Java Map。 内置的Map实现,例如HashMap和ConcurrentHashMap ,只要它们相对较小,就可以正常工作。 在所有情…

jsp中的java部分_jsp页面的七个组成部分

jsp页面的七个组成部分1. 静态内容:前端内容一行一行翻译成 out.write(“前端内容”);2. 指令: 第一个指令是pagepage指令的第一个标准用法,告诉servlet容器,这是一个jsp页面pageEncoding 指…

java多线程做一件事_关于Java的十件事

java多线程做一件事那么,您从一开始就一直在使用Java? 还记得那些被称为“ Oak”的日子,OO仍然是热门话题,C 人士认为Java没有机会,Applet还是一件事吗? 我敢打赌,您至少不了解以下一半内容。 …

java第二章复习_JAVA第二章知识点

JAVA第二章知识点本章知识梳理2.1 关键字2.2 标识符2.3 变 量2.4运算符2.5 程序流程控制2.6 方法2.1 关键字关键字(keyword)的定义和特点定义:被java语言赋予了特殊含义,用做专门用途的字符串(单词)特点:关键字中所有字母都为小写保留字(rese…

打造大型直播平台之《PC客户端架构》

今晚课题点击【阅读原文】或长按图片【识别图中的二维码】即可参加今晚的课程。

Java中的装饰器设计模式

装饰器设计模式允许在运行时将附加职责或行为动态附加到对象。 它是一种结构模式,利用聚合来组合这些行为。 在本教程中,我们将学习实现装饰器模式。 UML图: 让我们从装饰器模式的UML表示开始: ConcreteComponent类是我们希望为…

冲击波病毒攻击-《截获网站服务器数据》

今晚课题点击【阅读原文】或长按图片【识别图中的二维码】即可

java版 modbus crc16校验 (已测试成功)_java版 ModBus CRC16校验 (已测试成功)

ModBus 的Crc16校验package testCase;public class CRC16M {static final String HEXES "0123456789ABCDEF";byte uchCRCHi (byte) 0xFF;byte uchCRCLo (byte) 0xFF;private static byte[] auchCRCHi { 0x00, (byte) 0xC1, (byte) 0x81, (byte) 0x40, (byte) 0x0…

用户控件 自定义控件_新的自定义控件:TaskProgressView

用户控件 自定义控件我已经编写了一个新的自定义控件,并将其提交到ControlsFX项目。 这是一个高度专业的控件,用于显示后台任务,其当前状态和进度的列表。 这实际上是我为ControlsFX编写的第一个控件,只是出于乐趣的考虑&#xff…

C/C++码农到工程师进化之路

今晚课题长按图片【识别图中的二维码】

java菜鸟到cto 图_从菜鸟到入门,掌握 Log4j

1 简介Log4j(log for java)是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式&a…

Java中的复合设计模式

当我们必须使用对象的树状分层结构时,复合设计模式非常有用。 它使我们能够统一对待单个对象和对象的组成。 它属于结构设计模式的范畴,因为它将对象组合成树形结构以表示部分整个层次结构。 UML表示形式: 复合模式的UML表示形式如下&#…

腾讯官方游戏《陆战之王 3D坦克大战》

今晚课题长按图片【识别图中的二维码】

hazelcast入门教程_Hazelcast入门指南第4部分

hazelcast入门教程这是我的Hazelcast系列的第四部分。 如果一个人没有看到其他三个人,我建议一个人去看第1 部分 , 第2 部分和第3部分 。 记录中 日志记录是任何应用程序的重要功能,我的示例也是如此。 System.out.println可以用作告诉用户控…

《地下城与勇士歼灭贝内尔》回合格斗

今晚课题长按图片【识别图中的二维码】

java继承执行子类输出顺序_JAVA继承顺序

当使用继承这个特性时,程序是如何执行的;继承的初始化顺序1.初始化父类再初始子类2.先执行初始化对象中属性,再执行构造方法中的初始化当使用继承这个特性时,程序是如何执行的呢,也就是说我们需要关注继承的初始化顺序…

空字符串字符串不为空_当字符串为空但不为空时

空字符串字符串不为空介绍 我团队中的一名初级程序员遇到了一个有趣的错误。 我已经不止一次看到它的症状。 这篇文章是寻找什么以及如何在将来防止它。 我还将探讨该问题的不同解决方案。 病征 有问题的代码看起来做得不错。: if(trouble ! null && !tro…