添加自定义注解
package org.book.configuration.aop; import java.lang.annotation.*; @Documented @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface NoCheckLogin { }
创建一个SpringMvcHandler 类,继承HandlerInterceptorAdapter
package org.book.configuration.Handler; import com.alibaba.fastjson.JSONObject; import lombok.extern.slf4j.Slf4j; import org.book.common.JsonResult; import org.book.configuration.aop.NoCheckLogin; import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.PrintWriter; import java.lang.reflect.Method; @Slf4j public class SpringMvcHandler extends HandlerInterceptorAdapter { public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3) throws Exception { } public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3) throws Exception { } public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { HandlerMethod hm = null; Method method = null; if(handler instanceof HandlerMethod) { hm = (HandlerMethod) handler; method = hm.getMethod();// 获取方法 } else { return true; } // 该方法是否添加 允许未登录访问注解 if (method !=null && method.isAnnotationPresent(NoCheckLogin.class)) { // 不拦截 return true; } String name = (String) request.getSession().getAttribute("user"); if (name != null) { return true; } else { response.setCharacterEncoding("UTF-8"); response.setContentType("application/json; charset=utf-8"); PrintWriter out = null; try { out = response.getWriter(); out.append(new JSONObject().toJSONString(JsonResult.renderFail("用户未登录")) ); }catch (Exception e){ out = response.getWriter(); out.append(new JSONObject().toJSONString(JsonResult.renderError("后台出错"))); log.info(e.getStackTrace().toString()); } return false; } } }
被@NoLoginCheck注解的方法不会被拦截在springmvc配置文件配置拦截路径和排除路径
<mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**"/> <mvc:mapping path="/"/> <mvc:mapping path="/index.jsp"/> <mvc:exclude-mapping path="/assets/**"/> <mvc:exclude-mapping path="/images/**"/> <bean class="org.book.configuration.Handler.SpringMvcHandler"></bean> </mvc:interceptor> </mvc:interceptors>
1)预处理preHandle()方法
用户发送请求时,先执行preHandle()方法。会先按照顺序执行所有拦截器的preHandle方法,一直遇到return false为止,比如第二个preHandle方法是return false,则第三个以及以后所有拦截器都不会执行。若都是return true,则执行用户请求的url方法。
2)后处理postHandle()
方法调用了Service并返回ModelAndView,但未进行页面渲染,可以在这里继续修改ModelAndView
3)返回处理afterCompletion()
方法已经渲染了页面,在afterCompletion中,可以根据ex是否为null判断是否发生了异常,进行日志记录。注:一般使用preHandle这个拦截器进行预处理,对url进行请求拦截
Comments | 13,292 条评论
博客作者 Beloraski
Очистка и покраска стен складов pobelka.su
Организация «МАРКАДА-Клининг» делает покраску эмалями, красками, грунтами, антибактериальными составами. Мы не только белим, мы также наводим чистоту. Перед любой покраски осуществляется детальное очищение всего объекта от загрязненностей, при чем не только видимых, но и химических, бактериальных и органических. Сделайте бесплатный расчет стоимости работ на Вашем объекте на сайте pobelka.su прямо сейчас.
По теме [url=https://pobelka.su/]побелка для стен[/url] вы на нужном пути. Постоянные наши проекты — это пространства для животноводства, птичники или свинарники. По скольку обитаемая обстановка весьма важна для выращивания скотины, нужно в установленные сроки выполнять ремонт и осуществлять уборку. Побелка горячей известью истребляет грибок, при том не причиняет ущерб животным. Также овощехранилища нуждаются во внимании и сохранении необходимой температуры, влажности и климате. Выбрав услугу побелки, вы значительно продолжите срок годности овощным плодам.
Мы расположены по адресу: г. Екатеринбург, ул. Вилонова, д. 33 А. Наш номер телефона +7(965)528-61-38 звоните и задавайте все вопросы. Опыт компании более 10 лет в представленной теме, а новейшие технологии позволяют работать без помехи для скота. Высококвалифицированный персонал совершает работы в самые короткие сроки. Осуществляем работу по всей РФ.
Что касается [url=https://pobelka.su/]побелка складов[/url] по России, рекомендуем нашу компанию. На веб портале pobelka.su Вы можете узнать много дополнительной информации о проделанной работе, также отзывы о нас и рекомендации от величайших сельхозпроизводителей Тюменской и Свердловской областей. Звоните, пишите, будем рады сотрудничать с Вами.
博客作者 Belkaprove
Ремонт цехов и складов по России pobelka.su
Фирма «МАРКАДА-Клининг» осуществляет покраску эмалями, красками, грунтами, антибактериальными спецсоставами. Мы не только побелка, в первую очень это-чистота. Перед любой покраски осуществляется детальное очищение полного объекта от загрязнений, при чем не только внешних, но и химических, бактериальных и органических. Закажите бесплатный расчет стоимости работ на Вашем объекте на сайте pobelka.su уже сегодня.
По вопросу [url=https://pobelka.su/]капитальный ремонт промышленных объектов[/url] вы на верном пути. Частые наши объекты — это пространства для животноводства, птичники или зернохранилища. По скольку обитаемая атмосфера весьма значима для содержания животных, необходимо вовремя делать ремонт и производить уборку. Побелка горячей известью уничтожает грибок, при том не наносит ущерб животным. Также овощехранилища ощущают нужду во внимании и обеспечении необходимой температуры, влажности и атмосфере. Выбрав услугу покраски, вы значительно продолжите срок жизни овощным плодам.
Мы расположены по адресу: г. Екатеринбург, ул. Вилонова, д. 33 А. Контактный телефон +7(965)528-61-38 звоните и задавайте все вопросы. Наш опыт более 10 лет в представленной теме, а новейшие технологии допускают работать без помехи для животных. Высококвалифицированный коллектив исполняет работы в самые быстрые сроки. Работаем по всей Российской Федерации.
Относительно [url=https://pobelka.su/]строительство промышленных зданий[/url] по России, советуем нашу компанию. На веб портале pobelka.su Вы можете узнать много интересной информации о предстоящей работе, также отзывы о нас и положительные рекомендации от величайших сельхозпроизводителей Тюменской и Ивановской областей. Звоните, оставляйте заявку, будем рады поработать с Вами.
博客作者 Andretig
Glock Pistols: Kattava yleiskatsaus
Luotettavuudestaan ja helppokäyttöisyydestään tunnetuista Glock-pistooleista on tullut sekä lainvalvonta- että siviilipiireissä perusvarusteita 1980-luvun alussa tapahtuneen käyttöönoton jälkeen. Nämä itävaltalaisen insinöörin Gaston Glockin suunnittelemat puoliautomaattiset käsiaseet tunnetaan yksinkertaisuudestaan, kestävyydestään ja suorituskyvystään erilaisissa olosuhteissa. Glockin polymeerirunkoinen muotoilu oli vallankumouksellinen, tarjoten kevyen mutta vankan tuliaseen, joka kesti äärimmäisiä lämpötiloja ja ankaria ympäristöjä. Yrityksen mallivalikoima palvelee erilaisia tarpeita, kompakteista versioista piilokannettaviksi täysikokoisiin vaihtoehtoihin työkäyttöön, joten Glock on monipuolinen valinta kaikentasoisille ampujille. Glock myynnissä.
Glock-läpäisy: Suorituskyky ja tarkkuus
Glock-pistoolien tunkeutumiskyky on toinen näkökohta, joka korostaa niiden suosiota. Korkealaatuisia materiaaleja ja tarkkaa suunnittelua hyödyntävät Glock-tuliaseet tarjoavat tasaisen suorituskyvyn eri ammustyypeillä. 9 mm:n mallit, erityisesti Glock 17 ja Glock 19, saavat laajalti kiitosta pysäytysvoiman ja hallittavan rekyylin tasapainosta, mikä tekee niistä sopivia sekä itsepuolustus- että lainvalvontasovelluksiin. Ballistisissa testeissä Glock-pistoolit ovat osoittaneet vaikuttavaa tunkeutumista esteiden, kuten lasien ja auton ovien, läpi säilyttäen samalla tarkkuuden, mikä osoittaa niiden tehokkuuden todellisissa skenaarioissa. Myydään Glock 17.
Turvaominaisuudet: Varmistetaan käyttäjien luottamus
Turvallisuus on ensiarvoisen tärkeää ampuma-aseissa, ja Glock on sisällyttänyt useita ominaisuuksia varmistaakseen korkeimman tason käyttäjän luottamuksen. Glock-pistoolit on varustettu "Safe Action" -järjestelmällä, joka sisältää kolme itsenäistä turvatoimintoa: liipaisinsuoja, laukaisuvarmistus ja pudotusvarmistus. Tämä rakenne varmistaa, että pistoolilla voidaan ampua vain, kun liipaisinta painetaan tarkoituksellisesti, mikä vähentää tahattoman purkauksen riskiä. Lisäksi Glockin huomio ergonomiseen muotoiluun auttaa ampujia säilyttämään turvallisen otteen ja paremman hallinnan, mikä lisää turvallisuutta käytön aikana. Myydään Glock 19. Olipa kyseessä henkilökohtainen suojaus, urheiluammunta tai ammattikäyttö, Glock-pistoolit tarjoavat luotettavan ja turvallisen vaihtoehdon ampuma-aseiden ystäville.
https://darkpistols.com/fi/
https://darkpistols.com/fi/shop/
https://darkpistols.com/fi/tuote/glock-17-myytavana-gen4-gen5/
https://darkpistols.com/fi/tuote/glock-19-myytavana/
https://darkpistols.com/fi/glock-17-vs-glock-19/
https://darkpistols.com/fi/tuote/glock-17l-myytavana-g17l-upouusi/
https://darkpistols.com/fi/tuote/glock-19x-myytavana/
https://darkpistols.com/fi/tuote/glock-20-myytavana-glock-20-gen-4-glock-20sf/
https://darkpistols.com/fi/tuote/glock-21-gen-4-glock-21sf/
https://darkpistols.com/fi/tuote/glock-22-myytavana-glock-22-gen-5/
https://darkpistols.com/fi/tuote/glock-23-myytavana/
https://darkpistols.com/fi/tuote/glock-24-myytavana-g24-uusi-laatikossa/
https://darkpistols.com/fi/tuote/glock-26-myytavana-glock-26-gen-5/
https://darkpistols.com/fi/tuote/glock-27-glock-27-gen-5/
https://darkpistols.com/fi/tuote/glock-29-myytavana-glock-29-gen-4-gen-5/
https://darkpistols.com/fi/tuote/glock-30-g30s-g30-gen4-g30-gen5/
https://darkpistols.com/fi/tuote/glock-36-myytavana/
https://darkpistols.com/fi/tuote/glock-40-gen-4-mos-glock-40-10mm-auto-glock-40-10mm-auto/
https://darkpistols.com/fi/tuote/glock-44-myytavana/
https://darkpistols.com/fi/tuote/glock-45-myytavana/
[url=https://darkpistols.com/fi/]glock myytavana[/url]
[url=https://darkpistols.com/fi/shop/]glock myytavana[/url]
[url=https://darkpistols.com/fi/tuote/glock-17-myytavana-gen4-gen5/]glock 17 myytavana[/url]
[url=https://darkpistols.com/fi/tuote/glock-19-myytavana/]glock 19 myytavana[/url]
[url=https://darkpistols.com/fi/glock-17-vs-glock-19/]glock 17 vs glock 19[/url]
[url=https://darkpistols.com/fi/tuote/glock-17l-myytavana-g17l-upouusi/]glock 17l myytavana[/url]
[url=https://darkpistols.com/fi/tuote/glock-19x-myytavana/]glock 19x myytavana[/url]
[url=https://darkpistols.com/fi/tuote/glock-20-myytavana-glock-20-gen-4-glock-20sf/]glock 20 myytavana[/url]
[url=https://darkpistols.com/fi/tuote/glock-21-gen-4-glock-21sf/]glock 21 gen 4 glock 21sf[/url]
[url=https://darkpistols.com/fi/tuote/glock-22-myytavana-glock-22-gen-5/]glock 22 myytavana[/url]
[url=https://darkpistols.com/fi/tuote/glock-23-myytavana/]glock 23 myytavana[/url]
[url=https://darkpistols.com/fi/tuote/glock-24-myytavana-g24-uusi-laatikossa/]glock 24 myytavana[/url]
[url=https://darkpistols.com/fi/tuote/glock-26-myytavana-glock-26-gen-5/]glock 26 myytavana[/url]
[url=https://darkpistols.com/fi/tuote/glock-27-glock-27-gen-5/]glock 27 gen 5[/url]
[url=https://darkpistols.com/fi/tuote/glock-29-myytavana-glock-29-gen-4-gen-5/]glock 29 myytavana[/url]
[url=https://darkpistols.com/fi/tuote/glock-30-g30s-g30-gen4-g30-gen5/]glock 30[/url]
[url=https://darkpistols.com/fi/tuote/glock-36-myytavana/]glock 36 myytavana[/url]
[url=https://darkpistols.com/fi/tuote/glock-40-gen-4-mos-glock-40-10mm-auto-glock-40-10mm-auto/]glock 40 gen 4 mos[/url]
[url=https://darkpistols.com/fi/tuote/glock-44-myytavana/]glock 44 myytavana[/url]
[url=https://darkpistols.com/fi/tuote/glock-45-myytavana/]glock 45 myytavana[/url]
博客作者 Beteraeso
Зарегистрировавшись на Betera, вы получаете возможность воспользоваться [url=https://bonusy-betera.ru/]Betera бонус при регистрации[/url]. Это предложение позволяет новым игрокам начать игру с дополнительными средствами и сделать свои первые ставки с уверенностью. Используйте этот бонус для успешного старта.
博客作者 Denniscoumb
In today’s digital lifetime, businesses are increasingly relying on specialized services to enhance their operational skilfulness and ameliorate decision-making processes. Two elevated models that be undergoing emerged are the Professional care archetypal and Software-as-a-Service (SaaS) model.
SaaS Maquette
SaaS refers to software that is hosted in the cloud and accessed via the internet. This model eliminates the need on the side of businesses to introduce and contend software, allowing them to heart on their pith operations. Cue advantages subsume:
Analytics Care
Analytics services put on a vital r“le in helping organizations interpret data and force data-driven decisions. These services can offer insights into patron behavior, call trends, and operational efficiency. They typically take in:
Freelance Analytics
The arise of far-off career has led to an increase in freelance analytics professionals. Businesses can engage freelance analysts in search spelt projects or developing needs without the aloft costs of full-time employees. Benefits take in:
Conclusion
In epitome, the growing dependence on services, SaaS, analytics services, and freelance analytics reflects the need as businesses to habituate in a like a shot changing landscape. By means of leveraging these models, organizations can optimize their processes, recuperate valuable insights, and make a case for a competitive incisiveness in their special industries.
博客作者 Beterandq
Среди множества предложений на рынке, [url=https://betera-bonusy.ru/]бонус Бетера[/url] выделяется своими выгодными условиями. Этот бонус позволяет игрокам получить дополнительные средства для игры, что увеличивает их шансы на выигрыш. Не упустите возможность воспользоваться этим предложением и получить преимущество на старте.
博客作者 Dimachind
[url=https://buycloned-cards.buyclonedcards.work]https://buycloned-cards.buyclonedcards.work[/url] Cloned paypal acc
Item 01 Card Total Balance: $3 100 – Price $ 110.00
Item 03 Cards Total Balance $9 600 – Price $ 180.00
Item PayPal Transfers $500 – Price $ 49.00
Item PayPal Transfers $2000 – Price $ 149.00
Item Western Union Transfers $ 1000 – Price $ 99.00
Item Western Union Transfers $ 300 – Price $ 249.00
*Prices on the website may vary slightly
[url=https://buycloned-cards.buyclonedcards.work]https://buycloned-cards.buyclonedcards.work[/url] Shop Hacked paypal
博客作者 Beterarkg
Платформа Betera предлагает своим пользователям разнообразные [url=https://bonus-ot-betera.ru/]Betera бонусы[/url], которые делают игру еще более увлекательной и выгодной. Благодаря таким предложениям, игроки могут значительно увеличить свои шансы на успех и получить дополнительные средства для ставок.
博客作者 pobelka.su
Известь для побелки складов pobelka.su
Организация «МАРКАДА-Клининг» осуществляет покраску эмалями, водоэмульсионными красками, грунтами, антибактериальными составами. Мы не только побелка, в первую очень это-чистота. Перед любой покраски осуществляется детальное очищение полного объекта от загрязнений, при чем не только визуальных, но и химических, бактериальных и органических. Оформите бесплатный подсчет стоимости работ на Вашем складе на сайте pobelka.su прямо сегодня.
По запросу [url=https://pobelka.su/]строительство промышленных зданий[/url] вы на правильном пути. Постоянные наши объекты — это пространства для животноводства, овощеводства или свинарники. По скольку окружающая обстановка весьма значима для выращивания скотины, необходимо вовремя исполнять ремонт и производить уборку. Побелка горячей известью истребляет грибок, при том не наносит ущерб животным. Также овощехранилища ощущают нужду во внимании и поддержании нужной температуры, влажности и климате. Заказав услугу побелки, вы ощутимо продлите срок жизни овощам.
Мы расположены по адресу: г. Екатеринбург, ул. Вилонова, д. 33 А. Наш номер телефона +7(965)528-61-38 звоните и задавайте все возникшие вопросы. Опыт компании более 10 лет в указанной области, а новейшие технологии разрешают работать без помехи для животных. Квалифицированный персонал выполняет работы в самые быстрые сроки. Работаем по всей России.
Касательно [url=https://pobelka.su/]побелка складов[/url] по России, рекомендуем данную компанию. На сайте pobelka.su Вы можете узнать множество дополнительной информации о нашей работе, также комментарии о нас и положительные рекомендации от крупнейших сельхозпроизводителей Тюменской и Свердловской областей. Звоните, оставляйте заявку, будем рады сотрудничать с Вами.
博客作者 pobelka.su
Побелка складов pobelka.su
Компания «МАРКАДА-Клининг» делает покраску эмалями, красками, грунтами, антибактериальными спецсоставами. Мы не только побелка, в первую очень это-чистота. Перед каждой покраски происходит детальное очищение всего объекта от загрязненностей, при чем не только внешних, но и химических, бактериальных и органических. Сделайте бесплатный расчет стоимости работ на Вашем объекте на сайте pobelka.su уже сегодня.
По запросу [url=https://pobelka.su/]ремонт промышленных зданий[/url] вы на нужном пути. Частые наши проекты — это помещения для животноводства, птичники или зернохранилища. По скольку обитаемая обстановка весьма значима для выращивания животных, необходимо вовремя исполнять ремонт и производить уборку. Побелка горячей известью разрушает грибок, при том не наносит ущерб животным. Также овощехранилища нуждаются во внимании и сохранении необходимой температуры, влажности и климате. Заказав услугу покраски, вы ощутимо продлите срок жизни овощным плодам.
Мы находимся по адресу: г. Екатеринбург, ул. Вилонова, д. 33 А. Наш контактный телефон +7(965)528-61-38 звоните и задавайте все оставшиеся вопросы. Наш опыт более 10 лет в данной сфере, а новейшие технологии позволяют работать без вреда для животных. Профессиональный коллектив исполняет работы в самые быстрые сроки. Работаем по всей Российской Федерации.
Касательно [url=https://pobelka.su/]ремонт промышленных объектов[/url] по России, советуем нашу компанию. На веб портале pobelka.su Вы можете узнать много интересной информации о предстоящей работе, также отзывы о нас и рекомендации от величайших сельхозпроизводителей Тюменской и Ивановской областей. Звоните, оставляйте заявку, будем рады сотрудничать с Вами.
博客作者 Beteraqfn
Этот [url=https://kak-poluchit-bonus-betera.ru/]сайт[/url] станет вашим надежным помощником в мире ставок. Здесь вы найдете информацию о последних предложениях и акциях, а также получите доступ к полезным материалам, которые помогут вам сделать правильный выбор и добиться успеха в игре.
博客作者 pobelka.su
Известковая побелка pobelka.su
Организация «МАРКАДА-Клининг» осуществляет покраску эмалями, водоэмульсионными красками, грунтами, антибактериальными спецсоставами. Мы не только белим, мы также наводим чистоту. Перед каждой покраски осуществляется тщательное очищение всего объекта от загрязненностей, при чем не только внешних, но и химических, бактериальных и органических. Сделайте бесплатный подсчет прейскуранта работ на Вашем объекте на сайте pobelka.su уже сегодня.
По вопросу [url=https://pobelka.su/]очистка потолка[/url] вы на верном пути. Частые наши проекты — это помещения для животноводства, птичники или зернохранилища. По скольку обитаемая среда очень значима для выращивания животных, необходимо в установленные сроки совершать ремонт и делать уборку. Побелка горячей известью истребляет грибок, при том не причиняет ущерб животным. Также овощехранилища ощущают нужду во внимании и обеспечении запрашиваемой температуры, влажности и атмосфере. Выбрав услугу покраски, вы основательно продолжите срок годности овощным плодам.
Мы расположены по адресу: г. Екатеринбург, ул. Вилонова, д. 33 А. Наш номер телефона +7(965)528-61-38 звоните и задавайте все возникшие вопросы. Наш опыт более 10 лет в представленной теме, а новые технологии допускают работать без помехи для скота. Профессиональный штат выполняет работы в самые короткие сроки. Работаем по всей Российской Федерации.
Что касается [url=https://pobelka.su/]побелка потолка[/url] по России, рекомендуем нашу компанию. На веб портале pobelka.su Вы прочтёте много дополнительной информации о предстоящей работе, также отзывы о нас и рекомендации от величайших сельхозпроизводителей Тюменской и Ивановской областей. Звоните, оставляйте заявку, будем рады поработать с Вами.
博客作者 Gregorykit
Обменник криптовалют – это платформа, что разрешает юзерам перекидывать одно криптовалюту сверху прочую. Обменники крипты заделываются все сильнее популярными благодаря тому что они приемлемы хронически онлайн равно смогут осуществить обмен USDT TRC20 на Приват24. Любой юзер веба может реализовать нужную сделку также вытребовать сверху выходе обмен USDT сверху чистые деньги на Киеве. Обменники смогут толкать яко централизованными, яко а также децентрализованными, яко влияет на ярус ихний безопасности а также комиссии.
Плюсы размена криптовалюты на режиме он-лайн
Основополагающими преимуществами онлайн обмена криптовалюты представляются: https://chk.lmu.edu.ng/2017/08/20/suitable-theme-for-hospital-and-medical-purposes/?unapproved=67680&moderation-hash=ee3aec82bc4ed29103f019ce431c89db#comment-67680
Аспекты выбора надежного обменника криптовалют
При предпочтении обменника криптовалют стоит сконцентрировать чуткость сверху несколько основополагающих моментов: https://summersaltyoga.com/blog/new-moon-ceremony-set-intentions-universe/?unapproved=468201&moderation-hash=6d5296d374d406d0f6c67f3929a812ce#comment-468201
Произвести обмен криптовалюты в течение Украине
Украина зовет юзерам яркий выбор площадок для размена криптовалют. Обменники криптовалюты на Украине нацелены на тутошние деяния, такие как обмен USDT TRC20 сверху Приват24, (а) также поэтому обладают сильнее низкой комиссией. Энтимема орудий с Украинских обменников также страсть составляет особого работы.
Яко закономерно реализовывать обмен криптовалюты
Как онлайн обменники криптовалют обеспечивают энергобезопасность родных посетителей
Энергобезопасность возникает одной из генеральных попечений пользователей. Чтоб уменьшать опасности, используйте вытекающие рекомендации:
С общее направление времени рынок криптовалют час от часу меняется, а также обменники тоже адаптируются буква новым условиям. Установки, которые находиться под наблюдением в течение среде онлайн размена, подключают:
博客作者 Beteradxu
Платформа Betera предлагает своим пользователям разнообразные [url=https://bonus-ot-betera.ru/]Betera бонусы[/url], которые делают игру еще более увлекательной и выгодной. Благодаря таким предложениям, игроки могут значительно увеличить свои шансы на успех и получить дополнительные средства для ставок.
博客作者 купить металлические ворота с калиткой
По вопросу [url=https://vorota-38.ru/]подвесные откатные ворота[/url] вы на верном пути. Можно увидеть наши готовые проекты на веб портале vorota-38.ru или оставьте свой комментарий. Беремся за совершенно любой проект и готовы изготовить его со всеми желаниями заказчика предельно качественно.