用requestDispatcher.forward(request,response)重定向后的页面为乱码javax.servlet.RequestDispatcher dis=request.getRequestDispatcher("/viewbook.jsp");
dis.forward(request,response);
在viewbook.jsp中已经加了页面指令:<%@ page language="java" import="java.util.*,hejun.*" pageEncoding="gb2312"%>
可是重定向后viewbook.jsp显示的是乱码,为什么呀?高手指点下呀,谢谢啦
dis.forward(request,response);
在viewbook.jsp中已经加了页面指令:<%@ page language="java" import="java.util.*,hejun.*" pageEncoding="gb2312"%>
可是重定向后viewbook.jsp显示的是乱码,为什么呀?高手指点下呀,谢谢啦
解决方案 »
- netbeans 图片相对路径问题
- 动态规划算法来实现零件装配问题!求算法!
- 谁给解释一下struts2 stream 导出的问题
- 菜鸟问题:关于服务器区别
- 如何从键盘输入参数啊?在线等!具体问题如下
- hibernate3+spring+struts的分页问题
- 急啊~~~~~~JSP中怎么实现域名查询
- 下列代码显示错误
- navicat连接mysql数据库问题
- 求教关于 【跨 application】 控制同一功能或者属性的问题 .......
- httpservletrequest.setattribute和servletrequest.setattribute的区别
- 多个web项目结合,一次登录。
很多方法可以设置编码问题要么用过滤器
不知道为什么还是不起作用呀
设置charset<%@ page language="java" contentType="text/html; charset=GBK" pageEncoding="GBK"%>
servlet中request和response都设置Encoding。
request.setCharacterEncoding("gb2312");
这是Request 和Response 的区别request是发送时的编码设置
而response是响应时的编码设置
这个问题应该是response
public class BookServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
try{
BookBean bookBean=new BookBean();
PageBean pageCtl=bookBean.listData((String)request.getParameter("jumpPage"));
request.setAttribute("pageCtl",pageCtl);
}
catch(Exception e){
e.printStackTrace();
}
javax.servlet.RequestDispatcher dis=request.getRequestDispatcher("/viewbook");
dis.forward(request,response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { doGet(request,response);
}//下面是viewbook.jps
<%@ page language="java" import="java.util.*,hejun.*"%>
<%@ page language="java" contentType="text/html; charset=gb2312" pageEncoding="gb2312"%>
<%@include file="trans.jsp" %>
<jsp:useBean id="pageCtl" class="hejun.PageBean" scope="request"/><html>
<head>
<title>分页浏览</title>
</head>
<body>
<table border=1>
<tr><td>书号</td><td>书名</td><td>出版社</td><td>价格</td></tr>
<%
java.util.Collection v=pageCtl.getResult();
Iterator it=v.iterator();
while(it.hasNext())
{
Book book=(Book)it.next();
%>
<tr>
<td align="center" width="95"><%=trans(book.getBookId())%></td>
<td align="center" width="95"><%=trans(book.getBookName())%></td>
<td align="center" width="95"><%=trans(book.getPublisher()) %></td>
<td align="center" width="95"><%=book.getPrice() %></td>
</tr>
<%} %>
</table>
<%if(pageCtl.maxPage!=1){ %>
<form name="PageForm" action="/Advanced_DB_Programming/servlet/BookServlet" method="post">
<%@include file="/pageman.jsp" %>
</form>
<%}%>
</body>
</html>这是web.xml的内容:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>BookServlet</servlet-name>
<servlet-class>hejun.BookServlet</servlet-class>
</servlet> <servlet-mapping>
<servlet-name>BookServlet</servlet-name>
<url-pattern>/servlet/BookServlet</url-pattern>
</servlet-mapping> <servlet>
<servlet-name>ViewBookJSP</servlet-name>
<jsp-file>/viewbook.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>ViewBookJSP</servlet-name>
<url-pattern>/viewbook</url-pattern>
</servlet-mapping>
</web-app>为什么转到viewbook.jsp后显示的是乱码,就边中间表格的表头也是乱码
PrintWriter out = response.getWriter();