Struts2和Servlet中文乱码解决方法

Struts2框架下POST提交中文参数的完整解决方案 -- 设置全局编码为UTF-8 -->-- 自定义拦截器栈 -->-- 先设置编码 -->-- 应用自定义拦截器栈 --></action></package> 阅读详情
 

Struts2中文乱码处理问题

一.  Get方式提交表单

         在Jsp页面上即可以使用“UTF-8”和“GB2312”的字符编码格式

n   UTF-8:无需进行getBytes("ISO8859-1")格式转换

n   GB2312:一定要进行getBytes("ISO8859-1")格式转换

         若使用中文字符过滤器,中文字符过滤器中的字符编码必须和JSP页面里的字符编码格式统一。如:都采用“UTF-8”或“GB2312”,这样就无需再使用getBytes(“ISO8859-1”)格式转换每一个属性。

二.  POST方式提交表单

         在Jsp页面上必须使用“UTF-8” 字符编码格式,无需使用中文过滤器。若使用中文字符过滤器,中文字符过滤器中的字符编码必须和JSP页面里的字符编码格式统一,都要采用“UTF-8”格式。

POST方式提交表单使用“UTF-8” 字符编码格式时,决不能使用getBytes("ISO8859-1")格式转换每一个属性。

 

三.使用Struts标签做的表单

         在Jsp页面上必须使用“UTF-8” 字符编码格式

n  无需使用中文过滤器

n  决不能使用getBytes("ISO8859-1")格式转换每一个属性。

 

 

Servlet中文乱码处理问题

一.  Get方式提交表单

         在Jsp页面上即可以使用 “GB2312”的字符编码格式,servlet中一定要进行getBytes(“ISO8859-1”)格式转换。

n   若是使用中文过滤器,中文字符过滤器中的字符编码必须和JSP页面里的字符编码格式统一为“GB2312”。同时Servlet的doGet方法中无需要再使用getBytes (“ISO8859-1”)格式转换每一个属性。

 若不使用中文过滤器,在Servlet的doGet方法必须使用getBytes(“ISO8859-1”)格式转换每一个属性

GET方式提交单表不能使用UTF-8字符编码格式

二.  POST方式提交表单

1、使用“UTF-8”字符编码格式

n    若使用中文字符过滤器,中文字符过滤器中的字符编码必须和JSP页面里的字符编码格式统一,都要采用“UTF-8”格式。

n    若不使用中文字符过滤器,则Servlet的doPost方法里必须添加以下代码:

    request.setCharacterEncoding("UTF-8");

    response.setContentType("text/html;charset=UTF-8");

POST方式提交表单使用“UTF-8” 字符编码格式时,决不能使用getBytes("ISO8859-1")格式转换每一个属性。

2、使用“GB2312”字符编码格式

n  则Servlet的doPost方法里无需添加以下代码:

    request.setCharacterEncoding(“GB2312");

    response.setContentType("text/html;charset=GB2312");

n  若是使用中文过滤器,中文字符过滤器中的字符编码必须和JSP页面里的字符编码格式统一为“GB2312”。同时Servlet的doPost方法中无需要再使用getBytes (“ISO8859-1”)格式转换每一个属性。

n  若不使用中文过滤器,在Servlet的doPost方法必须使用getBytes(“ISO8859-1”)格式转换每一个属性。

 

基于ResNet-50的猫狗分类训练 基于ResNet-50的猫狗分类python训练 阅读详情

相关推荐

【网络图】:附Origin详细画图教程

网络图,是一种由节点(或顶点)和连接这些节点的边(或链路)组成的图形结构。在网络图中,节点通常代表系统中的一个实体(如项目中的一项任务、通信网络中的一个设备、或运输网络中的一个站点),而边则代表这些实体之间的直接联系或流动(如任务的先后顺序、数据的传输路径、或乘客的旅行路线)。 有向图:如果边具有方向性,即从一个节点指向另一个节点,则称为有向图。这种图常用于表示具有明确先后顺序或方向性的系统,如项目管理中的任务依赖关系。 无向图:如果图中的边没有方向,则称为无向图。它适用于表示实体间相互关联但无明确方向性的

weixin_50236590的博客 3954

linux中Graphics2D 中文乱码的解决办法

来源:http://bbs.youkuaiyun.com/topics/230060692 来源:http://www.cnblogs.com/someonehere/p/4645560.html我编写的JAVA程序中的Swing/AWT组件中的中文显示都是方框,而标题却能正常显示中文,且使用 System.out.println("中文字符串")能正常显示中文; 解决思路: 可能是JRE

rentian1的博客 5732

Altium AD20的PCB板框绘制、定义板子形状、重新设置原点、放置尺寸标注

AD20的板框绘制与以前的版本不同,以前板框是在KeepOut层,而在AD20中没有这个层,绘制板框需要到机械层Mechanical1。 板框大小评估 首先进行板框大小评估。 工具 - 器件摆放 - 在矩形区域摆放。 之后通过鼠标框选矩形区域,元件会自动按照框选的范围进行摆放。这个操作可以重复多次,最后大致得出需要的板框尺寸。确定好后右键。 板框绘制,重新定义板子形状 点击下方的 Mechanical1,切换到机械层。放置线条,根据元件摆放来绘制PCB大致的形状,将元件完全包裹。

Mark_md的博客 10万+

解决:FreeChart图形中文乱码问题

在使用FreeChart作图时,如果直接使用中文,会导致出现乱码,原因在于FreeChart为外国文所写,其默认字体并不包含中文

一叶_障目 2259

FPGA之VGA转HDMI之编码模块的编写

VGA 图像信息到 HDMI 图像信息的转化需要对输入的 VGA 图像信息进行编码、并行串行转换、单端信号转差分信号、单沿采样转双沿采样。 其中,编码模块就是为了完成 VGA 图像数据 8b 转 10b 的编码。其结构框图如下所示: 图1 编码模块框图 图2 编码模块输入输出信号功能框图 图3 编码模块参考流程图 图4 编码模块参考流程图参数说明 下面我们依据HDMI官方手册中的流程图(图3)进行 HDMI 8b...

qq_51264805的博客 3023

SD - WAN:企业出海的网络加速器

例如,一家中国的跨境电商企业,在欧美市场的促销活动期间,借助 SD - WAN 技术,即使面对海量订单数据的交互,也能确保欧美客户在浏览商品、下单支付时感受到近乎本地网络的流畅体验,大大提升了客户满意度,稳住了销售增速。企业无需在海外本地部署大量冗余服务器,只需依托云台,借助 SD - WAN 快速稳定的网络连接,即可轻松实现业务拓展,进一步精简运营架构,提升整体效能。在未来,随着技术的不断演进和企业出海需求的持续增长,SD - WAN 将持续赋能,助力更多企业在全球市场扬帆远航,书写辉煌篇章。

idcicp_com的博客 445

linux struts2 乱码,解决Struts2下载中文文件乱码问题

通过《Struts2文件下载实例》的学习,读者已经学会了如何使用 Struts2 框架实现文件下载,但是细心的读者会发现,如果上传一个中文名称的文件(如文本文件.txt),再次下载此文件时,页面会报出 500 错误,如图 1 所示。图 1中文文件下载报错之所以出现图 1 中的错误,是因为所要下载的文件不存在,导致 inputStream 为 null,所以报出了 500 错误。这里读者一定会很...

weixin_30420799的博客 331

(25.08)Ubuntu20.04+ROS1复现FAST-LIO2

请确保在。

m0_69023437的博客 3989

request.setCharacterEncoding 关于编码

request.setCharacterEncoding 关于编码   概述 从Servlet2.3开始,支持客户端内容协商。服务端内容协商,很早就有,服务端在返回的数据中通过Content-Type来指定返回的数据内容。在REST叫嚣的背景下,客户端也需要协商:例如通过PUT方法提交一段XML或JSON数据来更新服务端的一个对象。客户端可通过URL后缀名.xml或.json的方式来...

eyesmore's tech life 438

YOLOv8推理程序

YOLOv8单独推理,有时候我们自定义的模块算子无法正常转换为其他框架,而且需要做成应用,因此需要一个单独推理的程序,返回的是识别后的照片还有各个类别及其对应数量。文章最后给出Flask封装为Server以及调用的实例还有Client请求代码,支持几十路多线程并发,只需加载一次模型,后边推理即可。

AIOT魔法师 698

Modbus协议学习第一篇之基础概念

因工作需要而接触Modbus,正在恶补知识,利用博客的方式来加深理解和记忆,同时希望同行大佬能一起交流。

hzf978742221的博客 880

struts2或servlet的get请求方式中文出现乱码解决方法

通过我们post请求的中文参数,不用考虑乱码问题; 但是get方式提交的中文,后台处理的时候出现乱码问题,解决方案

做技术,贵在学习与坚持! 1130

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

中文乱码的解决方法

中文乱码

liunanjiayou的博客 248

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

java数据库等——乱码问题解决办法

中文乱码解决方案: 数据库乱码: UTF-8对中文用3个字节来表示 String s =”飞翔”; byte[] utf8 = s.getBytes(“utf-8”);//获得utf-8编码的字节值 System….(new String(utf8,”gbk”);//用GBK编码格式对UTF-8编码格式的字节数组进行解码,将产生乱码。   查看数据库的字符集 

我只是一个简单的Coder,为了兴趣和理想奋斗在生活的道路上 1294

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

解决中文乱码

Encoding\=UTF-8 driverclass=com.mysql.jdbc.Driver user=root password=123 加这个“?useUnicode\=true&amp;characterEncoding\=UTF-8” @struts2乱码:在struts2里面出现的乱码问题是:在struts.xml里面加 &lt;constant  name="struts.i18n.encoding"value="GBK"

码农怀仔 348

乱码解决方案

中文乱码主要工区分是页面乱码、action乱码和数据库乱码,大致原理是是java使用unicode编码-->window使用gbk(gb2312的扩展集)--mysql默认使用utf-8(unicode的一种编码方法) 1、如果是servlet   request.setCharacterEncoding("gb2312");//请求字符集 response.setContentType("

zhupy112的专栏 471

Eclipse下开发Struts完整解决乱码问题

   Eclispe下开发Struts乱码问题非常令人头疼,下面给出几种解决方法:    主要有三个问题:     1.struts中资源文件中如果value为中文,显示乱码     解决办法:使用eclipse插件Properties Editor 更新站点http://propedit.sourceforge.jp/eclipse/updates/(建议自动更新)  步骤:  Ec

Digyso 注芯蛋糕 613

java各种乱码问题处理办法

一、jsp页面间传值中文乱码问题解决办法 <%@pagelanguage="java"import="java.util.*"pageEncoding="GB2312"%><formaction="b.jsp">name:<inputtype=textname=name><inputtype=submit></...

weixin_30827565的博客 228

实现使用struts2框架访问jar包中的jsp方案

因公司使用的eadp底层jar包拓展需求,欲将success,error等公共jsp页面封装到底层jar包, 这样公用jsp就不会被变更.      第一种方案:使用struts2提供的struts2-embeddedjsp-plugin-2.3.3.jar 通过引入该jar包 配置struts.xm已达到l直接访问jsp                     参考网址: https://c

zhaojucun的专栏 1543

Ajax servlet实现

之前用struts2.0做了异步请求,但总感觉有问题,请求次数太多后服务端就会挂起无响应了 正在解决这个问题 最开始用了struts.spring,hibernate三层来做,后来觉得hibernate可能会成为瓶颈,就直接改用jdbc做数据层,更改后貌似增大了请求次数 不过还是有问题,上论坛发了帖子,发现js出了点问题,做延时提交的时候没有清除定时器,导致请求几次仍然是提交几次,...

学会思考 89

Struts2中Action获取JSP页面传参的方法,及Action获取request的每个方法的区别

Action获取JSP页面传参的方法 在jsp页面request.setAttribute(),Action实现request的方法,request.getAttribute() 一、get(

asd512934216的博客 755

Struts2【二】

Struts2类型转换 Struts2获取request、session、application

Build a Dream 315

Struts-Filter

  Filter 技术是servlet 2.3 新增加的功能.servlet2.3是sun公司与2000年10月发布的,它的开发者包括许多个人和公司团体,充分体现了sun公司所倡导的代码开放性原则.由于众多的参与者的共同努力,servlet2.3比以往功能都强大了许多,而且性能也有了大幅提高. 它新增加的功能包括: 1. 应用程序生命周期事件控制; 2. 新的国际化; 3. 澄清了类的装载规则;

2213
上一篇: hibernate中get方法和load方法的根本区别
下一篇: Mysql的数据库导出和导入
Java18
博客等级 码龄16年 27粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值