[英]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.