Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > start page


Автор: goodday1941 17.2.2008, 14:09
в общем вопрос состоит в следующем.. есть вот у меня dispatcher-servlet.xml:
Код

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

    <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="mappings">
            <props>
                <prop key="/index.htm">searchController</prop>
                <prop key="/update.htm">updateController</prop>
            </props>
        </property>
    </bean>

    <bean id="searchController" class="controller.SearchController">
        <property name="dataService" ref="dataService" />
        <property name="sessionForm" value="true"/>
        <property name="commandName" value="searchForm"/>
        <property name="commandClass" value="form.SearchForm"/>
        <property name="formView" value="index"/>
        <property name="successView" value="index.htm"/>
    </bean>

    <bean id="updateController" class="controller.UpdateController">
        <property name="updateService" ref="updateService" />
    </bean>

    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/jsp/"/>
        <property name="suffix" value=".jsp"/>
    </bean>
</beans>


и web.xml:
Код

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
         version="2.4">
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/applicationContext.xml</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>*.htm</url-pattern>
    </servlet-mapping>
    <filter>
        <filter-name>charsetFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>charsetFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>


как мне сделать так, что бы когда я в браузере запрашивал mydomen.com у меня шло обращение к searchController?

Автор: makados 17.2.2008, 15:42
в web.xml в конце добавь:

<welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
 </welcome-file-list>

содержание index.jsp:

Код

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<%-- we cannot set welcome-file to virtual url --%>

<c:redirect url="/index.htm"/>


должно работать. 

Автор: goodday1941 17.2.2008, 17:46
мм.. это конечно выход... но хочется чегото более изящного...
что то по типу, если я в меппинге пропишу:
  
Код

<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="mappings">
            <props>
                <prop key="/index.htm">searchController</prop>
                <prop key="/">searchController</prop>
                <prop key="/update.htm">updateController</prop>
            </props>
        </property>
    </bean>


то при запросе с браузера http://www.mydomen.com, оно бы обратилось к searchController, но так оно не пашет к сожелению smile
(пробовал так же писать  <prop key="/*">searchController</prop> но получат тот же результат :( )

Автор: Kangaroo 17.2.2008, 19:01
Цитата(goodday1941 @  17.2.2008,  16:46 Найти цитируемый пост)
мм.. это конечно выход... но хочется чегото более изящного...

Не получиться, makados правильно написал:

Цитата(makados @  17.2.2008,  14:42 Найти цитируемый пост)
<%-- we cannot set welcome-file to virtual url --%>


То есть велком-файлы могут быть только реальные файлы, а не маппинги. Это единственный способ.

Автор: v2v 17.2.2008, 20:27
дык. так при входе и будет обрабатыватся searchController , у тебя же редирект сразу на него и перебросит ...

Автор: ivg 17.2.2008, 22:22
goodday1941, 
Цитата(goodday1941 @  17.2.2008,  17:46 Найти цитируемый пост)
но так оно не пашет к сожелению

что то мне подсказывает, что
Цитата(goodday1941 @  17.2.2008,  17:46 Найти цитируемый пост)
при запросе с браузера http://www.mydomen.com,

до Spring'а дело не доходит.  smile и отрабатывает дефолтный сервлет.
Попробуйте добавить в web.xml
Код

<servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

Как вариант. Правда в таком сервлет-маппинге есть тонкости и возможно специфика конкретного контейнера.

Автор: goodday1941 18.2.2008, 22:44
2 v2v:
это понятное дело... но через редирект... как то без него хочется

2 ivg:
попробуемс такой вариант

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)