Я разработал jsp (веб-приложение), в котором есть класс vdb, содержащий класс Db, источник которого находится ниже, а файлы jsp используют метод connect()
, который return Объект соединения и year()
, которые возвращают целочисленное значение.метод класса не работает на удаленном веб-сервере, но работает локально
метод connect()
хорошо работает в обоих случаях (на удаленном сервере или локальном хосте), но метод year()
хорошо работает в случае локального хоста, но на удаленном сервере (с открывающейся сбой) его не работает.
FILE Db.java
package vdb;
import java.sql.*;
public class Db {
public static synchronized Connection connect()
{
Connection con=null;
try{
String url = "jdbc:mysql://1xx.x.xx.x:xx06/";
String db = "mydb";
String driver = "com.mysql.jdbc.Driver";
String user = "adminaz";
String pass = "mypassword";
Class.forName(driver).newInstance();
con = DriverManager.getConnection(url+db,user,pass);
}
catch(Exception e)
{
}
return con;
}
public static int year()
{
int y=0;
ResultSet rs=null;
try
{
Connection con=connect();
Statement st=con.createStatement();
rs=st.executeQuery("SELECT MAX(START) FROM SESSION");
rs.next();
y=rs.getInt(1);
}
catch (Exception e)
{
System.out.println(e);
}
return y;
}
}
Файл index.jsp
<%@page import="java.sql.*;"pageEncoding="UTF-8"%>
<% int y= vdb.Db.year();%>
<%out.println(" CURRENT YEAR "+y);%>
В чем проблема с этим или error.How преодолеть.
1) Пожалуйста, открепите свой код так, чтобы он был читабельным. 2) добавить stacktrace – fateddy
Что значит «не работает»? Выбрасывает исключение? Возврат неожиданного значения? Не возвращать значение? Является ли сервер доступом к той же БД, к которой вы обращаетесь локально? Если нет, оба БД заполнены одними и теми же данными? – deyur
Как получить stacktrace, сгенерированный файлом класса на веб-сервере? локально я получаю stacktrace из вывода tomcat, но не знаю, как с удаленного веб-сервера. – Azad