0
点赞
收藏
分享

微信扫一扫

JavaWeb10(ckeditor&smartupload)

和谐幸福的人生 2022-04-07 阅读 76

一、ckeditor

当我们在添加新闻时,输入内容的地方可以进行美化,比如输入一些特殊符号、表情包,对字体的大小和颜色编辑等。那么我们就可以使用到一些富文本编辑器,这里就给大家讲一下关于ckeditor的使用。可以直接在百度上搜索“ckeditor”,然后点进官方的网站,

点进去之后就是这个样子的页面:

 官方一般首推最新版,但是小编建议用ckeditor4最为妥当,因为较为稳定,所以我们沿着这个页面继续往下面滑动,找到ckeditor4,如下图:

 画了红色横线的地方就是第四版的,我们点进去之后,里面就会有下载步骤以及注意事项:

 官方推荐我们最好下载标准版哦~下载之后就是这样一个安装包:

 紧接着呢,就有使用步骤,把它整体复制到你得项目中去,再导入即可使用:

编辑器 大概就是长这样了:

 你学废了吗?

二、smartupload

使用SmartUpload实现文件上传功能

1、SmartUpload组件 :专门用于实现文件上传及下载的免费组件

SmartUpload组件特点

使用简单:编写少量代码,

完成上传下载功能

能够控制上传内容

能够控制上传文件的大小、类型

缺点:目前已停止更新服务

2、环境准备

使用SmartUpload组件需要在项目中引入jspsmartupload.jar文件:

将jspsmartupload.jar 添加到WEB-INF\lib目录下

需要设置表单的enctype属性:

<form enctype="multipart/form-data" method="post">

设置了enctype属性后, 表单必须以post方式提交

3、File类

封装了单个上传文件所包含的所有信息

常用方法:

          方法名称

            说  明

saveAs(String destFilePathName)

将文件保存,参数destFilePathName是保存的文件名

isMissing( )

判断用户是否选择了文件,即对应表单项是否为空,返回值为boolean类型

public String getFieldName( )

获取表单中当前上传文件所对应的表单项的名称

public String getFileName( )

获取上传文件的文件名称,不包含路径

4、Files类

封装了所有上传文件的信息集合

常用方法:

          属性名称

            说  明

public int getCount()

取得文件上传的数目

public File getFile(int index)

取得指定位置的File文件对象

public long getSize()

取得上传文件的总长度

public Collection getCollection()

将所有上传文件对象以Collection的形式返回

5、SmartUpload类

          属性名称

            说  明

public final void initialize(PageContext pageContext)

执行上传和下载的初始化工作,必须实现

public void upload()

实现文件数据的上传,在initialize方法后执行

public int save(String pathName)

将全部上传文件保存到指定的目录下,并返回保存的文件个数

public void setAllowFilesList(String ExtList)

指定允许上传的文件扩展名,接收一个扩展名列表,以逗号分隔

public void setDeniedFilesList( String   fileList)

指定了禁止上传的文件扩展名列表,每个扩展名之间以逗号分隔

public void setMaxFileSize(long filesize)

设定每个文件允许上传的最大长度

public  void setTotalMaxFileSIze(long totalfilesize)

设定允许上传文件的总长度

 6、编写上传文件处理页uploadManage.jsp

<%@page import="com.jspsmart.upload.SmartUpload"%>
<%@page import="com.jspsmart.upload.Files"%>
<%@page import="com.jspsmart.upload.Request"%>
<%@page import="com.jspsmart.upload.File"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
    //实现文件上传
	//①单文件上传
	//--自动获取web项目的根目录

	//实例化
	SmartUpload su=new SmartUpload();
	//初始化 pageContext属于九大内置对象之一 作用域仅限于当前页面 
	su.initialize(pageContext);
	//设置相关要求 
	su.setCharset("utf-8");//编码方式
	su.setAllowedFilesList("jpg,png,gif,jpeg");//允许文件上传类型列表 
	su.setDeniedFilesList("exe,jsp,bat");//禁止上传文件类型列表 
	//上传到服务器内存 
	su.upload();
	
	//定义上传到服务器硬盘的文件夹
	String path="images/";
	//获取第1个文件
	File file=su.getFiles().getFile(0);
	//判断是否选择了文件
	if(!file.isMissing()){//说明选择了
		file.setCharset("utf-8");//设置文件的编码方式
		path+=file.getFileName();//拼接上原有的文件名 images/2.gif
		file.saveAs(path, SmartUpload.SAVE_VIRTUAL);//自动找web项目的根目录
	}
	
	//把path保存到数据库中对应列即可  
	out.print(path); 
	
	//--手动获取web项目的根目录 
	//先找到web项目的根目录  D:\T280\javaweb\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\s6\   
	 String webPath=this.getServletContext().getRealPath("/");
	String path="images/";
	//获取第一个文件
	File file=su.getFiles().getFile(0);
	if(!file.isMissing()){
		file.setCharset("utf-8");//设置文件的编码方式
		path+=file.getFileName();//拼接原有文件名  images/3.gif
		file.saveAs(webPath+path);//完整路径 
	}
	//把path保存到数据库中对应列即可 
	out.print(path); 
	
	//建议在上传文件之后再取表单其他值 
	//获取request对象
	 Request req=su.getRequest();
	String name=req.getParameter("iname");
	out.print("<br/>取到了:"+name); 
	
	//②多文件上传 
	//拿到所有的文件
	Files fs=su.getFiles();
	//拿到上传的总数目   
	int n=fs.getCount();
	//循环
	for(int i=0;i<n;i++){
		//依次获取每一个文件 依次进行上传
		File file=fs.getFile(i);
		String path="images/";
		//判断是否选择了文件
		if(!file.isMissing()){//说明选择了
			file.setCharset("utf-8");//设置文件的编码方式
			path+=file.getFileName();//拼接上原有的文件名 images/2.gif
			file.saveAs(path, SmartUpload.SAVE_VIRTUAL);//自动找web项目的根目录
		}
		out.print(path+"<br>");
	}

%>

好啦,今天分享到此结束,下期见~

举报

相关推荐

0 条评论