加入收藏 | 设为首页 | 会员中心 | 我要投稿 百客网 - 百科网 (https://www.baikewang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

[bigdata-042]从头搭建 spring+mvc+boot+tomcat

发布时间:2020-12-25 02:19:20 所属栏目:大数据 来源:网络整理
导读:1. 需求 1.1 在spring.io下载一个spring mvc的demo,能运行成功。 1.2 按照自己的理解,重写这个例子,并做适当修改,运行成功。 1.3 将这个例子打包成war包,放到tomcat运行成功。 2. 在spring.ip下载spring mvc并运行 2.1 spring的例子在 http://spring.io
副标题[/!--empirenews.page--]


1. 需求
1.1 在spring.io下载一个spring mvc的demo,能运行成功。
1.2 按照自己的理解,重写这个例子,并做适当修改,运行成功。
1.3 将这个例子打包成war包,放到tomcat运行成功。


2. 在spring.ip下载spring mvc并运行
2.1 spring的例子在 http://spring.io/guides/gs/serving-web-content/
2.2 下载例子
?? ?git clone https://github.com/spring-guides/gs-serving-web-content.git
2.3 将例子编译成可执行jar包
?? ?cd into gs-serving-web-content/initial
?? ?按照这个例子流程,将相关java文件和html模板文件编辑好。然后执行编译。
?? ?./mvnw clean package
?? ?
2.4 执行
?? ?java -jar target/gs-serving-web-content-0.1.0.jar

2.5 在浏览器地址输入http://localhost:8080/greeting,能看到结果。

2.6 注意观察编译和执行过程,如果发现有报错,检查原因。在编译时发现.m2目录下内嵌的tomcat的jar包出错了,删除这些jar然后重新编译。


3. 修改这个例子
3.1 命令如下:
mkdir myspringweb
mkdir -p src/main/java/hello
vim src/main/java/hello/Application.java
vim src/main/java/hello/GreetingController.java
mkdir -p src/main/resources/templates
vim src/main/resources/templates/greeting.html

3.2 Application.java内容如下

package hello;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;

@SpringBootApplication
public class Application extends SpringBootServletInitializer{

    public static void main(String[] args){
        SpringApplication.run(Application.class,args);
    }
    
}



3.3 GreetingController.java内容如下

package hello;


import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

@Controller
public class GreetingController{
	@RequestMapping("/greeting")
	public String greeting(@RequestParam(value="name",required=false,defaultValue="world") String name,Model model){
		model.addAttribute("name",name);
 		return "greeting";
	}
}




3.4 greeting.html内容如下

<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
  <head>
    <title>Greeting started</title>
    <meta http-equiv="Content-Type" content="text/html; chareset=UTF-8"/>
  </head>

  <body>
    <p th:text="'hello,'+${name}+'!'"/>
  </body>
</html>

3.6 pom.xml的内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.springframework</groupId>
    <artifactId>myspringweb</artifactId>
    <version>0.1.0</version>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.1.RELEASE</version>
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
        </dependency>
    </dependencies>

    <properties>
        <java.version>1.8</java.version>
    </properties>


    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>



3.5 编译
mvn clean package
提示找不springApplicaiton

mvnw clean pacakge
错误: 找不到或无法加载主类 org.apache.maven.wrapper.MavenWrapperMain
解决方式: 将运行正常的那个项目的root目录下的.mvn目录完整复制到本项目下既可。

3.6 运行
java -jar target/myspringweb-0.1.0.jar

3.7 在浏览器输入localhost:8080/greeting,能看到helloworld,功能ok



4. 将3.的项目打包成war包

4.1 参考文档
http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#build-tool-plugins-maven-packaging
http://blog.csdn.net/javahighness/article/details/52515226

4.2 根据4.1的第二个文档修改,在pom.xml里,增加<packaging>和<dependency>,以及修改Application.java


4.3 pom.xml内容如下

(编辑:百客网 - 百科网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!