下载安装jdk(linux版本)
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
将下载的JDK通过xftp传到linux服务器上
通过指令tar -zxvf jdk-8u291-linux-aarch64.tar.gz 进行解压
配置java运行环境
通过指令sudo vim /etc/profile 在vim界面里输入i进入编辑,在末尾加上如下图java的配置环境,编辑完成后按esc键然后输入:wq!保存并退出
如果编辑错误不想保存可以直接:q!退出
export JAVA_HOME=/home/admin/java/jdk1.8.0_291 export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
下载安装tomcat
https://tomcat.apache.org/download-90.cgi
将下载的tomcat通过xftp传到linux服务器上
通过命令tar -zxvf apache-tomcat-9.0.45.tar.gz解压tomcat压缩包
tomcat的目录结构
bin:
bin目录主要是用来存放tomcat的命令
startup 用来启动tomcat
shutdown 用来关闭tomcat
conf:
conf目录主要是用来存放tomcat的一些配置文件
server.xml可以设置端口号、设置域名或IP、默认加载的项目、请求编码
http://h5test.inc.alipay.net:8080/
lib:
lib目录主要用来存放tomcat运行需要加载的jar包。
启动tomcat
logs:
logs目录用来存放tomcat在运行过程中产生的日志文件
temp:
temp目录用户存放tomcat在运行过程中产生的临时文件。
webapps:
webapps目录用来存放应用程序,当tomcat启动时会去加载webapps目录下的应用程序。可以以文件夹、war包、jar包的形式发布应用。
work:
work目录用来存放tomcat在运行时的编译后文件
开发服务器
访问servlet地址http://h5test.inc.alipay.net:8080/NebulaServlet
get和post请求服务器走统一方法
传参action=updateData
http://h5test.inc.alipay.net:8080/NebulaServlet?action=updateData
//接收自动化跑完上传的数据
protected void updateData(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html");
response.setCharacterEncoding("UTF-8");
response.setHeader("Access-Control-Allow-Origin", "*");
String apiAutoData = "";
InputStream is = request.getInputStream();
InputStreamReader isr = new InputStreamReader(is,"UTF-8");
BufferedReader br = new BufferedReader(isr);
String s = "";
while ((s = br.readLine()) != null) {
apiAutoData+=s;
}
if(apiAutoData==null || apiAutoData.equals("") || apiAutoData.equals(" ") || !apiAutoData.contains("apiAutoData"))
{
System.out.println("apiAutoData异常:"+apiAutoData);
return;
}
System.out.println(apiAutoData);
try {
File file = new File(pathFile);
if(!file.exists()) {
file.mkdirs();
}
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");
String dateNowStr = sdf.format(date);
System.out.println(dateNowStr);
FileWriter fw = new FileWriter(pathFile+"/"+dateNowStr+".json");
fw.write(apiAutoData);
fw.flush();
fw.close();
PrintWriter pw = response.getWriter();
pw.write(dateNowStr+".json");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
导出生成war文件
名字改为ROOT.war
Tomcat启动后,会默认访问webapps下面的ROOT目录,可以添加host来改变路径,完成自己目录的访问
开始修改Server.xml文件,使用notepad打开,<hosts> ......</hosts>中间添加一行:<Context path="" debug="0" docBase="firstweb" reloadable="true"/>,docBase即为文件夹名称,需要放到webapps下面,如果不是在webapps下面需要再添加详细路径
启动或者停止tomcat 提示运行的java环境和配置的不一样
解决方案:
因为你tomcat使用的环境变量是自己的或者是继承自当前用户的,所以在Linux里面不是说你设置了java_home就一定会使用这个,所以要么你都继承root的环境变量,都统一起来确保你的系统里面的环境变量都是使用的同一个,要么就单独指定要使用的jdk,
看下Tomcat的startup.sh,启动的时候它调用了catalina.sh,而catalina.sh则调用了setclasspath.sh。只要在setclasspath.sh声明环境变量就可以知道你这个tomcat使用哪个jdk,打开tomcat的bin目录下面的setclasspath.sh,添加上,路径自己修改,添加在开头就行
JAVA_HOME=/home/admin/java/jdk1.8.0_311
JRE_HOME=/home/admin/java/jdk1.8.0_311/jre