Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

JSP-форма входа в систему

7.6K
05 декабря 2006 года
JEgor
54 / / 08.11.2006
Привет всем. Кто нибудь разбирается в jsp коде. Код:
Код:
<%-login.jsp--%>
<%@page language='java' contentType='text/html'%>
<%@taglib url=' ' prefix=' '%>
<%--%>
<%!public boolean verify(String username,String password){
 return ((username!null)&&(password!=null)&&password.equals("java"));
}%>
<%--end bloc obyavleniy                                         --%>
<%--                                                            --%>
<% String nextPage=request.getParameter("nextpage");
if (title ==null) title = "Please Lof In";
String Username =request.getParameter("username");
String password =request.getParameter("password");
if ((username!=null)&&(password!=null)&&verify(username,password)) {
session.setAttribute("username",username);
response.setdRedirect(nextPage);
}
esle {
String message = "";
if ((username !=null)||(password !=null)) {
message = "NOT";
}%>
<%--                                                               --%>
<head><title>Login</title></head>
<body bgcolor='while'>
<br><br><br><%--  --%>
<%--             --%>
<decor:box color='yellow' margin='25' borderWhidth='3' title='Login'>
<div align=center> <%--                                          --%>
<%--                                                           --%>
<font face='helvetica'><h1><%=title%></h1></font>
<font face='helvetica' colot='red'><b><%=message%></b></font>
<%-                                                 --%>
<form action='login.jsp' method='post'>
<table><%--                                       --%>
<td align='right'>
<b><font face='helvetica'>Password:</font></b>
</td>
<td><intut type='password' name='password'></td>
</tr><tr> <%-- --%>
<td align='center' colspan=2><font face='helvetica'><b>
<input type=submit value='Login'>
</b></font></td>
</tr>
</table>
<%--                                                               --%>
<input type='hidden' name='nextpage' value='<%=nextPage%>'>
<input type='hidden' name='title' value=<%=title%>>
</form>
</div>
</decor:box><%--                                 --%>
</body><%--                                       --%>
}
%>

Разместил этот login.jsp файл в Tomcat 4.1\webapps и запускаю как:
http://127.0.0.1:8080/login.jsp
Появляется ошибка:
 
Код:
type Status report

message /login.jsp

description The requested resource (/login.jsp) is not available.


Может ошибка в коде?
3.7K
06 декабря 2006 года
bioflash
169 / / 01.10.2005
Во-первих: чтоби всю било культурно создай в каталоге "webapps" какой-то подкаталог своего апликейшена, и в том подкаталоге создай каталог "Web-inf" в котором должен бить файл "web.xml" которий должен иметь хотяби следующий минимальний контент:

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>
</web-app>


Во-вторих: твой код не запуститься, потому-что в нем купа ошибок, и синтаксических и семантических.
16K
07 декабря 2006 года
WandM
46 / / 13.11.2006
А я бы не стал изобретать велосипед: в томкате авторизация реализована.

Смотри http://tomcat.apache.org/tomcat-5.5-doc/realm-howto.html
7.6K
17 декабря 2006 года
JEgor
54 / / 08.11.2006
Объясните пожалуйста один момент. В login.jsp есть строчка:
<form method="post" action="loginAction.perform">
Благодоря которой при нажатии кнопки login, к URL добавляется addContactAction.perform.
Но для запуска сервлета необходим http://127.0.0.1:8080/... а не
D:\..\apache-tomcat-4.1.34-LE-jdk14\webapps\...
Как перейти к нужному URL?
16K
18 декабря 2006 года
WandM
46 / / 13.11.2006
Если login.jsp лежит в корневой папке, то при действии
<form method="post" action="loginAction.perform">
вызовется http://127.0.0.1:8080/loginAction.perform

А в папочку D:\..\apache-tomcat-4.1.34-LE-jdk14\webapps\ деплоится твой проект.
7.6K
18 декабря 2006 года
JEgor
54 / / 08.11.2006
Подскажи а какая папка является корневой? Пытался запускать login
каких только можно папках, ничего не выходит.
16K
18 декабря 2006 года
WandM
46 / / 13.11.2006
Корневая папка обычно exploded, но если ты собираешь все в war-файл - то login.jsp должен лежать вне всяких папок.

И еще фишка: При перенаправлении на ресурс "yo.jsp" файл yo.jsp ищется в том-же каталоге, откуда его перенаправили; а при перенаправлении на ресурс "/yo.jsp" файл yo.jsp ищется в корневом каталоге.

По крайней мере httpServletRequest.getRequestDispatcher("yo.jsp").forward(...);
работает по такому принципу.

Но, мне кажется, такая-же фишка будет и при вызове ресурса с обычной html страницы.
7.6K
21 декабря 2006 года
JEgor
54 / / 08.11.2006
Может быть дело в другом. В login меняю :
<form method="post" action="loginAction.perform"> на
<form method="post" action="http://127.0.0.1:8080/http://127.0.0.1:8080/hello/helloworld">.
Вставляю login в ...\apache-tomcat-4.1.34-LE-jdk14\webapps\hello
где у меня размещен WEB-INF простого hello world, все работает.
А вот когда проделываю все тоже самое с прогой баз данных выдает:

type Status report

message HTTP method POST is not supported by this URL

description The specified HTTP method is not allowed for the requested resource (HTTP method POST is not supported by this URL).
Может быть в <form method="post" вместо post нужно писать что нубудь другое?
16K
22 декабря 2006 года
WandM
46 / / 13.11.2006
Варианты решения проблемы:
1. в форме постить так: method="GET"
2. В Сервлете определить метод doPost(req, resp)
7.6K
24 декабря 2006 года
JEgor
54 / / 08.11.2006
Цитата: WandM
Варианты решения проблемы:
1. в форме постить так: method="GET"
2. В Сервлете определить метод doPost(req, resp)


Благодарю, вместо post поставил get , все заработало.
А можеш обьяснить чем отдичаются методы post и get?

16K
24 декабря 2006 года
WandM
46 / / 13.11.2006
Основное отличие POST от GET в том что данные передаются не в заголовке запроса а в теле, следовательно пользователь их не видит. Модифицировать может только изменив саму форму - но в большинстве случаев такие запросы можно отвергнуть проверяя адрес страницы с которой были посланы данные. (C) Гугл.

Если все равно не понял, вот ссылка.
7.6K
26 декабря 2006 года
JEgor
54 / / 08.11.2006
Можеш помоч еще в одном деле касательно сервлетов? В базе все слова на русском, после запроса сервлет выдает ??? , может встречался с подобным ? Если есть какие нибудь мысли по этому поводу поделись, буду признателен.
3.7K
26 декабря 2006 года
bioflash
169 / / 01.10.2005
Посмотри сюда, может поможет:

http://forum.codenet.ru/showthread.php?t=26250
16K
27 декабря 2006 года
WandM
46 / / 13.11.2006
Bioflash прав.
Но, по-моему, фишка в том, что в базе у тебя - одна кодировка, а записываешь ты в другой.

Например, если в MySQL таблица настроена на кодировку cp1251, а писать туда юникод....

P.S. это, кстати, уже оофтоп. Модератор? Ау?!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог