Я работаю в области j2ee уже несколько лет и устала писать все те функции AJAX, которые загружают некоторые данные со стороны сервера и рендерит на стороне клиента.
Возможно ли тольконапишите javascript-коды, которые выполняются как на стороне сервера, так и на стороне клиента. Например,
, если мне нужно разработать страницу входа в систему, я могу написать фрагмент кода примерно так:
ОРИГИНАЛЬНЫЙ КОД:
remote checkPassword;
function checkPassword(username, password){
if(existsRecord("select 1 from staff_t where user_name=? and password=?",username, password))
return true;
return false;
};
var main(){
var userName=$("username").val();
var password=$("password").val();
if(checkPassword(userName,password))
alert("Welcome, "+ user);
}else{
alert("sorry, wrong username or password.");
}
}
В приведенном выше коде javascript напрямую получает данные из dababase, не так ли яснее и проще для понимания?
Хотя этот код на самом делеработает в производственном режиме, он разделен двигателем на две части:
СТОРОНА:
function checkPassword(username, password){
if(existsRecord("select 1 from staff_t where user_name=? and password=?",username, password))
return true;
return false;
};
СТОРОНА КЛИЕНТА:
var userName=$("username").val();
var password=$("password").val();
// 'checkPassword' has been translated to an AJAX function.
if(checkPassword(userName,password))
alert("Welcome, "+ user);
}else{
alert("sorry, wrong username or password.");
}
Таким образом, мы можем использовать один кусок кода для одного бизнеса, не разделяя их на java и javascript.Движок разделит код и определит, какие части должны выполняться на сервере, а другие - в браузерах.
Я искал во всем Интернете, но не нашел ни одной подобной структуры, которая могла бы обеспечить доступ к базе данных./EJB/WEBSERVICE.
Google Web Toolkit (GWT) позволяет нам писать чистый код JAVA для приложения на основе браузера, но мне это кажется немного неуклюжим.:)
Rhino - это движок javascript, работающий на проектах j2ee, но он не предоставляет никаких средств для доступа как к данным на стороне клиента, так и к данным на стороне сервера.
Кто-нибудь знает такую структуру, или же ее можно разработать самостоятельно?в чем плюсы и минусы?
спасибо.