web项目移植到springboot项目中,再部署到阿里云服务器,出现的一些问题和解决方法
本地web项目,先将其移植到springboot项目中,再打包后放入阿里云服务器中运行。本地开发用的IDEA,springboot项目打包方式为jar包,阿里云提前部署好Tomcat服务器,用于外链访问图片资源,其中数据组件由OneNetView3.0可视化平台提供
一、web项目移植到springboot项目中
1.springboot各目录介绍
→ src/main/java:目录下放置所有的Java文件 → src/main/resources:用于存放所有的资源文件,包括静态资源文件、配置文件等 → src/main/resources/static:用于存放各类静态资源 → src/main/resources/templates:用于存放模板文件 → application.properties(application.yml):springboot项目配置文件 → src/test/java:放置单元测试类java代码。 → target:放置编译后的.class文件和配置文件等
2. web项目移植到springboot中,各个文件放置的位置
java程序放置如下: 标黄的为项目入口,这里没做修改; 标红色的为一些逻辑处理,事件监听等程序; 标灰色的为连接数据库、数据实体对象、以及德鲁伊连接池等。
注意文件放置的位置以防止访问不到
jsp文件,静态图片资源放置如下:
3. springboot项目添加第三方jar包(本地jar包)的方法
-
与src同级建立lib文件夹 -
把本地下载好的jar包放入lib文件夹下 -
按下图操作 -
在pom.xml 文件标签中加入对应包的标签,用到什么加什么,如下图以此类推 其中<systemPath>${project.basedir}/lib/包名</systemPath> ,其他随便填写
<dependency>
<groupId>com.pzf.utils1</groupId>
<artifactId>com.pzf.util1</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/commons-beanutils-1.8.3.jar</systemPath>
</dependency>
- 当打包时候可以顺带打包本地jar包,在pom.xml进行配置。特别注意maven打包的版本号,对打包时的JSP文件有影响
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.4.2.RELEASE</version>
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
4. Springboot 关于支持jsp文件的配置
- 首先得在pom.xml里面进行配置。顺带一起把web支持、servlet 依赖、jsp页面使用jstl标签、tomcat 的支持、用于编译jsp一起加上后面用
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
- 在如图位置创建所需文件,位置不能错
- 设置生成JSP文件,以webapp文件夹为例
- jsp文件创建好,在application.yml配置视图解析器,根据文件创建的实际路径写
spring:
mvc:
view:
prefix: /WEB-INF/waterjsp/
suffix: .jsp
- 项目打包成jar包,还需要将JSP文件打包进去,默认是不打包的,所以得在pom.xml里面进行下面的配置
<resource>
<directory>src/main/webapp</directory>
<targetPath>META-INF/resources</targetPath>
</resource>
- 使用
maven install 打包,或者直接点击下图打包,完成之后,用cmd命令启动jar包,然后访问该项目打开cmd命令后,输入 java -jar xxx.jar
5. springboot打包成jar包
可参考下面连接 springboot打包成jar包
6. springboot打包成war包
可参考下面连接 springboot打包成war包
7. 启动springboot项目,展示JSP页面
- 写一个控制器类 @Controller
这个类就是MVC模式里面的C。MVC设计模式:M(model)指模型,V(view)指视图层,C(controller)指控制层。 @Controller只是定义了一个控制器类,而使用 @RequestMapping 注解的方法才是处理请求的处理器。 - 通过访问
localhost:8090/a/water 就可以访问choosewater.jsp页面
8. springboot项目:数据从JSP到被监听的Java程序,以JSP的form表单为例
- 如图设置
- 这样就取出来自表单输入的信息,name
@RequestParam("watername")String name
9. springboot项目:数据从后端Java程序发到前端JSP页面
- 创建一个ModelAndView
- 如(2)设置跳转的jsp页面,如(3)设置加入的信息
- 在jsp中取出信息,这里用到JSP标准标签库
关于modelAndView的详解可以看这篇
二、Linux
10. liunx 通过Java -jar 命令后台启动和关闭Java 程序
- 当退出或关闭shell时,程序就会停止
java -jar xx.jar
- 当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行
java -jar xx.jar &
- 当账户退出或终端关闭时,程序仍然运行。所有输出被重定向到运行目录的 nohup.out的文件中
nohup java -jar xx.jar &
- 当账户退出或终端关闭时,程序仍然运行。所有输出被重定向到运行目录的自定义的canal-demo.log的文件中
nohup java -Xms256m -Xmx512m -jar xx.jar > catalina.out 2>&1 &
- 查询java进程
ps -ef|grep java
- 杀死进程
kill -9 xxx
10.图片上传到Linux服务器的指定路径后,如何以外链的形式访问图片呢?
-
提前在服务器下载解压好Tomcat -
把图片存在自己的一个目录中,随便哪都行 -
进入conf/server.html修改信息
Context docBase ="/home/watersystem/image/" path ="/image" debug ="0" reloadable ="true"/>
其中(1)处表示图片文件所在位置,(2)表示外链接访问的地址
- 启动tomcat
- 通过连接访问图片 xxx.xxx.xx.xx:8080/image/water.jpg
11.文件注意格式
- Windows
- Linux
|