В блоге рассказывается об использовании перехватчиков в форме демонстрации
Структура проекта показана на рисунке:
Необходимая JAR: для конфигурации SpringMVC требуются банки и банки, необходимые для JSTL
Описание функции пакета SpringMVC:
Aopalliance.jar: Этот пакет является пакетом API API AOP, который содержит интерфейсы для аспектов. Обычно другие рамки, такие как пружина, которые имеют динамические функции ткачества, полагаются на эту банку
Spring-core.jar: этот файл JAR содержит основные классы основных инструментов инструментов Spring Framework. Все другие компоненты пружины должны использовать классы в этом пакете, который является основным ядром других компонентов. Конечно, вы также можете использовать эти классы инструментов в своей собственной системе приложений.
Внешняя зависимость
Spring-beans.jar: этот файл JAR используется всеми приложениями. Он включает доступ к файлам конфигурации, создание и управление бобами и выполнение инверсии управления /
Операции впрыскивания зависимости (IOC/DI) - все классы, связанные с. Если приложение требует только базовую поддержку IOC/DI, введите файлы Spring-core.jar и Spring-beans.jar.
Spring-aop.jar: этот файл JAR содержит класс и поддержку метаданных на уровне источника, необходимая при использовании функции Spring AOP в вашем приложении. Используйте весенние функции на основе AOP, такие как декларативное управление транзакциями, а также включите этот пакет JAR в приложение.
Внешние зависимости Spring-Core, (Spring-Beans, AOP Alliance, Cglib, Commons Attributes).
Spring-context.jar: Этот файл JAR обеспечивает много расширений для Spring Core. Все классы, необходимые для использования функции Spring ApplicationContext, можно найти, jdni
Все необходимые классы, инструментальные компоненты и связанные с ним классы для проверки проверки.
Внешняя зависимость пружинных бобов, (Spring-AOP).
Поддержка пружинного контекста: поддержка расширения пружинного контекста, используемая для MVC
Spring-Web.jar : Этот файл JAR содержит основные классы, необходимые для использования в Spring Framework во время разработки веб-приложений, включая классы, которые автоматически загружают функции контекста веб-приложения, классы интеграции Struts и JSF, классы поддержки для загрузки файлов, классы фильтров и большое количество вспомогательных классов инструмента.
Внешняя зависимость Spring-Context, API Servlet, (JSP API, JSTL, Commons FileUpload, COS).
Spring-Webmvc.jar: этот файл JAR содержит все классы, связанные с Spring MVC Framework. Включает сервлеты, веб -структуру MVC, контроллер и поддержку просмотра для фреймворка. Конечно, если в вашем приложении используется автономная структура MVC, вам не нужны какие -либо классы в этом файле JAR.
Внешняя зависимость пружина, (пружина, плитка, ITEXT, POI).
Spring-Aspects.jar: обеспечивает поддержку AspectJ, чтобы функции, ориентированные на аспект, могут быть легко интегрированы в IDE, такие как Eclipse AJDT.
Внешние зависимости.
Spring-jdbc.jar: этот файл JAR содержит все классы, которые инкапсулируют доступ к данным JDBC Spring.
Внешняя зависимость пружинные бобы, Spring-Dao.
Spring-test.jar: Простая инкапсуляция тестовых рамок, таких как Junit
Spring-TX.JAR: банка Spring для обработки транзакций TX
Spring-Expression.jar:
Напишите контроллер:
пакет com.mvc.action; Импорт javax.servlet.http.httpsession; Import org.springframework.sterotype.controller; Импорт org.springframework.web.bind.annotation.requestmapping; /** * Вход в систему аутентифицированного контроллера */@controller public class logincontrol {/** * login * @param session * httpsession * @param username * username * @param password * password * @return */@requestmapping (value = "/login") session.setattribute («Имя пользователя», имя пользователя); // перенаправление возврата "перенаправление: hello.action"; }/** * Выйти из системы * @param session * session * @return * @throws excection */@requestmapping (value = "/logout") public строка вернуть "перенаправление: hello.action"; }} Напишите перехватчик:
пакет com.mvc.interceptor; Импорт javax.servlet.http.httpservletrequest; Импорт javax.servlet.http.httpservletresponse; Импорт javax.servlet.http.httpsession; Импорт org.springframework.web.servlet.handlerinterceptor; Импорт org.springframework.web.servlet.modelandView; /*** Вход в систему с аутентификацией входа* /Общедоступный класс. ModelAndView возвращает*/public void poshandle (httpservlectrequest, httpservletresponse, обработчик объекта, модель и модель модели и выбросы исключения {}/***Этот метод вызывает до выполнения Handler*/public boolean prehandle (httpserveltrequest referfort exception expressemponse expressesponse). Url string url = request.getRequesturi (); //Url:login.jsp общедоступен; Эта демонстрация перехватывается, за исключением login.jsp, другие URL -адреса перехватываются if (url.indexof ("login.action")> = 0) {return true; } // Получить сеанс httpsession session = request.getSession (); String username = (string) session.getattribute ("username"); if (имя пользователя! = null) {return true; } // Если условия не соответствуют условиям, перейдите к интерфейсу входа в систему. вернуть ложь; }} Файл конфигурации SpringMVC:
<? xml version = "1.0" Encoding = "UTF-8"?> <Beans xmlns = "http://www.springframework.org/schema/beans" xmlns: aop = "http://www.springframework.org/schema/aop" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xmlns: context = "http://www.springframework.org/schema/context" xmlns: mvc = "http://www.sprame.sprame.sprame.sprame.sprmemema/xmlns: mvccememe. xsi: schemalocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd http://www.spramework.org/schema/aop http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/context/spring-context-4.0.x.0.x.0.x.0.x.0.x.x.0.x.0.x.0.x.0.x.0.x.0.x.0.x.0.x.x. http://www.springframework.org/schema/context/spring-context-4.0.xsd http://www.springframework.org/schema/mvc http://www.spramework.org/schema/mvc/spring-mv.x.0.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.s.s.srimeworkwork. component scan --> <!-- Scan the action, register it in the spring container, and automatically configure the action in the spring container --> <context:component-scan base-package="com.mvc.action" /> <!-- Project Handler <bean name="/hello.action"></bean> --> <!-- Processor Mapper HandlerMapping --> <bean/> <bean> <property name="messageConverters"> <list> <bean></bean> </list> </property> </bean> <!-- View Resolver --> <!-- Parse jsp, default support for jstl --> <bean> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property> <property name="prefix" value = "/web-inf/jsp/"/> <name = "суффикс" value = ". jsp"/> </bean> <!-В реальной разработке вам обычно нужно настроить метку MVC: аннотации. Этот тег должен включить аннотацию-> <MVC: Annotation-управляемая> </mvc: annotation-управляемая> <!-Interceptor-> <MVC: Interceptors> <!-множественные перехватыватели, выполненные последовательно-> <MVC: Interceptor> <MVC: Mapping Path = "/**"/> <Bean> </bean> </MVC: MVC: MVC: "/**"/> <Bean> </bean> </mvc: mvc: "/**"/> <bean> </bean> </mvc: "/**"/> <Bean> </bean> </mvc: "/**"/> <bean> </bean> </mvc: "/**". </mvc: Interceptors> </beans>
Интерфейс входа в систему:
<%@ page language = "java" import = "java.util.*" pageencoding = "utf-8"%> <%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix = "c"%> <%string path = request.getcontextpath (); String basePath = request.getScheme ()+": //"+request.getServername ()+":"+request.getServerport ()+path+"/"; %> <! Doctype html public "-// w3c // dtd html 4.01 transitional // en"> <html> <Head> <base href = "<%= basepath%>"> <зависимость> my jsp 'login.jsp' Начальная страница </tite> <meta http-equiv = "pragma" no-content "no-conte" no-content "№ http-equiv = "cache-control" content = "no-cache"> <meta http-equiv = "expires" content = "0"> <meta http-equiv = "Content" Content = ", ключевое слово1, ключевое слово3"> <meta http-equiv = "description". type = "text/css" href = "styles.css"> -> </head> <body> <form action = "$ {pagecontext.request.contextpath} /login.action" method = "post"> username: <input type = "text" name = "username"/> <br> пароль: <input tyle value = "login"/> </form> </body> </html> После успешного входа в систему, перейти к интерфейсу
Привет.jsp
<%@page language = "java" import = "java.util.*" pageencoding = "utf-8"%> <%@taglib uri = "http://www.springframework.org/tags" prefix = "spring"%> <%@taglib uri = "http://www.springframe.sframe. prefix = "form" %> < %@taglib uri = "http://java.sun.com/jsp/jstl/core" prefix = "c" %> < %string path = request.getContextPath (); String basePath = request.getScheme ()+": //"+request.getServername ()+":"+request.getServerport ()+path+"/"; %> <! Doctype html public "-// w3c // dtd html 4.01 transitional // en"> <html> <head> <base href = "<%= basepath%>"> <зависимый> my jsp 'hello.jsp' начальная страница </title> <meta http-equive = "pragma" noble = "no content =" no content = "no" no content = "no quepta-content =" no "no queptabe =" no content = "meta-equache =" http-equiv = "cache-control" content = "no-cache"> <meta http-equiv = "expires" content = "0"> <meta http-equiv = "Content" Content = ", ключевое слово1, ключевое слово3"> <meta http-equiv = "description". type = "text/css" href = "styles.css"> -> </head> <body> Текущий пользователь: $ {username} <c: if test = "$ {username! = null}"> <a href = "$ {pagecontext.request.contextpath} /logout.action"> exit </a> </a> $ </a> </a> $ </a> $ </a> </a> $ </a> </a> $ </a> $ </a> </a> $ </a> $ </a> $ </a> $ </a> </a> </t aiquest. </body> </html> Hellocontrol.java, я пишу это в форме Helloworld, и мне нужно изменить его в соответствии с проектом.
пакет com.mvc.action; Import org.springframework.sterotype.controller; Импорт org.springframework.ui.model; Импорт org.springframework.web.bind.annotation.requestmapping; // отметить этот класс как процессор обработчика @controller public class helloAction {@Requestmapping ("/hello") // Разработка URL -адреса, соответствующего этому классу управления, публичная строка Hello (Model Model) {String Message = "Springmvc"; // Добавить атрибут для модели модели.addattribute ("Сообщение", сообщение); вернуть "Привет"; } // public modelAndView handleRequest (httpservletrequest, // httpservletresponse response) Throws Exception {// // // Приглашение информации на странице // String Message = "Hello World!"; // // // отображать информацию на странице через объект запроса // //request.setattribute("message ", message); // // modelandView modelandView = new ModelAndView (); // // эквивалент request.setattribute (), передайте данные на страницу, чтобы отобразить // // модель данных // modelandView.addobject ("message", message); // // Установить представление // modelandView.setViewName ("hello"); // // return modelandView; //}} Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.