
楼主在做一个sso单点登陆,需要用到一个页面跳转功能。首先在sso系统用jsp写了一个登陆页面,看过没有问题后,开始后台代码,结果发现当后台使用forward进行跳转的时候,原来的页面全是乱码。在网上搜了好久,说要设置各种编码啊什么的,全部试过,没有任何作用。并没有找到任何可以解决问题的方法,有谁遇到过同样的问题吗??
代码如下:
jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
String path = application.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>单点登陆</title>
后面就是一个普通的登陆页面
后台跳转代码
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
RequestDispatcher rd = request.getRequestDispatcher("index.jsp");
String gotoURL = request.getParameter("gotoURL");//需要在登陆后跳转到指定页面
request.setAttribute("gotoURL",gotoURL);//存值
rd.forward(request,response);