servlet中doGet、doPost方法里常见的中文乱码问题(博主主要是写给自己看的,不喜勿喷)

当浏览器向服务端发送数据时,若数据是发送到servlet的doGet方法中且带中文,传到服务端后会出现中文乱码,这是因为tomcat的URI将中文进行了编码,需要在tomcat文件目录下的conf文件中的server.xml中添加useBodyEncodingForURI="true" URIEncoding="UTF-8"这一行代码,如图

再在doGet方法中编写String name = new String(request.getParameter("namep").getBytes("ISO-8859-1"),"UTF-8"),namep是浏览器URI中带中文的参数,这样便可解决doGet中的乱码问题。

若是页面中表单数据传送到服务器中,这时doPost中如获取带中文的参数,会出现中文乱码,因为tomcat中是采用ISO-8859-1进行编码,而一般浏览器则是使用utf-8进行编码,这时只需在doPost方法中编写String name = new String(request.getParameter("namep").getBytes("ISO-8859-1"),"UTF-8"),这是将服务器获取到的中文转换成二进制流重新编码成utf-8。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: doGetdoPostServlet两个常用的方法doGet方法用于处理HTTP GET请求,通常用于获取数据或页面的显示。在doGet方法,可以通过request对象获取请求参数,通过response对象向客户端发送响应数据。 doPost方法用于处理HTTP POST请求,通常用于提交数据或执行操作。在doPost方法,可以通过request对象获取请求参数,通过response对象向客户端发送响应数据。 在Servlet,通常会根据具体的业务需求选择使用doGetdoPost方法,或者同时使用两个方法。 ### 回答2: 在JavaServlet是用于处理Web请求和响应的Java类。其doGetdoPostServlet两个常用的方法doGet是一个处理HTTP GET请求的方法。当浏览器发送一个GET请求给Servlet时,Servlet将自动调用doGet方法来处理该请求。通常,doGet方法用于从服务器获取数据,如从数据库获取信息并返回给浏览器显示。在doGet方法,可以通过HttpServletRequest对象获取请求参数,并通过HttpServletResponse对象向浏览器发送响应。 doPost是一个处理HTTP POST请求的方法。当浏览器发送一个POST请求给Servlet时,Servlet将自动调用doPost方法来处理该请求。通常,doPost方法用于向服务器提交数据,如通过一个表单向数据库插入新的数据。在doPost方法,同样可以通过HttpServletRequest对象获取请求参数,并通过HttpServletResponse对象向浏览器发送响应。 在Servlet,通常情况下我们会根据具体需求选择使用doGetdoPost方法来处理请求。如果我们只是需要获取一些数据,我们可以选择使用doGet方法,因为GET请求在URL会携带请求参数,可以直接从URL获取。而如果我们需要向服务器提交数据,我们可以选择使用doPost方法,因为POST请求的参数是放入请求体,相对安全。另外,对于一些特殊情况,我们也可以重doGetdoPost方法,使用相同的业务逻辑处理GET和POST请求。 总之,doGetdoPostServlet用于处理GET和POST请求的两个方法,根据具体需求选择使用。 ### 回答3: 在ServletdoGet()和doPost()都是用于处理HTTP请求的方法doGet()方法用于处理GET请求。GET请求是最常见的HTTP请求类型,通常用于获取服务器上的资源。当客户端发送一个GET请求时,Servlet容器会调用doGet()方法来处理该请求。在doGet()方法,可以获取请求参数、处理业务逻辑,并且可以通过HttpServletResponse对象将响应数据返回给客户端。 doPost()方法用于处理POST请求。POST请求也是常见的HTTP请求类型,与GET请求不同,POST请求通常用于向服务器提交数据。当客户端发送一个POST请求时,Servlet容器会调用doPost()方法来处理该请求。在doPost()方法,可以通过HttpServletRequest对象获取请求参数、处理业务逻辑,并且可以通过HttpServletResponse对象将响应数据返回给客户端。 在ServletdoGet()和doPost()方法都是被重方法,需要在Servlet进行实现。当客户端发送一个HTTP请求时,Servlet容器会根据请求的类型自动调用对应的方法,从而完成请求的处理。 通常情况下,GET方法用于获取资源,而POST方法用于提交数据。在实际应用,可以根据具体的需求选择使用doGet()或者doPost()方法来处理不同类型的请求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值