ssm云服务器怎么访问图片

SSM云服务器如何访问图片

SSM(Spring SpringMVC Mybatis)作为目前比较流行的Java Web开发框架,已经被广泛应用到各种项目中。有时我们需在SSM项目中加载展示图片,那么如何访问图片呢?

一、将图片上传到服务器

在SSM项目中,我们一般将图片上传到服务器。服务器上的文件夹可以通过apache-tomcat(应用服务器)或FTP服务器来实现。以tomcat为例:

1.在Tomcat安装目录下的webapps文件夹中新建一个文件夹,例如“images”,用于存放图片。

2.在web.xml文件中配置servlet-mapping。配置servlet-mapping来对所有请求到该servlet进行拦截,对输入的URI进行解析,然后输出指定的文件。

“`

ImageServlet
com.xxx.ImageServlet

ImageServlet
/images/*

“`

3.编写ImageServlet类,通过response.getOutputStream()将图片写入response输出流。

“`
File imageFile = new File(imagePath);
FileInputStream fileInputStream = new FileInputStream(imageFile);
BufferedInputStream buffInputStream = new BufferedInputStream(fileInputStream);
byte[] buffer = new byte[buffInputStream.available()];
buffInputStream.read(buffer);
buffInputStream.close();
response.getOutputStream().write(buffer);
response.getOutputStream().flush();
response.getOutputStream().close();
“`

以上步骤完成后,就可以将图片上传到服务器中了。

二、前台代码引入图片

在前台引入图片的方式:

“`

“`

其中,“${pageContext.request.contextPath}”代表了当前应用在服务器上的根路径。如上面的tomcat配置,图片放在“images”文件夹中,即可通过“/images/图片名”访问到图片。

三、图片的封装

在实际开发中,我们往往会将图片封装成一个类,通过类的方法进行加载。

“`
public class ImageUtil {

/**
* 获得图片流
*
* @param imagePath 图片路径
* @return InputStream
*/
public static InputStream getInputStream(String imagePath) {
File imageFile = new File(imagePath);
if (!imageFile.exists()) {
return null;
}
try {
return new FileInputStream(imageFile);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
return null;
}

/**
* 获得图片展示的url
*
* @param imageName
* @return
*/
public static String getImageUrl(String imageName) {
String urlPath = \”/images/\”;
String realPath = ImageUtil.class.getResource(\”/\”).getPath() urlPath imageName;
return realPath.replaceAll(\”\\\\\\\\\”, \”/\”);
}
}
“`

四、图片的缓存

我们加载图片时,往往会将图片缓存到本地。图片的缓存有利于网络传输、加快页面加载速度。

下面是一个简单的图片缓存代码:

“`
private static ConcurrentHashMap<String, SoftReference> cache = new ConcurrentHashMap<String, SoftReference>();

public static BufferedImage getImage(String imageName) {
SoftReference reference = cache.get(imageName);
BufferedImage image = null;
if (reference != null) {
image = reference.get();
}
if (image == null) {
image = loadImage(ImageUtil.getImageUrl(imageName));
if (image != null) {
cache.put(imageName, new SoftReference(image));
}
}
return image;
}
“`

以上就是SSM云服务器如何访问图片的方法,同时也让我们更深一步地了解了Java Web开发的一些基础知识。

以上就是小编关于“ssm云服务器怎么访问图片”的分享和介绍

西部数码(west.cn)是经工信部审批,持有ISP、云牌照、IDC、CDN全业务资质的正规老牌云服务商,自成立至今20余年专注于域名注册虚拟主机、云服务器、企业邮箱、企业建站等互联网基础服务!
公司自研的云计算平台,以便捷高效、超高性价比、超预期售后等优势占领市场,稳居中国接入服务商排名前三,为中国超过50万网站提供了高速、稳定的托管服务!先后获评中国高新技术企业、中国优秀云计算服务商、全国十佳IDC企业、中国最受欢迎的云服务商等称号!
目前,西部数码高性能云服务器正在进行特价促销,最低仅需48元!
https://www.west.cn/cloudhost/

赞(0)
声明:本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-62778877-8306;邮箱:fanjiao@west.cn。本站原创内容未经允许不得转载,或转载时需注明出处:西部数码知识库 » ssm云服务器怎么访问图片

登录

找回密码

注册