пытаясь перейти с весеннего MVC на весенний ботинок - PullRequest
0 голосов
/ 26 декабря 2018

У меня есть проект Spring mvc, и я хочу преобразовать его в загрузочный.Поэтому я изменил в проекте:

Файл POM:

    <modelVersion>4.0.0</modelVersion>
    <groupId>spring-boot</groupId>
    <artifactId>spring-boot</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>    
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.9.RELEASE</version>
    </parent>    
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <java.version>1.8</java.version>
        <start-class>com.ApplicationStartup</start-class>
    </properties>    
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>    
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.hibernate</groupId>
                    <artifactId>hibernate-entitymanager</artifactId>
                </exclusion>
            </exclusions>
        </dependency>    
        <dependency>
            <groupId>net.sf.jasperreports</groupId>
            <artifactId>jasperreports</artifactId>
            <version>6.4.0</version>
        </dependency>    
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
        </dependency>    
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
            <scope>provided</scope>
        </dependency>    
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>    
        <dependency>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcprov-jdk15on</artifactId>
            <version>1.49</version>
            <optional>true</optional>
        </dependency>    
        <dependency>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcpkix-jdk15on</artifactId>
            <version>1.49</version>
            <optional>true</optional>
        </dependency>    
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>    
        <dependency>
            <groupId>org.apache.santuario</groupId>
            <artifactId>xmlsec</artifactId>
            <version>1.5.1</version>
            <optional>true</optional>
        </dependency>    
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-taglibs</artifactId>
        </dependency>    
        <dependency>
            <groupId>postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <version>9.1-901.jdbc4</version>
        </dependency>    
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
            <scope>provided</scope>
        </dependency>
    </dependencies>
    <build>
        <sourceDirectory>src</sourceDirectory>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

Класс запуска (основной):

enter image description here

Только эти изменения я сделал.Использование этого приложения запускается, но приложение не открыто.Я хочу открыть JSP в качестве файла приветствия.

Структура каталогов проекта:

enter image description here

Итак, как вызвать jsp при загрузке Spring на основе моего кода или шагов миграции Spring MVCв загрузку на основе моей структуры проекта.Заранее спасибо.Используя этот код, я получил вывод, как это: enter image description here

Ответы [ 2 ]

0 голосов
/ 26 декабря 2018

Spring Boot: разработка веб-приложений .Features

При преобразовании формы проекта Spring MVC Applcaiotn в приложение Spring BOOT,вам нужно выполнить следующие шаги.

  • Во-первых, нам нужно развернуть файл war на сервере, чтобы обслуживать приложение.Где Spring Boot поставляется с сервером Embed Tomcat.Таким образом, необходимо создать файл войны для развертывания.Он автоматически использует сервер встраивания и серверы приложения.
  • Вторым преимуществом является отсутствие необходимости использования XML configuration использует только Java Configuration.Таким образом, нет необходимости использовать файл web.xml, мы можем устранить его.

Для страницы приветствия «Сначала он ищет файл index.html в настроенных статических местах .Если он не найден, он ищет шаблон индекса.ResourceUrlEncodingFilter, который автоматически настраивается для Thymeleaf и FreeMarker.

Для JSP необходимо настроить шаблон jsp как InternalResourceViewResolverЭтот ViewResolver позволяет нам задать такие свойства, как prefix или suffix для имени представления, чтобы сгенерировать окончательный URL страницы просмотра.src/main/resources/templates |src/main/webapp/WEB-INF

@Configuration
public class JspViewResolverConfig {
    @Bean
    public ViewResolver jspViewResolver() {
        InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();

        viewResolver.setViewClass(JstlView.class);
        viewResolver.setPrefix("/WEB-INF/pages/");
        viewResolver.setSuffix(".jsp");
        viewResolver.setContentType("text/html");

        return viewResolver;
    }
}
0 голосов
/ 26 декабря 2018

-Это не полный / точный ответ на ваш вопрос-

Я выполнил переход с весны на загрузку пружины для различных проектов.Исходя из моего опыта, я бы предложил создать простое приложение с весенней загрузкой, а затем перенести необходимые вещи во вновь созданное приложение.Так что это будет чистый код без каких-либо нежелательных файлов / зависимостей.

Например, следующая структура папок: src/com/..class files here и src/main/java, который кажется пустым.Где, как при весенней загрузке, ваши файлы классов будут только в src/main/java.Существует путь по умолчанию для каждой директории, такой как resources, статические файлы, properties, test и т. Д.

Вы можете создать простое приложение для весенней загрузки (вы можете скачать zip-файл) https://start.spring.io/ здесь.Пожалуйста, не забудьте добавить необходимые зависимости в предоставленном текстовом поле.И затем запустите его успешно с примером бла-бла, что бы они ни предоставили.

Если вы создадите spring-boot непосредственно из вашего старого проекта, то там будет так много нежелательных файлов и зависимостей, которые вы, наконец, не сможетеопределить, действительно ли это требуется или нет.Кроме того, структура по умолчанию будет отличаться, и да, обслуживание будет очень утомительной задачей.Кроме того, если вы будете использовать тот же проект, вы будете продолжать получать другие ошибки / проблемы, подобные этой (ваша проблема jsp).

Сначала вы можете почувствовать это как утомительную задачу (метод, который яупомянуто выше), но это будет легко для вас, когда вы начнете использовать его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...