Некоторые люди могут подумать, что Struts нелегко освоить. Кажется, некоторые концепции в нем сбивают с толку людей, которые никогда не сталкивались с ним. MVC1, MVC2, шаблоны... Я написал эту статью, чтобы рассказать людям, которые никогда не сталкивались с ним. Struts имеет простое введение. Руководство, конечно, необходимо для систематического изучения Struts. В нем много интересного, но это уже история для другого разговора.
В этот случай входят домашняя страница, страницы входа пользователя и страницы мастера веб-сайта. Все очень просто. У Struts нет глубокой концепции. В основном все зависит от практического опыта и сердечного понимания.
ВЕБ-сервер использует tomcat4. Перейдите на http://jakarta.apache.org , чтобы загрузить struts1.1, отпустите zip-файл в c:struts, скопируйте C:strutswebappsstruts-example.war в c:tomcat4webapps и запустите. tomcat. Пакет war помещается в папку struts-example. Удалите пакет war и переименуйте папку struts-example в test.
1. Измените WEB-INFweb.xml на:
<?xml version="1.0"coding="ISO-8859-1"?>
<!DOCTYPE веб-приложение PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" " http://java.sun.com/j2ee/dtds/web-app_2_2.dtd ">
<web -приложение>
<! — это контроллер в struts. Класс ActionServlet отвечает за передачу команд системы. Он считывает информацию о конфигурации из struts-config.xml и автоматически запускает поток в фоновом режиме сервера. Если нет особых требований (например, добавления функций редактирования языка), программисты могут игнорировать эту часть и просто использовать ее. -->
<сервлет>
<servlet-name>действие</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<инициализирующий-параметр>
<имя-параметра>конфигурация</имя-параметра>
<param-value>/WEB-INF/struts-config.xml</param-value>
</инит-парам>
<загрузка при запуске>1</загрузка при запуске>
</сервлет>
<!--Сервлет этой системы можно сопоставить с файлом с суффиксом Cool вместо обычного .jspdo и т. д. Имя суффикса можно изменить на любое имя, конечно, имя должно быть работоспособным #◎¥% ! -->
<сопоставление сервлетов>
<servlet-name>действие</servlet-name>
<url-pattern>*.cool</url-pattern>
</сервлет-сопоставление>
<!--Домашняя страница этой системы по умолчанию — index.jsp, их может быть несколько, система найдет их по порядку, аналогично IIS-->
<список-приветственных-файлов>
<приветственный-файл>index.jsp</приветственный-файл>
</приветственный-список-файлов>
</web-app>
2. Измените testWEB-INF struts-config.xml на:
<?xml version="1.0"coding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
" http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd ">
<struts-config>
<!--FormBean — это концепция стоек. По сути, это JavaBean. Он используется для автоматического сохранения значений каждого поля в форме страницы и заполнения полей формы в соответствующее время. в request.getParameter ("fieldName"), как традиционный, часто используемый действиями в сопоставлениях действий -->;
<компоненты-формы>
<! — Позже мы добавим класс UserForm для хранения информации о пользователе. -->
<form-bean name="userForm" type="test.UserForm"/>
</form-beans>
<!--Здесь хранится глобальный прямой адрес, который может использоваться всей системой, аналогично window.location('index.jsp'); в JavaScript, а также аналогично различным кнопкам переключения каналов телевизора. настройка и т. д. — это поток управления веб-приложениями на базе Struts. В обычных обстоятельствах после обработки действия оно будет перенаправлено на страницу JSP для отображения. Это также ключевой момент реализации MVC в JSP. -->
<глобальные форварды>
<!--failed.cool будет рассматриваться как запрос сервлета, а соответствующая обработка действия будет найдена в сопоставлениях действий. -->
<forward name="failed" path="/failed.cool"/>
<forward name="regist" path="/regist.jsp"/>
</глобальные-форварды>
<!--Помните запрос с суффиксом Cool в web.xml? Их здесь лечат. Это эквивалентно части «Модель» в стойках. Часть «Модель» — более гибкое место в стойках. -->
<сопоставления действий>
<!--Для обработки запроса Register.cools используется FormBean userForm, который является классом test.UserForm. Если во время обработки возникает ошибка, возвращается index.jsp-->.
<action path="/regist" type="test.RegistAction" name="userForm"scope="request" input="/index.jsp" />
<action path="/overview" вперед="/hello.jsp"/>
<action path="/failed" вперед="/wuwu.jsp" />
</отображения-действий>
</struts-конфигурация>
3. Добавьте FormBean с путем к классу test.UserForm. Содержимое этого класса следующее:
package test;
импортировать org.apache.struts.action.ActionForm;
публичный класс UserForm расширяет ActionForm
{
Private String name="lpw";//Имя пользователя Private String ps="1111";//Пароль public UserForm(){}
public void setName(String s) {name=s;}
public String getName() {возвращенное имя;}
public void setPs(String s) {ps=s;}
публичная строка getPs() {return ps;}
}
4. Добавьте подкласс Action, путь к классу — Test. Содержимое этого класса следующее:
package test;
импортировать java.lang.reflect.IndictionTargetException;
импортировать java.util.Locale;
импортировать javax.servlet.ServletException;
импортировать javax.servlet.http.HttpServletRequest;
импортировать javax.servlet.http.HttpSession;
импортировать javax.servlet.http.HttpServletResponse;
импортировать org.apache.struts.action.Action;
импортировать org.apache.struts.action.ActionError;
импортировать org.apache.struts.action.ActionErrors;
импортировать org.apache.struts.action.ActionForm;
импортировать org.apache.struts.action.ActionForward;
импортировать org.apache.struts.action.ActionMapping;
импортировать org.apache.struts.util.MessageResources;
импортировать тест.UserForm;
публичный финальный класс RegistAction расширяет действие
{
общедоступное выполнение ActionForward (сопоставление ActionMapping, форма ActionForm, запрос HttpServletRequest, ответ HttpServletResponse)
бросает исключение
{
Локаль локаль = getLocale (запрос);
Сообщения MessageResources = getResources (запрос);
Сеанс HttpSession = request.getSession();
UserForm userform = (UserForm) форма;
//Здесь вы можете вызвать другие классы для выполнения записи базы данных или других логических решений //Если значение имени параметра, переданное UserForm, является значением lpw по умолчанию, произойдет ошибка.
// Это имя будет искаться для сопоставленного URL-адреса в <global-forwards> файла struts-config.xml // (это может быть абсолютный или относительный путь).
//Помнить? Все запросы с суффиксом «cool» передаются в сопоставления действий, чтобы найти // соответствующую обработку действий. Последний каталог — wuwu.jsp*/.
if( "lpw".equals(userform.getName()) )
return (mapping.findForward("не удалось"));
еще
return (mapping.findForward("regist"));
}
}
5. Все следующие новые или измененные страницы эквивалентны части просмотра в struts. Измените файл index.jsp домашней страницы на:
<%@ page contentType="text/html;charset=GBK" Language="java" %>.
<%@ page import = "test.*" %>
<a href="overview.cool">Навигация по сайту</a><br>
<form action="regist.cool" метод="post">
<!—Имя поля в форме должно совпадать с именем параметра в UserForm, чтобы данные можно было получить автоматически без использования request.getParameter("param");-->
Пользователь:<input type="text" name="name"><br>
Пароль: <input type="password" name="ps"><br>
<input type=submit value="Добавить пользователя">
</form>
6. Добавьте hello.jsp для навигации по сайту:
<h1>карта сайта</h1>Ниже представлено содержимое, заполняемое программой чтения.
7. Добавьте wuwu.jsp. Когда ни один новый пользователь не войдет в систему, он будет перенаправлен на этот сайт. Страница:
<%@ page contentType="text/html;charset=GBK" Language="java" %>
<jsp:useBean id="beanlpw" class="test.UserForm"scope="session"/>
Существующие пользователи: <%=beanlpw.getName()%><br>
Пароль: <%=beanlpw.getPs()%><br>
Новый пользователь не получен!
8. Добавьте файл Register.jsp. Когда новый пользователь войдет в систему, он будет перенаправлен на эту страницу:
<%@ page contentType="text/html;charset=GBK" Language="java" %>.
<jsp:useBean id="beanlpw" class="test.UserForm"scope="session"/>
Новая учетная запись пользователя: <%=beanlpw.getName()%><br>
Пароль: <%=beanlpw.getPs()%>
9. Запустите tomcat4, введите http://localhost:8080/test/index.jsp в браузере, запустите его, вы увидите результаты и сначала поймете M Части struts, V и C работают вместе. Конечно, это хорошее намерение автора. Если читатели запутались, укажите на ошибку:)