//改后的jsp运行正常.
<%@page contentType="text/html;charset=gb2312"%>
<%@page import="java.sql.*" %>
<%@page import="java.io.*" %>
<%@page import="java.util.*" %>
<%
  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");                               
                                 Connection conn =DriverManager.getConnection("jdbc:odbc:test","", "");
                Statement stmt=conn.createStatement();
                 String strSQL="SELECT * FROM goods";
                    ResultSet rs=stmt.executeQuery(strSQL);
                    ResultSetMetaData rsmd=rs.getMetaData();
                    int colCount=rsmd.getColumnCount();
                    //out.println(colCount);
                    int count=1;
                    out.println("<table border='0'>");
                out.println("<tr>");
                out.println("<td bgcolor='#FFCCCC'>商品名</td>");
                out.println("<td bgcolor='#FFCCCC'>类型</td>");
                    out.println("<td bgcolor='#FFCCCC'>简介</td>");
                    out.println("<td bgcolor='#FFCCCC'>价格</td>");
                    out.println("<td bgcolor='#FFCCCC'>折扣</td>");
                out.println("<td bgcolor='#FFCCCC'>编号</td>");
                out.println("<td bgcolor='#FFCCCC'>数量</td>");
                out.println("<td bgcolor='#FFCCCC'>操作</td>");
                out.println("</tr>");
                while(rs.next())
                    {
                                  out.println("<tr>");
                                  out.println("<td bgcolor='#FFCC33'>");
                                 String name=rs.getString(2);
                                  out.println(name);
                                  out.println("</td>");
                                  out.println("<td bgcolor='#FFCC33'>");
                                  String type=rs.getString(3);
                                  out.println(type);
                                  out.println("</td>");
                                  out.println("<td bgcolor='#FFCC33'>");
                                  out.println(rs.getObject(4));
                                  out.println("</td>");
                                  out.println("<td bgcolor='#FFCC33'>");
                                  float price=rs.getFloat(5);
                                  out.println(price);
                                  out.println("</td>");
                                  out.println("<td bgcolor='#FFCC33'>");
                                  float off=rs.getFloat(6);
                                  out.println(off);
                            out.println("</td>");
                            out.println("<td bgcolor='#FFCC33'>");
                            int id=rs.getInt(1);
                            out.println(id);
                              out.println("</td>");
                                      out.println("<form method='post' action='../add.jsp' target='cart'>");
                                  out.println("<input type='hidden' name='name' value="+name+">");
                                       out.println("<input type='hidden' name='type' value="+type+">");
                                       out.println("<input type='hidden' name='price' value="+price+">");
                                       out.println("<input type='hidden' name='off' value="+off+">");
                                       out.println("<input type='hidden' name='id' value="+id+">");
                                  out.println("<td bgcolor='#CCCCCC'><input type='text' name='number'  size=4></td>");
                                  out.println("<td bgcolor='#CCCC33'><input type='submit' value='add'></td>");
                                  out.println("</form>");
                                  out.println("</tr>");
                                  count++;
                                }
                        rs.close();
                        count--;
                          out.println("Total Search Records:"+count);
                        out.println("</table>");
                                stmt.close();
                       conn.close();%>

解决方案 »

  1.   

    把resp.setContentType("text/html");
    改成:resp.setContentType("text/html,charset=gb2312");试试看.
      

  2.   

    同意,servlet中加charset的设置...
      

  3.   

    是不是没有out.println("<html>")和</html>的一些标实
      

  4.   

    改成:resp.setContentType("text/html,charset=gb2312");
    或resp.setContentType("text/html;charset=gb2312");
    都没有用,页面仍然一片空白,什么也没有?(乱码更加没有)
      

  5.   

    你把work里面这个JSP生成的servlet和这个servlet比较一下,应该会有收获的.
      

  6.   

    PrintWriter out = new PrintWriter(resp.getOutputStream());-------->PrintWriter out = resp.getWriter();
      

  7.   


    public void service(HttpServletRequest req, HttpServletResponse resp)
    ----->public void service(ServletRequest req, ServletResponse resp)
      

  8.   

    public void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException你只是做了请求,却没有实质性的实现她,再看看书把!
    我想你能搞明白的
      

  9.   

    //这个是jsp在work里面生成的servlet
    package org.apache.jsp;import java.sql.*;
    import java.io.*;
    import java.util.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import javax.servlet.jsp.*;
    import org.apache.jasper.runtime.*;
    public class list$jsp extends HttpJspBase {
        static {
        }
        public list$jsp( ) {
        }    private static boolean _jspx_inited = false;    public final void _jspx_init() throws org.apache.jasper.runtime.JspException {
        }    public void _jspService(HttpServletRequest request, HttpServletResponse  response)
            throws java.io.IOException, ServletException {        JspFactory _jspxFactory = null;
            PageContext pageContext = null;
            HttpSession session = null;
            ServletContext application = null;
            ServletConfig config = null;
            JspWriter out = null;
            Object page = this;
            String  _value = null;
            try {            if (_jspx_inited == false) {
                    synchronized (this) {
                        if (_jspx_inited == false) {
                            _jspx_init();
                            _jspx_inited = true;
                        }
                    }
                }
                _jspxFactory = JspFactory.getDefaultFactory();
                response.setContentType("text/html;charset=gb2312");
                pageContext = _jspxFactory.getPageContext(this, request, response,
                 "", true, 8192, true);            application = pageContext.getServletContext();
                config = pageContext.getServletConfig();
                session = pageContext.getSession();
                out = pageContext.getOut();            // HTML // begin [file="/list.jsp";from=(5,4);to=(6,0)]
                    out.write("\r\n");            // end
                // HTML // begin [file="/list.jsp";from=(6,48);to=(7,0)]
                    out.write("\r\n");            // end
                // HTML // begin [file="/list.jsp";from=(7,30);to=(8,0)]
                    out.write("\r\n");            // end
                // HTML // begin [file="/list.jsp";from=(8,29);to=(9,0)]
                    out.write("\r\n");            // end
                // HTML // begin [file="/list.jsp";from=(9,31);to=(10,0)]
                    out.write("\r\n");            // end
                // begin [file="/list.jsp";from=(10,2);to=(82,0)]
                    
                    response.sendRedirect("servlet/listServlet");
                    
                    /*
      

  10.   

    \\太长了,接上面 
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
                                                    //Connection conn =DriverManager.getConnection("jdbc:odbc:test","sa", "");
                                                     Connection conn =DriverManager.getConnection("jdbc:odbc:test","", "");
                                    Statement stmt=conn.createStatement();
                                    //String strSQL="Begin use fancy SELECT * FROM goods  end";
                                    String strSQL="SELECT * FROM goods";
                                        ResultSet rs=stmt.executeQuery(strSQL);
                                        ResultSetMetaData rsmd=rs.getMetaData();
                                        int colCount=rsmd.getColumnCount();
                                        //out.println(colCount);
                                        int count=1;
                                        out.println("<table border='0'>");
                                    out.println("<tr>");
                                    out.println("<td bgcolor='#FFCCCC'>鍟嗗搧鍚?/td>");
                                    out.println("<td bgcolor='#FFCCCC'>绫诲瀷</td>");
                                        out.println("<td bgcolor='#FFCCCC'>绠€浠?/td>");
                                        out.println("<td bgcolor='#FFCCCC'>浠锋牸</td>");
                                        out.println("<td bgcolor='#FFCCCC'>鎶樻墸</td>");
                                    out.println("<td bgcolor='#FFCCCC'>缂栧彿</td>");
                                    out.println("<td bgcolor='#FFCCCC'>鏁伴噺</td>");
                                    out.println("<td bgcolor='#FFCCCC'>鎿嶄綔</td>");
                                    out.println("</tr>");
                                    while(rs.next())
                                        {
                                                      out.println("<tr>");
                                                      out.println("<td bgcolor='#FFCC33'>");
                                                     String name=rs.getString(2);
                                                      out.println(name);
                                                      out.println("</td>");
                                                      out.println("<td bgcolor='#FFCC33'>");
                                                      String type=rs.getString(3);
                                                      out.println(type);
                                                      out.println("</td>");
                                                      out.println("<td bgcolor='#FFCC33'>");
                                                      out.println(rs.getObject(4));
                                                      out.println("</td>");
                                                      out.println("<td bgcolor='#FFCC33'>");
                                                      float price=rs.getFloat(5);
                                                      out.println(price);
                                                      out.println("</td>");
                                                      out.println("<td bgcolor='#FFCC33'>");
                                                      float off=rs.getFloat(6);
                                                      out.println(off);
                                                out.println("</td>");
                                                out.println("<td bgcolor='#FFCC33'>");
                                                int id=rs.getInt(1);
                                                out.println(id);
                                                  out.println("</td>");
                                                          out.println("<form method='post' action='../add.jsp' target='cart'>");
                                                      out.println("<input type='hidden' name='name' value="+name+">");
                                                           out.println("<input type='hidden' name='type' value="+type+">");
                                                           out.println("<input type='hidden' name='price' value="+price+">");
                                                           out.println("<input type='hidden' name='off' value="+off+">");
                                                           out.println("<input type='hidden' name='id' value="+id+">");
                                                      out.println("<td bgcolor='#CCCCCC'><input type='text' name='number'  size=4></td>");
                                                      out.println("<td bgcolor='#CCCC33'><input type='submit' value='add'></td>");
                                                      out.println("</form>");
                                                      out.println("</tr>");
                                                      count++;
                                                    }
                                            rs.close();
                                            count--;
                                              out.println("Total Search Records:"+count);
                                            out.println("</table>");
                                                    stmt.close();
                                           conn.close();
                                           */
                    
                // end
                // HTML // begin [file="/list.jsp";from=(82,2);to=(83,0)]
                    out.write("\r\n");            // end        } catch (Throwable t) {
                if (out != null && out.getBufferSize() != 0)
                    out.clearBuffer();
                if (pageContext != null) pageContext.handlePageException(t);
            } finally {
                if (_jspxFactory != null) _jspxFactory.releasePageContext(pageContext);
            }
        }
    }
      

  11.   

    加入两个事件
    public void doGet(HttpServletRequest req, HttpServletResponse resp)
                    throws ServletException, IOException {
    service(req,resp);
    }public void doPost(HttpServletRequest req, HttpServletResponse resp)
                    throws ServletException, IOException {
    service(req,resp);
    }
    另外:
    PrintWriter out = new PrintWriter(resp.getOutputStream());
    -->
    resp.setContentType("text/html;charset=gb2312");
    req.setCharacterEncoding("GB2312");
    PrintWriter out = resp.getWriter();