老生常谈 -- Servlet取jsp页面的中文参数 乱码
首先是Jsp页面,
Java code:
<%@page pageEncoding="GB18030" contentType="text/html; charset=gb18030"%>
<LINK href="../../resources/survey/style.css" rel=stylesheet>
<form action=../../vote?cmd=modify method=post>
<br>
<TABLE width=98% align=center border=0 >
<tr>
<td>选项1:</td>
<td><input type=text size=40% name=item1 maxlength=10></td>
</tr>
</table>
<br>
<INPUT class=buttonface type=submit value=发布 name=Submit>
<INPUT class=buttonface type=button value=返回 name=Submit2 onClick=history.back()>
</form>
填写是出入“中文”二字。
然后是servlet获取参数的语句:
Java code:
String s = req.getCharacterEncoding();
System.out.println(s); //这里输出的是“UTF-8” ①
String a = req.getParameter("item1"); //a=?? ②
a = new String(req.getParameter("item1").getBytes("UTF-8"),"gb18030"); //这里a=?? ③
System.out.println(a);
获取参数时,①处显示是utf-8,那③处的转换怎么不生效呢?该怎么办
gbk或者gb2312吧
Spring 也有个Filter
<filter>
<filter-name>encodingFilt
相关问答:
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jas ......
我想登录后,如果登录成功就去执行某个页面
我现在的代码是这样的:
if(rs.next()){
session.setAttribute( "username" , user);
<jsp:include page="login.jsp" />// ......
我想用javabean实现计数
代码如下:
ComputerCount.java
package tom.jiafei;
import java.io.*;
public class ComputerCount{
int number=0;
boolean iscome=false;
File file=new ......
一个JSP页面接收其他页面提交过来的FORM表单,但是要求只接收当前站点及其子站点提交过来的FORM表单,其他站点提交过来的表单不接收,这个怎么设置?
用过滤器
filter
将当前站点及其子站点放一个目录
然 ......
HTML code:
<%@ page language="java" import="java.util.*,com.test.model.*" pageEncoding="gb2312"%>
<%
String path = request.getContextPath();
String basePa ......