在本文中,我们将给您介绍关于Tomcat新文件创建的实际路径的详细内容,并且为您解答tomcat新建项目的相关问题,此外,我们还将为您提供关于c–如何找到BFS找到的实际路径?、Docker部署tom
在本文中,我们将给您介绍关于Tomcat新文件创建的实际路径的详细内容,并且为您解答tomcat新建项目的相关问题,此外,我们还将为您提供关于c – 如何找到BFS找到的实际路径?、Docker部署tomcat+nginx+mysql,创建一个tomcat集群、IE下无法获取文件的实际路径问题、JavaWeb创建的文件夹默认在tomcat/bin中的知识。
本文目录一览:- Tomcat新文件创建的实际路径(tomcat新建项目)
- c – 如何找到BFS找到的实际路径?
- Docker部署tomcat+nginx+mysql,创建一个tomcat集群
- IE下无法获取文件的实际路径问题
- JavaWeb创建的文件夹默认在tomcat/bin中
Tomcat新文件创建的实际路径(tomcat新建项目)
如果在JSP页面中创建一个仅给出名称的新文件,则该文件是在TOMCAT文件夹的/ bin目录中创建的,而不是在.jsp的同一文件夹中创建的。
我不确定为什么会发生这种情况,似乎并不直观。
答案1
小编典典绝对直观,因为正在运行的进程的当前目录是bin文件夹。
您可以尝试如下操作:
ServletContext context = session.getServletContext();String realContextPath = context.getRealPath(request.getContextPath());
c – 如何找到BFS找到的实际路径?
每个节点最多可以连接到4个点,这很简单.这是我的想法
struct stop { int path,id; stoP* a; stoP* b; stoP* c; stoP* d;};
我可以编写代码来保存BFS所需的所有信息,以搜索所有要点,但我的主要关注点是,即使BFS找到正确的点,我如何知道它的路径?
BFS将搜索每个级别,当其中一个到达目的地时,它将跳出运行循环,然后我将获得一个访问队列和一个未访问的队列,我应该如何告诉用户他需要什么停止访问队列是否填满BFS搜索的每个节点时访问?
解决方法
您将在BFS的迭代期间填充此地图.
稍后 – 您可以通过简单地从目标节点[在地图中]重建路径,直到您回到源头,并且它是yor路径[当然…相反]
注意,如果枚举顶点,则可以将该映射实现为数组.
Docker部署tomcat+nginx+mysql,创建一个tomcat集群
Docker的部署可以选择虚拟机或者云服务器,我自己选择的是本机安装centos7虚拟机:
1.虚拟机安装登录成功后开始部署docker:
首先了解docker是一个开源应用容器引擎,基于Go语言遵循apache2.0协议,容器相当于一个沙箱,相互之间没有任何接口,自身性能开销极低,docker主要由镜像、容器和仓库组成。
yum install -y yum-utils device-mapper-persistent-data lvm2 curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun ----阿里云创建 systemctl enable docker ---开启自启动 ----------- 上面已经表示docker安装完毕,开始创建容器------------------------ docker pull daocloud.io/library/centos:latest ----拉取镜像下载,我选的是国内http://hub.daocloud.io/网站 docker run -itd --name train_camp_centos daocloud.io/library/centos:latest ---创建容器并命名 docker ps -a ----查看创建容器 2、这样就创建好了一个容器 3、接下来开始创建数据库MysqL docker pull daocloud.io/library/MysqL:5.7.5 ---拉取数据库安装 docker run -itd --name train_MysqL_575 -p 3336:3306 -e MysqL_ROOT_PASSWORD=123456 daocloud.io/library/MysqL:5.7.5 -----用镜像创建数据库端口映射并创建train_MysqL_575容器 通过docker exec -it train_MysqL_575 /bin/bash --------------进入MysqL 容器 MysqL -u root -p --------------- 进入数据库 MysqL> show databases; ---------------查看数据库 -------------------------------------------------------此时MysqL已经创建完毕------------------------------ 4、开始docker 搭建Tomcat: 有一些常用命令如下: docker restart name或者ID ----重启镜像 docker stop name ----关闭服务 docker rmi name ----删除镜像 docker rm -f name ----删除容器 下面开始安装tomcat docker pull daocloud.io/library/tomcat:8.5.16-jre8 -----下载tomacat包 docker run -itd --name tomcat_1 -p 8580:8080 daocloud.io/library/tomcat:8.5.16-jre8 ----- 创建 tomcat_1容器 默认端口8080 映射端口自己设置8580 然后项目包放进tomcat 首先本地上传war包可以用SecureFXPortable.exe这个工具 docker cp erp.war tomcat_1:/usr/local/tomcat/webapps ----把项目包erp.war拷贝到容器 docker exec -it tomcat_1 /bin/bash ----验证是否拷贝到容器 然后修改项目配置文件 docker cp tomcat_1:/usr/local/tomcat/webapps/erp/WEB-INF/classes/application.yml $PWD ----从容器里面拷贝东西出来 vim修改application.yml文件,只用修改开发环境下映射IP和端口,和登录密码
然后退出保存
docker cp application.yml tomcat_1:/usr/local/tomcat/webapps/erp/WEB-INF/classes/application.yml ---------------把修改的文件拷贝到容器中 配置文件修改后 要重启容器 docker restart tomcat_1 此时可以请求接口,数据库写入数据。基本上tomcat项目已经跑通。 重复此上步骤创建第二个tomcatx项目并命名tomcat_2 --------------------------------------------上述已经完成了tomcat项目,接下来安装Nginx创建集群---------------------------- docker pull daocloud.io/library/Nginx:1.13.0-alpine docker run -itd --restart always --name docker-Nginx -p 80:80 daocloud.io/library/Nginx:1.13.0-alpine -----创建容器 然后修改Nginx.conf配置文件 修改配置文件 Nginx.conf IP +端口 server-name=改成自己的主机IP 也可以是自己映射的域名 weight=1代表两个项目平均负载是50%
修改后复制到容器 docker cp Nginx.conf docker-Nginx:/etc/Nginx/Nginx.conf 重启容器 decker restart docker-Nginx 集群搭建完成
综上所有项目已经完成,可以进行一个小实践了
要注意的是:
微服务项目里的不同业务是不同的jar包,然后直接部署 java -jar **.jar包名 ,不需要用到tomcat,因为里面自带了tomcatIE下无法获取文件的实际路径问题
注:此代码在IE9无法正确运行。公司项目中,IE9无法获取input的文件对象,而且 同样无法找到createObjectURL方法。
因为IE的安全策略问题导致 type为file的input 的value无法获取到实际路径,这时候需要将转换一下
var file = $(this)[0].files[0];
var url = null;
if (window.createObjectURL != undefined) { // basic
url = window.createObjectURL(file);
} else if (window.URL != undefined) { // mozilla(firefox)
url = window.URL.createObjectURL(file);
} else if (window.webkitURL != undefined) { // webkit or chrome
url = window.webkitURL.createObjectURL(file);
}
return url;
经过一段时间的挣扎之后,我决定放弃纯html/js的实现,决定向flash妥协。现在用的一个插件是百度自己开发并使用的 webuploader ,使用还是比较简单的。说真的,我觉得还是放弃IE吧,微软自己都不愿意管IE了。
JavaWeb创建的文件夹默认在tomcat/bin中
系统项目中需要设置缓存目录,原本项目中的目录设置为D:/cache目录,这怎么成?于是手动改成了cache目录,原本想使用了相对路径,web项目能够把缓存路径设置到tomcat的webapp的具体项目中,谁知道项目启动后在web项目目录中根本找不到这个目录,什么原因?
原来这是java读取文件机制的问题,如果直接这样写路径new File("a.***"),那么tomcat就会从程序启动的地方去创建这个文件(Java项目中也是如此),那么web应用是从有tomcat来执行的,tomcat这个程序是从哪里启动文件是startup.bat,位置是tomcat/bin。
我们前面说了,普通java项目也是如此,从程序启动的地方创建文件,那么文件路径不会是JDK中bin路径吧?不是这样的,看实验结果:
1 package io.guangsoft.file;
2 import java.io.File;
3 public class CreateFile {
4 public static void main(String args[]) {
5 File file = new File("location.txt");
6 System.out.println(file.getAbsolutePath());
7 }
8 }
实验结果表明,默认的文件路径是eclipse项目路径,因为我们的项目从main函数启动,而main函数在eclipse项目中,同理web项目的启动入口main函数在tomcat的bin中的某个jar包。而jdk提供的仅是java运行程序不是真正的程序启动路径。
今天关于Tomcat新文件创建的实际路径和tomcat新建项目的分享就到这里,希望大家有所收获,若想了解更多关于c – 如何找到BFS找到的实际路径?、Docker部署tomcat+nginx+mysql,创建一个tomcat集群、IE下无法获取文件的实际路径问题、JavaWeb创建的文件夹默认在tomcat/bin中等相关知识,可以在本站进行查询。
本文标签: