Столкнулся с такой проблемой. В БД записал объект класса Cookie вот таким вот образом :
public void addUser(String telephone , String name , Cookie cookie) {
try {
String query = "INSERT INTO users (idTelephone , Name , cookie)
VALUES ('"+telephone+"','"+name+"', ?);";
System.out.println(query);
prepare = connect.prepareStatement(query);
prepare.setObject(1, cookie);
prepare.executeUpdate();
prepare.close();
}catch(SQLException ex) {
ex.printStackTrace();
}
}
Читаю таким образом :
public Cookie enter(String telephone , String name) {
Cookie cookie = null;
try {
String query = "SELECT Cookie FROM users WHERE idTelephone
='"+telephone+"' "+" AND Name = '"+name+"';";
stat = connect.createStatement();
result = stat.executeQuery(query);
result.next();
cookie = (Cookie) result.getObject("Cookie");
stat.close();
}catch(SQLException ex) {
ex.printStackTrace();
}
return cookie;
}
Вот где я принимаю куки :
ModelFiles model = new ModelFiles((Connection)
getServletContext().getAttribute("Connection"));
Cookie cookie = model.enter(telephone , name);
if(cookie != null) {
response.addCookie((Cookie)cookie);
response.sendRedirect("Load.jsp");
}
else {
response.sendRedirect("FailAuthorization.html");
}
}
Выбивает такую ошибку :
[B cannot be cast to javax.servlet.http.Cookie at Models.ModelFiles.enter(ModelFiles.java:145)
cookie = (Cookie) result.getObject("Cookie");
Пробовал проверить на "инстансоф" еще до попытки привести к Cookie
if(cookie instanceof Cookie){
system.out.println("Кастится")
}else{
system.out.println("Не кастится");
Результат :
Не кастится(то бишь не приводится);
В БД храню cookie в колонке типа Blob вот:
В БД ОБЪЕКТ ЗАПИСЫВАЕТСЯ!Вот только назад никак не могу забрать)
public Cookie enter(String telephone , String name) {
Cookie cookie = null;
try {
String query = "SELECT Cookie FROM users WHERE idTelephone ='"+telephone+"' "+" AND Name = '"+name+"';";
stat = connect.createStatement();
result = stat.executeQuery(query);
result.next();
InputStream in = result.getBinaryStream("Cookie");
ObjectInputStream ois = new ObjectInputStream(in);
cookie = (Cookie)ois.readObject();
stat.close();
}catch(SQLException ex) {
ex.printStackTrace();
}catch(IOException ex) {
ex.printStackTrace();
}catch(ClassNotFoundException ex) {
ex.printStackTrace();
}
return cookie;
}
Я такой лежу,пытаюсь заснуть и вспомнил про десериализацию объектов!Метод setObject записывает сериализованный объект.И прочитать мне нужно дисериализованный объект!Потом я могу привести Object к Cookie!
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Есть не тривиальная задачка отслеживать схожесть идентификаторов +- в %-ном соотношенииБольше надеюсь узнать нет ли какой то либы от гугла,...
Пишу вэб приложение на javascript которое должно быть кросплатформенным, но столкнулся с проблемой при работе с сайтом на телефоне не работают...
При нажатии на ссылку производиться скроллМне необходимо, что бы при скролле нажав на другую ссылку, поменялся приоритет и изменения скролла...