前言
现在我们要在Windows系统上写完项目编译后,发布到linux服务端。
1、开发工具IntelliJ IDEA
2、SFTP传输(IntelliJ IDEA已经集成了sftp)
实践
下面让我们写一个HelloWorld程序来实践下。
一、项目结构与代码
1、我的项目目录结构
2、HelloWorld.java源码
package com.yfw;
// 导入必需的 java 库
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
// 扩展 HttpServlet 类
public class HelloWorld extends HttpServlet {
private String message;
public void init() throws ServletException
{
// 执行必需的初始化
message = "Hello World";
}
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
// 设置响应内容类型
response.setContentType("text/html");
// 实际的逻辑是在这里
PrintWriter out = response.getWriter();
out.println("<h1>" + message + "</h1>");
}
public void destroy()
{
// 什么也不做
}
}
3、index.jsp源码
<%--
Created by IntelliJ IDEA.
User: Administrator
Date: 2019\8\10 0010
Time: 14:32
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>测试</title>
</head>
<body>
我是HelloWorld主页
</body>
</html>
4、web.xml源码
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>com.yfw.HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/HelloWorld</url-pattern>
</servlet-mapping>
</web-app>
二、项目配置
打开项目设置
配置java编译后的class文件输出路径
设置热部署
在 Java Web 开发中, 一般更新了 Java 文件后要手动重启 Tomcat 服务器, 才能生效, 有印象没?我是真的遇到过,当时用的编辑器是eclipse,使用的服务器好像是jboss,浪费不少生命啊, 你如上配置的话, 不论是更新 class 类,css文件,html文件,js文件,还是更新 Spring 配置文件都能做到立马生效,大大提高开发效率。热部署省去了重启tomcat的时间。
配置sftp
1、打开Deployment配置
2、配置sftp,并测试连接是否成功。
3、要同步的目录路径设置
下面的配置是:
把本地的C:\Users\Administrator\Desktop\Intellij_Project\out\artifacts\Intellij_Project_war_exploded 目录和服务器的
/opt/tomcat/webapps/sshtest目录同步。
编译并同步到服务器
1、点击锤子图标,编译项目
2、同步编译后的文件到服务器
选择sshtest进行同步
访问你的服务器(可以看到项目已经同步到了服务器):