上传图片【应用服务器与文件服务器(图片)分离】
2015-11-06 17:32
190 查看
前提:需要二个服务器 修改端口号实现一台电脑二个服务器
在apache-tomcat-7.0.62 -1\conf 目录下修改 service.xml文件 修改三处红色标记的地方
1. <Server port="8006" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.startup.VersionLoggerListener" />
2. <Connector port="8888" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
3. <Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />
---------------------------------------------------------------------------------------------------------------
1.模拟应用服务器(客户端)
所需要的包名
commons-io-1.3.2.jar
jersey-client-1.8.jar
jersey-core-1.8.jar
2.创建一个web工程
3.在web工程下新建一个upload文件夹
4.在service的 tomcat中的web.xml文件新增一个参数(未改报 403)
<init-param>
<param-name>readonly</param-name>
<param-value>false</param-value>
</init-param>
5.注意:在项目中未启动服务器的时候将发布路径改成新的服务器所在的webapps下
详情见图片
//java项目
public static void main(String[] args) {
// 图片名称生成(用时间代替)
DateFormat dFormat = new SimpleDateFormat("yyyyMMddHHmmssSSS");
// 图片名称后部分
String format = dFormat.format(new Date());
// 生成随机数三位数
Random random = new Random();
for (int i = 0; i < 3; i++) {
format += random.nextInt(10);
}
// 保存到数据库
String path = "upload/" + format + ".jpg";
// 实例化一个 Jersey
Client client = new Client();
// 另一台服务类的请求路径是?
String url = "http://localhost/web-test/" + path;
// 设置请求路径
WebResource resource = client.resource(url);
try {
byte[] buf = FileUtils.readFileToByteArray(new File("D:\\123456.jpg"));
resource.put(String.class,buf);
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("发送完毕");
}
在apache-tomcat-7.0.62 -1\conf 目录下修改 service.xml文件 修改三处红色标记的地方
1. <Server port="8006" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.startup.VersionLoggerListener" />
2. <Connector port="8888" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
3. <Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />
---------------------------------------------------------------------------------------------------------------
1.模拟应用服务器(客户端)
所需要的包名
commons-io-1.3.2.jar
jersey-client-1.8.jar
jersey-core-1.8.jar
2.创建一个web工程
3.在web工程下新建一个upload文件夹
4.在service的 tomcat中的web.xml文件新增一个参数(未改报 403)
<init-param>
<param-name>readonly</param-name>
<param-value>false</param-value>
</init-param>
5.注意:在项目中未启动服务器的时候将发布路径改成新的服务器所在的webapps下
详情见图片
//java项目
public static void main(String[] args) {
// 图片名称生成(用时间代替)
DateFormat dFormat = new SimpleDateFormat("yyyyMMddHHmmssSSS");
// 图片名称后部分
String format = dFormat.format(new Date());
// 生成随机数三位数
Random random = new Random();
for (int i = 0; i < 3; i++) {
format += random.nextInt(10);
}
// 保存到数据库
String path = "upload/" + format + ".jpg";
// 实例化一个 Jersey
Client client = new Client();
// 另一台服务类的请求路径是?
String url = "http://localhost/web-test/" + path;
// 设置请求路径
WebResource resource = client.resource(url);
try {
byte[] buf = FileUtils.readFileToByteArray(new File("D:\\123456.jpg"));
resource.put(String.class,buf);
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("发送完毕");
}
相关文章推荐
- 导出excel时因字段过长导致的hresult:0x800a03ec错误解决办法
- 可视化数据分析(三) 一个简单的散点图的实现
- 2015第五届深度操作系统开发者与用户大会,期待您的参与!
- hdoj 1171Big Event in HDU【dp】
- 基于DOS的多任务系统的实现
- hdu 1867 A + B for you again
- 一台机器安装多个MySQL
- IOC容器——Unity
- WS+MQ+WCF+EF(Code First)
- C++获取数字证书的序列号
- centos发送邮件
- haproxy+heartbeat的两种方案(注意,备服务器vip,正常haproxy启动方法)
- 类 Mat导言
- libevent代码阅读(11)——“hello-world.c”之 进入事件多路分发循环
- 1097. Deduplication on a Linked List
- MongoDB的用户管理(6)
- c#在一般处理程序中使用session
- mysql数据库设置不区分大小写
- 初入Django(一)--创建第一个项目
- 二个数调换位置