пятница, 19 февраля 2010 г.

Web deployment

Сегодня мы поговорим о создании web проекта по шагам:

0) Настраиваем среду сервера для этого идем windows->properties->server->runtime environment, удаляем все и создаем новый конфиг.
cервера – томкат 6
путь – ..\apache-tomcat-6.0.20 (для моей сборки)
jre – встроенная java машина (нижний выриант)

1) Создадим новый динамический web проект (ctrl+N->Web->Dynamic web Project). Пропишем ему имя и выберем наш конфиг сервера, наживаем финиш.

2) Создался новый проект с кучей папок, но из них важны только 2 –src и WebContent
src - здесь хранятся java классы (domain, dao, utils, сервлеты, etc)
WebContent - здесь хранятся jsp, конфиги, библиотеки

3) Создадим auth.jsp в папке WebContent/jsp (обычно так не делают, но я это сделаю в целях обучения)

Содержимое auth.jsp

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head><title>JSP Example</title></head><body><div>
<%
if("POST".equals(request.getMethod())){
<%-- проверяем тип запроса --%>
if("root".equals(request.getParameter("name")) &
"god".equals(request.getParameter("password"))){
<%-- проверяем данные формы, присланные в запросе --%>

%>
<h3>Access granted</h3>
<%
} else {
%>
<h3>Access denied</h3>
<%
}
} else if("GET".equals(request.getMethod())){
<%-- если запрос GET - отправляем форму--%>

%>

<h3>Login page</h3>
<form method="post">
<%-- !установка типа поста формы --%>
<div>
<input type="text" name="name" value="Input name"
onfocus="this.value='';"/><br/>
<input type="password" name="password"/><br/>
<input type="submit"/>
</div>
</form>
<%
}
%>
</div></body></html>

Эта jsp осуществляем самую примитивную аутентификацию пользователя.

4) теперь нажимаем запустить сервер (зеленая стрелочка)

5) Страница доступна по адресу http://localhost:8080/[project_name]/jsp/auth.jsp

На всех этапах могут возникнуть совершенно разнообразные проблемы, которые я просто не могу охватить в данной статье, потому просто пишите о них в комментах.

Кстати интересный вопрос, почему я пишу "root".equals(request.getParameter("name")) вместо request.getParameter("name").equals("root") ???

Комментариев нет:

Отправить комментарий