簡體   English   中英

Java Servlet在瀏覽器中打印“語言/內容類型/頁面編碼”行

[英]Java Servlet Printing “language/content type/page encoding” line in browser

我正在使用Java Servlet,並且我的代碼遇到了難題。 當我在內置的Web瀏覽器中在eclipse中測試代碼時,該代碼可以完美運行。 但是,當我使用瀏覽器進行測試時,除以下幾點外,其他所有事情都是完美的

<%@ page language=\"java\" contentType=\"text/html; charset=ISO-8859-1\" pageEncoding=\"ISO-8859-1\"%> ( ---> printed via out.println("<%@...");)

作為頁面上的第一內容打印(左上)。 如果我注釋掉這一行,即使標題中的鏈接和元標記聲明以下內容,也會丟失所有css樣式:

link rel='stylesheet' href='landingpage.css' type='text/css' media='screen'

meta http-equiv='Content-Type' content='text/html; charset=ISO-8859-1'

(同樣通過out.println())

其中涵蓋了我的樣式表參考,內容類型和正確映射的字符集。 只是為了清楚起見, "out"是我的印刷作家(out = response.getWriter())

誰能提供一個答案,使我擺脫瀏覽器的困擾?

謝謝。

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        PrintWriter out = response.getWriter();

        try {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            System.out.println("driver found");
            connection = DriverManager.getConnection("jdbc:sqlserver://127.0.0.1;" +
                    "instance=SQLEXPRESS;databaseName=Timecard_DB;user=Dan;password=Mc177700;");

            out.println("<%@ page language=\"java\" contentType=\"text/html; charset=ISO-8859-1\" pageEncoding=\"ISO-8859-1\"%>");
            out.println("<!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>");
            out.println("<html>");
            out.println("<head>");
            out.println("<link rel='stylesheet' href='landingpage.css' type='text/css' media='screen'>");
            out.println("<meta http-equiv='Content-Type' content='text/html; charset=ISO-8859-1'>");
            out.println("<title>Home</title>");
            out.println("</head>");
            out.println("<body>");

            out.println("<div id='container'>");

            out.println("<div id='header'>");
            out.println("<img src='Images/mPowerlogo.jpg'/>");
            out.println("</div>");

            out.println("<div id='welcome'>");
            out.println("Welcome, User1");
            out.println("</div>");

            out.println("<div id='logout'>");
            out.println("<a href=''>Logout</a>");
            out.println("</div>");

            out.println("<div id='links'>");
            out.println("<ul>");
            out.println("<li><a href=''>Timecard Management</a></li>");
            out.println("<li><a href=''>User Management</a></li>");
            out.println("<li><a href=''>Customer Management</a></li>");
            out.println("<li><a href=''>Admin</a></li>");
            out.println("<li><a href=''>Reports</a></li>");
            out.println("</ul>");
            out.println("</div>");

            out.println("<div id='feed'>");
            out.println("<p>Recent Activity:</p>");
            out.println("<textarea id='feedtext' readonly>"); 

            try {
                stmt = connection.createStatement();
                String feedSelect = "SELECT ROLE_NAME from ROLES";
                rs = stmt.executeQuery(feedSelect);
                ResultSetMetaData metadata = rs.getMetaData();
                while(rs.next()) {
                    for(int i = 1; i <= metadata.getColumnCount(); i++) {
                        String colValue = rs.getString(i);
                        out.println(colValue);

                    }
                }
            }
            catch (SQLException e) {
                e.printStackTrace();
            }   

            out.println("</textarea>");
            out.println("</div>");

            out.println("</div>");

            out.println("</body>");
            out.println("</html>"); 

        } catch (Exception e) {
            e.printStackTrace();
            e.getMessage();
        }

        response.setContentType("text/html");
    }

CSS:

@CHARSET "ISO-8859-1";

body { 

.... so on so forth; the styling is fine.

我代碼中的所有其他功能均應正常運行。 這只是通過我的打印機打印的第一行,莫名其妙地打印在頁面上。

作為其servlet,因此您無需將此行寫出來out.println("<%@ page language=\\"java\\" contentType=\\"text/html; charset=ISO-8859-1\\" pageEncoding=\\"ISO-8859-1\\"%>"); 通常,我們在jsp中編寫此行,並且在像tomcat這樣的服務器中對其進行編譯時,將忽略此行

您需要在servlet中添加此行

response.setContentType("text/html; charset=UTF-8");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM