JSP頁面到Servlet出現亂碼問題

需要先進行碼類型設置

實例:

servlet類

package com.deng.servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class queryServlet
 */
public class queryServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public queryServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // TODO Auto-generated method stub
        process(req, resp);
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // TODO Auto-generated method stub
        process(req, resp);
    }
    public void process(HttpServletRequest req, HttpServletResponse resp) throws IOException {

        String str = req.getParameter("query");
        str = new String(str.getBytes("ISO-8859-1"),"gb2312");// 解決亂碼問題
        resp.setContentType("text/html"); // 設置返回數據的表示形式
        resp.setCharacterEncoding("gb2312");// 設置返回的數據格式
        PrintWriter out = resp.getWriter();// 得到輸入網頁的內容,建立一個文本輸出流
        out.print("<html><head><title>Searching</title></head>");
        out.print("<body>您要查詢的是:" + str +"<br>");
        out.print("查詢結果如下:" + "</html>");
        out.flush();// 清屏
    }

}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章