LINUX.ORG.RU

J2EE + MySQL + JSTL = проблема отображения шрифтов ROOT/USERS


0

0

Что имеею

1) Linux squeeze 2.6.26
2) NetBeans 6.7 || NetBeans 6.8
3) mysql-server-5.0
4) jstl 1.1

Классы для выполения запросов по БД:


Класс подключения к БД:[code]
/*
* Class CreateBaseConnection provide connect to base MySQL
*
*/
package MySQL;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;


/**
*
* @author initmax
*/
public class MySQLConnect {

private String url = null;
private String name = null;
private String password = null;


//По умолчанию
public MySQLConnect() {
url = "jdbc:mysql://localhost/initmax"+"?autoReconnect=true&useUnicode=true&character Encoding=utf8"+
"&SET NAMES utf8";
name = "root";
password = "pass";
}


//Инициализирует поля значениями
public MySQLConnect(String a_url, String a_name, String a_password){
url = a_url;
name = a_name;
password = a_password;
}


//***********************************************************************
private Connection CurrentConnect;

//this line need out to txt file


//***********************************************************************
//first need download driver, for work MySQL connect
public void downloadDriver(){
try{
Class.forName("com.mysql.jdbc.Driver");
// System.out.println("Driver loading success!");
}

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

//***********************************************************************
//Connected to MySQL Base use download driver
public void connected(){
try {
CurrentConnect = DriverManager.getConnection(url, name, password);
// System.out.println("Connected.");
}

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


//*********************************************************************
//disconnected base after finish work, get object connect
public int disConnected() {
try {
CurrentConnect.close();
System.out.println("Disconnected.");
}

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

return 0;
}

//*********************************************************************
//get current connection
public Connection getConnection() {
return this.CurrentConnect;
}

}
[/code]

servlet точки входа
[code]
import java.util.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import MySQL.*;

public class indexServlet extends HttpServlet {

private String getpage;
//Connected MySQL
private MySQLConnect MySQLConnectObj = new MySQLConnect();
private MySQLQuery MySQLQueryObj = new MySQLQuery();

public void init(){
MySQLConnectObj.downloadDriver();
MySQLConnectObj.connected();

//Use current connection, for execution query
MySQLQueryObj.setConnection(MySQLConnectObj.getConnection());
}

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


MySQLConnectObj.disConnected();
init();




//Check curent connect to database
if(MySQLConnectObj.getConnection() != null) {

List<GenPageMySQL> ListPageObj = new ArrayList();
//get List<RowObject>
ListPageObj = MySQLQueryObj.selectAllField("up_menu",ListPageObj);

request.setAttribute("upMenu",ListPageObj);
RequestDispatcher Dispatcher = getServletContext().getRequestDispatcher("/WEB-INF/jsp/index.jsp");
Dispatcher.forward(request, response);
}


else if(MySQLConnectObj.getConnection() == null){
init() ;
}

MySQLConnectObj.disConnected();
}

}[/code]

JSP страница с использованием JSTL

[code]
<%--
Document : upmenu
Created on : 12.08.2009, 15:37:13
Author : Admin
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Main Page</title>

<link rel="stylesheet" type="text/css" href="css/up_menu_darck.css" media="all">
<link rel="stylesheet" type="text/css" href="css/page_darck.css" media="all">
<link rel="stylesheet" type="text/css" href="css/base_darck.css" media="all">
<link rel="stylesheet" type="text/css" href="css/photos.css" media="all">
<link rel="stylesheet" type="text/css" href="css/left_menu_darck.css" media="all">
</head>
<body>
<c:out value="hello, Max" />
<c:out value="${10+20/2}" />

<c:forEach items="${upMenu}" var="Object" >
<c:out value="${Object.id}"> </c:out>
<c:out value="${Object.theme}"> </c:out>
<c:out value="${Object.page}"> </c:out>
</c:forEach>

</body>
</html>
[/code]

права на каталог с проектом, apache 2.6.20 и NetBeans даны как 777
запускаю NetBeans от ROOT всё отрабатывает и отображается корректно
от USER вместо страницы выбраной из БД "????????? ???????? ?????"

Подозреваю прболема с установкой кодировки "SET NAMES utf8" от привилегий пользователя.. кто что думает/подскажет?
Спасибо за внимание.



J2EE + MySQL + JSTL = проблема отображения шрифтов ROOT/USERS

В приличных местах, за такие посты без использования pastebin бьют лопатой в лицо

Unclown ()

J2EE + MySQL + JSTL = проблема отображения шрифтов ROOT/USERS

Исходя из вашего аватара, Вам судя по всему часто бажили лопатой по лицу... Это форум а не IRC канал, в форуме допускается постить код, так что идите в другое место и поорите там!

initmax ()

J2EE + MySQL + JSTL = проблема отображения шрифтов ROOT/USERS

обычно работает из без всяких
SET NAMES utf8

если из консоли через java делать запросы в бд - всё ок или тоже вопросики?

thevery ★★★★ ()

J2EE + MySQL + JSTL = проблема отображения шрифтов ROOT/USERS

Если создавать приложение как Java Application то в консоль выдаёт корректно буквы, но подключаться к БД при этом требуется всё = сSET NAMES utf8

initmax ()

J2EE + MySQL + JSTL = проблема отображения шрифтов ROOT/USERS

В лог ошибок не бросает, jstl как раз и придумали на смену скреплетам, на сколько я знаю, или вы поклонник скриплет?

initmax ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.