[j2ee][servlet]使用get方法提交form表单时出现乱码解决方法

Servlet基础知识与新手常遇到的错及解决方法(01) ###什么是服务器 服务器就是一台高性能的电脑 电脑上安装什么样的服务器软件,就可以称为xxx服务器 举例: 安装了数据库软件(mysql/Oracle…),就是数据库服务器 安装了ftp服务软件,就是ftp服务器 安装了邮件服务器软件,就是邮件服务器 安装了web服务软件,就是web服务器 ###web服务软件做了那些事儿? 负责建立底层的网络连接 负责将客户端请求的文件返回给客户端 web服务软件又称为web容器,web容器用来装组件(Servlet), web服务软件根据客户端发出的请求路径 阅读详情

http://localhost:8080/myframework/account/showAccountsByPage


tomcat5.x上用get方式提交的中文是乱码
在tomcat5上,用form提交了,中文的内容是乱码,而在4.x上没有这个问题,真是让人困扰,后来终于发现,原来区别在于5.x的form如果设置method为post就ok,用get就是乱码;而在4.x用哪种都没有问题。如果是用get的情况下,网上说这样解决:
修改${Tomcat_home}\conf\server.xml:
<!--
URIEncoding="GBK":Force GET method String(Chinese) can be transferd properly by http:uri      note:Tomcat only support GBK specification,so not set charset gb2312   
-->   
<Connector URIEncoding="GBK" port="80" redirectPort="8443" maxSpareThreads="75"   maxThreads="150" minSpareThreads="25">   </Connector>  
我还是将form的method设置为post了。
但是还有一个问题,用get的方式就是有问题的啊,比如<a href=”test.jsp&param1=中文”>
这个地方无论是否使用URLEncoding,test.jsp中还是会是乱码,真是恶心得很。
后来看到了
http://www.javaworld.com.tw/jute/post/view?bid=9&id=44042&sty=1&tpg=1&age=0
这个帖子,在server.xml中加入了:
     <Connector 
port="80"                maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                enableLookups="false" redirectPort="8443" acceptCount="100"
                debug="0" connectionTimeout="20000" 
disableUploadTimeout="true" URIEncoding="UTF-8" />
才把问题解决了,我的应用用的utf-8的编码,如果我要用GBK,是不是这个配置还要改,真是他妈恶心。
后来又看到更好的一个解决办法,也就是不用这个参数,而是用
useBodyEncodingForURI="true",这样一来,应用无论用什么编码方式,都不需要该tomcat的任何配置了。

因为很久没有出现乱码问题了,今天突然又出现了,给搞得措手不久, 我用的是springMVC,在web.xml文件中已经设置了编码过滤器,应该是每个action都应该经过这个过滤器的,但是,有一个action在取从页面里传过来的参数时总是出现乱码,后来才发现,因为需要,我没有在jsp页面上用form形式提交,而是用javascirpt进行提交,就像下面一样

window.location=$F('ctx')+"/urlAddAction.do?urlName="+urlName+"&image="+image+"&content="+content+"&cityId="+cityId;

而这种形式就是像用get方面了,在url里包含了中文参数,这个那个配置的过滤器就不起作用了,后来上网查了一下,在tomcat服务器下的conf/server.xml中要修改一下,就是在

content="text/html; charset=utf-8",则在tomcat/conf/server.xml中的配置文件中: 
<!-- Define a non-SSL Coyote HTTP/1.1 Connector on port 8080 --> 
<Connector port="8080" 
maxThreads="150" minSpareThreads="25" maxSpareThreads="75" 
enableLookups="false" redirectPort="8443" acceptCount="100" 
debug="0" connectionTimeout="20000" useBodyEncodingForURI="true" 
disableUploadTimeout="true" /> 

加上:useBodyEncodingForURI="true"即可正常使用getParameter取出正确内容.


JavaEE商城系统实战:Servlet+JSP毕业设计全链路解析 JavaEE是理解Web请求生命周期与MVC架构本质的基础技术范式,其核心在于Servlet处理请求、JSP渲染视图、JDBC直连数据库、Filter拦截控制及Listener会话监听等原生组件的协同工作原理。这种‘手动配置+显式编码’模式虽不追求开发效率,却能深度培养对HTTP协议、容器机制、事务ACID和SQL执行过程的技术直觉,具备极强的教学穿透力与答辩说服力。在高校毕业设计场景中,它天然适配答辩考察重点——如Filter链执行顺序、request/session作用域差异、JDBC事务手动回滚、we 阅读详情

相关推荐

JavaEE网上商城毕业设计实战:从源码到可运行系统的完整指南

在Java Web开发领域,Servlet和JSP是构建动态网站的核心技术基础,它们构成了经典的MVC架构模型。Servlet作为控制器处理HTTP请求,JSP负责视图渲染,结合JDBC实现数据库交互,共同支撑起B/S架构的应用。这种技术组合的价值在于其清晰的职责分离和相对平缓的学习曲线,非常适合用于理解和实践Web应用的基本原理。在众多应用场景中,电子商务系统因其业务逻辑的典型性和模块的完整性,常被选为毕业设计或初学者的练手项目。本文将聚焦于一个典型的基于JavaEE的网上购物商城系统,针对开发者常遇到的

weixin_30984001的博客 364

表单 get 提交时的字符集编码与乱码--application/x-www-form-urlencoded 类型

探讨了表单以 get 方式提交时数据所使用的字符集编码, 具体介绍了缺省情况, 此时使用文档本身的编码;以及设置了 accept-charset 属性时的情况.

Just do IT 3448

Demo2Reward:用人类演示动态优化VLM奖励模型提示

多模态大模型(VLM)的奖励建模正面临核心瓶颈——静态提示导致语义鸿沟与泛化失效。其本质是将人类判断标准固化为不可更新的文本模板,使奖励信号脱离真实任务意图。Demo2Reward提出范式级改进:以结构化人类演示为元信号,驱动提示权重连续优化,实现从‘结果打分’到‘过程理解’的跃迁。该方法不修改VLM主干,却显著提升RLHF收敛效率与OOD鲁棒性,在医疗、工业质检等场景验证了跨任务迁移与热修复能力。它重新定义了提示工程的技术价值:不是前端微调,而是奖励系统的认知校准基础设施。

weixin_34302798的博客 408

解决from表单提交乱码问题

1、设置页面编码,若是jsp页面,需编写代码 <%@page language=“java” pageEncoding=“UTF-8” contentType=“text/html;charset=UTF-8” %> 2、若 是 html 页 面 , 在 网 页 头 部 ( < head>< /head> ) 中 添 加 下 面 这 段 代 码 < meta http-equiv=“Content-Type” content=“text/html; charset=

刘豪豪的博客 2680

基于live555实现一个rtsp客户端程序

本文介绍了基于live555流媒体库实现的RTSP客户端程序,能够通过RTSP地址获取H.264/H.265裸码流或TS流数据并存入本地文件。详细阐述了使用CLion搭建工程的代码架构和CMake配置,重点分析了TS流解析模块的实现,包括TS包结构解析、PES包提取和ES裸流获取的完整流程。文章提供了TS/PES/ES三种数据包的协议说明,并给出了从TS流中提取视频帧的具体方法,最后附有工程代码下载链接。该方案实现了RTSP流媒体接收、解析和存储的完整功能链。

kk821521286的博客 789

Carsim2019与Simulink (Matlab2018b)联合仿真成功(超详细)

Carsim与Simulink联合仿真成功

强强的博客 3万+

form表单提交get请求,后台接收乱码的解决方案

form表单提交post请求不会出现乱码,但是提交get请求,在servlet中用request.getParameter的时候就会产生乱码。网上盛传的各种办法都不太可行,除了修改服务器的配置。前辈说,不提倡get提交方式,因为依赖服务器配置。试了一下修改服务器配置的方法,不晓得是我理解错误还是什么,没有起作用。我的解决方法是,在form表单要提交的时候,对输入的值进行编码,然后在后台解码。$('

mnm__的专栏 1752

手把手教你用OpenCV+Python实现HALCON级模板匹配(附工业案例代码)

本文详细介绍了如何利用开源计算机视觉库OpenCV和Python,构建媲美HALCON商业软件的工业级模板匹配解决方案。通过分析工业检测的核心挑战,文章提供了从模板预处理、多策略融合匹配到应对尺度与旋转的完整代码实现,并附有连接器引脚检测的实战案例,为工业自动化场景下的高精度视觉检测提供了低成本、高可控性的技术路径。

e3f4g5的博客 283

对表单form get或post提交数据乱码的终极处理方式

我们先定义一个监听器叫做EncodeFilter,哎,还是贴代码吧,语言太苍白了package com.zgf.filter; import java.io.BufferedReader; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.security.Principal;

zhanggf的博客 1028

YOLO26改进策略【卷积层】| HWD,引入`Haar小波变换`到下采样模块中,减少信息丢失

本文记录的是。传统的卷积神经网络中常用的最大池化平均池化和步长为2的卷积等操作进行下采样可能会导致信息丢失,为了解决信息丢失问题,HWD作者受无损信息变换方法的启发,引入Haar小波变换到下采样模块中,

Limiiiing的博客 346

knowhere | 第一课:项目导论与环境搭建

摘要 本课程是Knowhere项目的第一课,重点介绍项目整体架构和开发环境搭建。Knowhere定位为AI Agent的文档记忆基础设施,通过解析多格式文档并保留结构化信息(如章节层级、表格语义等),为Agent提供可导航的文档知识。项目采用Python monorepo结构,核心包括: apps/api:FastAPI服务,处理HTTP请求和流程调用 apps/worker:Celery服务,执行文档解析等耗时任务 packages/shared-python:共享基础设施层 课程明确了各层职责边界,并推

weixin_43674738的博客 152

POST与GET的区别——asp.net

get 和 post 区别 1、Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据。 2、Get将表单中数据的按照variable=value的形式,添加到action所指向的URL后面,并且两者使用“?”连接,而各个变量之间使用“&”连接;Post是将表单中的数据放在form的数据体中,按照变量和值相对应的方式,传递到action所指向URL。 3、Get是不安全的,因为在传

暮日风远 776

量化交易 米筐 因子分组打分(成长因子)

分组动手练习 在米筐上因子数据没有处理,提供的很多因子没有默认分类,存在一些因子没有的情况,我们就选择一些常见的因子。 价值因子 质量因子 成长因子(历史名称) pe_ratio return_on_invested_capital in_revenue pcf_ratio du_return_on_equity inc_eps pb_ratio return_on_asset_net_profit inc_total_asset market_cap return_on_equ

廷益_飞鸟的博客 932

JavaEE学习笔记之Servlet/JSP(2)

1.Form表单的提交A.先说说提交方式,比较常用的有两种 get 和 post ,当然还有其他的提交方式,如 pull 、header 、等等。由form表单里面的Methed属性控制(默认为GET方式)GET:①把数据放在协议的头部②可以在浏览器的地址栏里面看到③安全性不高④只能提交最多256个字符 POST:①把数据放在协议的体部 ②不可以在浏览器的地址栏中看到 ③安全性高 ④数据的长度

minigeek的博客 1425

基于 OpenCVSharp 的晶圆缺口自动检测与旋正方案

在半导体制造过程中,晶圆(Wafer)需要精确定位才能进行后续加工。每个晶圆边缘都有一个特定的缺口,这个缺口就像 "箭头" 一样,帮助机器确定晶圆的方向。我们的任务就是通过摄像头拍摄的图片,自动找到这个缺口的位置,计算出需要旋转多少角度才能让晶圆对准正确方向。简单来说,这个技术就像给晶圆 "找方向",确保它在生产线上始终保持正确的姿态。

品质生活,极致编程。 1211

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Day17_学点JavaEE_转发、重定向、Get、POST、乱码问题总结

转发:一般查询了数据之后,转发到一个jsp页面进行展示 2 重定向 重定向:一般添加、删除、修改之后重定向到查找所有 重定向的状态码是,重定向的地址最终是由浏览器发送这个请求http://localhost:8080/student?method=deleteById&id=23 http://localhost:8080/student?name=zhangsan&age=12&gender=男Get方式传参,不是非得在form表单里面,可以手动写,在超链接的href里面直接在地址后面加?id=2不管

Mr_Tang4的博客 790

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

【JavaEE】Servlet常用的API

一、HttpServlet类 1、Servlet的生命周期 ✨tomcat的两个端口 ✨设置告诉浏览器使用那种字符集解析响应 ✨Java中Unicode和utf8字符集的使用 二、HttpServletRequest类 1、获取请求的信息 2、 前端给后端传递数据的三种方式 2.1、通过query string传递 2.2、发送Post请求通过form表单的格式传递数据 2.3、使用post请求的body以json的方式传递数据(最常用的写法) 三、HttpServletRespon

m0_73067372的博客 680

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

简述文件上传原理之 JSP - Servlet 篇

文件上传 1.&gt;  主要是对文件上传的操作,执行简要概述。 2.&gt;  所用知识:         form  jsp  servlet  IO流  xml,主要是这五个知识块;        (1.) 其中  form 表单用于选择文件,通过属性  enctype 设置属性值为  multipart/form-data 以二进制流上传该文件        (2.) jsp可以...

niaonao 2976

Servlet实现以及常用对象

Servlet 1、第一个Servlet实现 首先需要创建一个web项目,File-->new-->Dynamic Web Project 如果new中没有,就在new中选中other,再输入web,就可以找到,如下图所示 如果没有找到说明Eclipse没有javaEE相关内容,需要重新下载一个EE版本的Eclipse或者在eclipse中下载相关组件(不推荐) Servl...

hjf1998的博客 296

javaEE:day6-requset和response用法、表单参数的接受、文件手动上传(简易版)

通过<%=request.getContextPath() %> 可以将项目名写活,这样,即使项目名变了,仍可以运行。request代码每一次请求的容器。浏览器每次请求都是一个新的request对象。因此放在request里面的属性request.getAttribute()是空的,上一个request放的属性request.setAttribute() 是上一个的。与这次无关。但如果是转发的时候,

new___Smile的博客 1614

中文乱码问题的根本解决办法是明确地指定整个应用系统统一的字符集

楼主angues1980(石头心)(JSF学习中)2005-08-16 11:45:48 在 Java / Web 开发 提问 昨天转贴了一篇《Java/J2EE中文问题终极解决之道》的文章(原贴http://www.jdon.com/idea/chinesejava.htm),里面提到“中文乱码问题的根本解决办法是明确地指定整个应用系统统一的字符集”。     要做到以下几点:     一、...

wenzi_li的专栏 376

webbug 乱码问题(普通的过滤器只支持form 的method="post")

EncodingFilterpackage util; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; impor

longyuan20102011的专栏 692

java ee 上传文件_javaee-文件上传加载

文件上传文件上传前的准备在表单中必须有一个上传的控件因为 GET 方式有请求大小的限制,所以表单的提交方式必须是 POST表单默认的编码方式为 application/x-www-form-urlencoded ,应该修改为 multipart/form-data ,以二进制的形式进行数据的传输注意:此时 Servlet 中就不能再使用 request对象.getParameter(String ...

weixin_31147827的博客 455

java web B/s的简单实用基础总结(1)

servelet web.xml文件配置 This is the description of my J2EE component This is the display name of my J2EE component ServletFirstTest com.ServletFirstTest     ServletFirstTest

一朵小蘑菇的专栏 1023

JspSmartUpload上传下载 的实现攻略

JspSmartUpload上传下载  的实现攻略  (2012-09-06 20:07:18) 转载▼ 标签:  jspsmart   上传   下载 分类: JavaEE 首先、将 JSPSmartUpload.jar 组件, 拷贝到Tomcat的shared/lib目录下 一、文件上传篇  

evilcry2012的专栏 484

JavaWeb

【代码】JavaWeb。

钟佩颖的学习 241
上一篇: [j2ee][servlet]@PostConstruct与@PreDestroy
下一篇: [js]如何在js方法中传递事件对象并且在各个浏览器之间兼容
wendellup
博客等级 码龄16年 54粉丝 49原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值