JavaWeb富文本编辑器与文件上传

article/2025/11/9 9:23:41

目录

一、富文本编辑器

1、下载富文本编辑器

 2、富文本编辑器的应用

二、文件上传

文件上传必须要注意的规则:

 文件上传案例

 文件夹的访问


一、富文本编辑器

富文本编辑器在项目中很常见,它可以将文本,图片等信息存入数据库,再编辑一些图文混排的信息的时候很有用,比如商城项目的商品详情页,包含很多带有样式的文字和图片。

接下来我们来看看用法吧!

1、下载富文本编辑器

首先先下载好富文本编辑器,官方链接如下:

CKEditor 4 Quick Start Guidehttps://ckeditor.com/docs/ckeditor4/latest/guide/dev_installation.html

点击进入页面 根据上方提示下载好 将文件解压

解压后的文件入下:

 2、富文本编辑器的应用

将解压后的文件复制到webapp文件中

 3、新建一个jsp页面,看看效果

界面效果如下:

 界面代码如下:

实现富文本编辑器三步骤:

  • 导入js
  • 定义文本域 文本域需要id 
  • 根据id生成对应的富文本编辑器
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<%--导入js --%>
<script src="ckeditor/ckeditor.js"></script>
</head>
<body>
<h1>新闻增加界面</h1><form action="doAdd.jsp" method="post" enctype="multipart/form-data"><p><input type="text" name="title"></p><%--定义文本域 文本域需要id --%><p><textarea id="myEditor" type="text" name="content"></textarea></p><p><%--文件选择器 --%><input type="file" name="myFile"></p><button>提交</button>
</form><script>/*根据id生成对应的富文本编辑器*/CKEDITOR.replace('myEditor');
</script>
</body>
</html>

利用富文本显示器在浏览器中显示的效果

在控制台中显示的效果: 

 提示:实际上从index.jsp页面提交过去的数据是网页代码

 doAdd.jsp代码

<%
String title=request.getParameter("title");
String content=request.getParameter("content");
System.out.print(content);
out.print(content);
%>

二、文件上传

文件上传的jar包有smartUpload commons fileUpload 但是smartUpload已经停止更新  所以建议使用commons fileUpload  来进行文件上传

commons fileUpload 官网链接如下:

commons-fileuploadhttps://commons.apache.org/proper/commons-fileupload/using.html

 在此官网里面我们可以看到如下示例代码 我们可以进行借鉴分析

 

文件上传必须要注意的规则:

1、使用commons fileUpload 组件需要在项目中引入jar包。并将jar包添加到webapp/WEB-INF/lib目录下 如下如所示:

 2、需要设置表单的enctype属性

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

 文件上传案例

要求:

上传的文件保存到指定磁盘文件中并且命名不重复,上传的文件后缀名要对应

界面代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<%--导入js --%>
<script src="ckeditor/ckeditor.js"></script>
</head>
<body>
<h1>新闻增加界面</h1>
<%--文件上传必须注意的规则1、必须是post2、必须是多段式表单 enctype="multipart/form-data"--%>
<form action="doAdd.jsp" method="post" enctype="multipart/form-data"><p><input type="text" name="title"></p><%--定义文本域 文本域需要id --%><p><textarea id="myEditor" type="text" name="content"></textarea></p><p><%--文件选择器 --%><input type="file" name="myFile"></p><button>提交</button>
</form><script>/*根据id生成对应的富文本编辑器*/CKEDITOR.replace('myEditor');
</script>
</body>
</html>

如何生成名字不重复?利用UUID

 如何获取普通的文本值?(中文不乱码)

通过查看源码  我们可以看到getString可以带有参数

String value = item.getString("utf-8");

处理界面的代码: 

<%@ page import="org.apache.commons.fileupload.servlet.ServletFileUpload" %>
<%@ page import="org.apache.commons.fileupload.FileItem" %>
<%@ page import="java.util.List" %>
<%@ page import="org.apache.commons.fileupload.disk.DiskFileItemFactory" %>
<%@ page import="java.io.File" %>
<%@ page import="java.util.UUID" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%// 通过tomcat去上传图片// 用轮子 jar 文件上传的jar// 1. smartUpload (已经停止更新n年了)// 2. commons fileUpload// 为基于磁盘的文件项创建工厂// 接收到你的图片,将图片存到电脑磁盘上DiskFileItemFactory factory = new DiskFileItemFactory();// 创建一个新的文件上传处理程序ServletFileUpload upload = new ServletFileUpload(factory);// 设置整体请求大小限制// upload.setSizeMax(1024*5);//5mb// 让处理程序去解析请求中的数据List<FileItem> items = upload.parseRequest(request);//  在List中有普通的数据,文件数据String title="";String content="";String newName="";for (FileItem item : items) {// item有可能是文件,普通数据if (item.isFormField()) {//是不是普通数据System.out.println("普通:");// title,contentString name = item.getFieldName();//表单中的nameString value = item.getString("utf-8");//对应的值System.out.println("\t"+name);System.out.println("\t"+value);//需要进行判断取值if(name.equals("title")){title=value;}if(name.equals("content")){content=value;}} else {System.out.println("文件:");//myFileString name = item.getFieldName();//表单中的nameString oldName=item.getName();//文件名字System.out.println("\t"+name);System.out.println("\t"+oldName);//生成一个新的名字: 不重复newName = UUID.randomUUID().toString().replace("-", "");//生成动态的后缀名//  a.png -> .png//  f.jpg -> .jpg//      2022040.13.5221.mp4//      [2022040,13,5221,mp4]String[] strings = oldName.split("\\.");// id.jpgnewName+="."+strings[strings.length-1];//保存到本地item.write(new File("D:\\picture\\"+newName));}}//打印一下out.println(title);out.println(content);//图片上传的本质//  自己的电脑 -> 服务器的电脑//  文件是保存在服务器?还是数据库呢?//  用户怎么区分自己的数据呢?//  1.将图片保存到硬盘中//  2.将图片的路径存到数据库//  我只要把文件夹映射到服务器中,用户就可以访问那张保存的图片//  我把文件夹映射到服务器中,它的路径是/imagesout.print("<img src='/images/"+newName+"'>");%>

 文件夹的访问

概念:把文件夹映射到服务器中,让用户可以在浏览器通过文件夹映射后的路径来访问图片

首先双击服务器servers 进入如下界面 点击左下角Modules 这里你可以看到自己的当前所有模块

 随后点击右边框框框起来的按钮 最后将文件夹的路径和命名设置好。(一定要保存!!!)

将服务器运行 打开浏览器

将路径改为 http://localhost:8080/images/1.png(文件中的图片)

当然除了查看图片外还可以查看动图、视频等

 文件上传的效果图如下:

 界面图:

 提交完成后的界面:

图片显示出来的重要代码如下:

    //  我只要把文件夹映射到服务器中,用户就可以访问那张保存的图片//  我把文件夹映射到服务器中,它的路径是/imagesout.print("<img src='/images/"+newName+"'>");

 最后我们找到设置的路径就可以看到上传成功的图片!!

 


今天的分享就到这里结束啦!!✌

以上就是关于JavaWeb富文本编辑器与文件上传的一些内容!!📖

期待下次见😊


http://chatgpt.dhexx.cn/article/TSABsJbK.shtml

相关文章

JAVA--文本编辑器

一级标题 二级标题 三级标题 四级标题 五级标题 六级标题 Markdown 标题 井号加空格&#xff0c;六个井号&#xff0c;井号越多字体越小 字体 样式字体 helloWord helloword helloword 一个星到三个星 一星斜体二星加粗三星斜体加粗 删除字体 HelloWord 左右两…

php 富文本编辑器,曾经用过的十大富文本编辑器

富文本编辑器,Rich Text Editor, 简称 RTE, 它提供类似于 Microsoft Word 的编辑功能,容易被不会编写 HTML 的用户并需要设置各种文本格式的用户所喜爱。它的应用也越来越广泛。 1、UEditor---百度编辑器 网址:http://ueditor.baidu.com/website/ UEditor是由百度web前端研发…

java编程用什么文本编辑器_编程必备,程序员应该都知道的7款文本编辑器

正如一个作家需要一个文字处理器来写故事&#xff0c;一个艺术家需要画布来创作&#xff0c;同样的&#xff0c;如果想编程&#xff0c;你会需要一个地方来写代码。 程序员在哪里编写代码&#xff1f;最常见的就是使用文本编辑器了吧。 下文列出了7个主流的文本编辑器&#xff…

富文本编辑器内容存储至Mysql

文章目录 概述获取富文本编辑器内容后端数据处理 概述 在所有的编辑器中&#xff0c;大概最受欢迎的就是富文本编辑器和MarkDown编辑器了&#xff0c;无论哪一种编辑器&#xff0c;我们需要知道的是&#xff0c;发给后端的内容是带着html标签的字符串&#xff0c;而我们需要把…

Windows 文本编辑器 EditPlus 的简单使用

文章目录 1. 软件介绍2. 软件下载3. 软件注册4. 使用设置4.1. 快捷键4.2. 设置项 该文章我是在2017-11-08 11:54首发在博客园的&#xff0c;最近用到了几次该文章&#xff0c;觉得挺有用的&#xff0c;想着以后用到了就不用去博客园看了&#xff0c;就迁移了过来 CSDN&#xff…

浅析markdown和富文本编辑器

目录 一&#xff0c;什么是编辑器 二&#xff0c;markdown和富文本编辑器的由来 三&#xff0c;markdown和富文本的功能 一&#xff0c;什么是编辑器 文本编辑器是计算机软件中的一种。主要用于用来编写和查看文本文件。有一些特殊的文本编辑器支持增加自有的格式来丰富文档…

web富文本编辑器

哈喽&#xff0c;大家好&#xff0c;我今天给大家带来了一个富文本编辑器的使用&#xff0c;也就是如何在你的文本应用中使用富文本编辑器&#xff0c;我是使用的是CKeditor &#xff0c;下面&#xff0c;就跟我一起去学习吧 目录 一&#xff0c;为什么要使用富文本编辑器二&a…

【JavaWeb】之富文本编辑器

【JavaWeb】富文本编辑器 前言一、富文本编辑器介绍二、富文本编辑器使用1.引入编辑器&#xff08;多种引入方式&#xff09;2.使用编辑器 三、主流富文本编辑器推荐1.TinyMCE2.CKEditor3.UEditor4.wangEditor5.kindeditor6.simditor7.bootstrap-wysiwyg8.summernote9.Froala10…

Java实现简易文本编辑器

数据结构课设要求完成一个简易文本编辑器&#xff0c;以下记录完成过程中的思路&#xff0c;学习到的新知识&#xff0c;遇到的问题和解决方案等。 要求至少实现以下要求&#xff1a; 1&#xff09;具有图形菜单界面 2&#xff09;查找&#xff0c;替换&#xff08;等长, 不等…

使用文本编辑器编写Java源代码

使用文本编辑器编写Java源代码 编写 J a v a Java Java应用程序&#xff0c;可以使用任何一个文本编辑器来编写程序的源代码&#xff0c;然后使用 J D K JDK JDK搭配的工具进行编译和运行&#xff0c;在这里&#xff0c;我将介绍一个使用简单的文本编辑器来开发一个 J a v a J…

java集成富文本编辑器UEditor

JAVA集成富文本编辑器UEditor 集成前说明集成UEditor一.UEditor下载二.UEditor迁入项目三.引入ueditor中的js四.初始化UEditor五.实现图片上传 集成前说明 其实java独立集成ueditor是个伪命题,集成ueditor需要前后端共同参与才能完成,因为集成ueditor的时候,两端都有对应的配置…

java实现文本编辑器

利用swing组件JEditText实现复制&#xff0c;粘贴&#xff0c;剪切功能,JEditText组测MouseListener,实现JPopupMenu右键弹出菜单&#xff0c;依次为JMenuItem&#xff0c;openButton&#xff0c;saveButton注册ActionListener&#xff0c;实现点击事件。Word.java: import ja…

JAVA实现简易文本编辑器设计

废话不多说直接上代码 import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; import javax.swing.plaf.FontUIResource; import javax.swing.text.Document; import java…

使用文本编辑器开发一个Java程序的详细步骤

概述 前提&#xff1a; 在学习本博文之前&#xff0c;您需要搭建好Java环境&#xff0c;其中包括1.JDK(Java开发工具箱)的下载&#xff1b;2.JDK环境变量的设置。 就目前对于Java程序的开发现状看的话&#xff0c;都是采用的流行的开发工具&#xff0c;其优点对于开发人员来说…

java 常用富文本编辑器_常用的六个富文本编辑器

1&#xff1a;:功能齐全 tinymce|TinyMCE | The Most Advanced WYSIWYG HTML Editor TinyMCE是一个轻量级的基于浏览器的所见即所得编辑器&#xff0c;由JavaScript写成。它对IE6和Firefox1.5都有着非常良好的支持。 图片发自简书App 2&#xff1a;百度 ueditor|UEditor - 首页…

Java实现百度富文本编辑器UEditor

说起来 实现百度富文本编辑器也是比较简单&#xff0c;主要就是 读取 config.json 但是里面的坑也比较大 下面是我的步骤 以及我遇坑的过程 准备引入的jar包 这两个包找不到的话 可以去官网、也可以加群Java交流群&#xff0c;在群文件自行下载: QQ群&#xff1a;808249297 …

富文本编辑器在Java中使用

一、ckeditor 1&#xff09; 下载ckeditor_3.6.2.zip和ckeditor-java-core-3.5.3.zip两个压缩文件 下载地址:http://ckeditor.com 2&#xff09; 解压缩文件ckeditor_3.6.2.zip和ckeditor-java-core-3.5.3.zip两个文件&#xff0c; 在ckeditor_3.6.2文件中有ckeditor文件…

(JAVA)利用GUI编写简单文本编辑器

今天我们来尝试写一段代码&#xff0c;编写一个简单的文本编辑器&#xff0c;一起来看看吧&#xff01; 首先我们需要用到Java中的继承&#xff08;extends&#xff09;、接口&#xff08;implements&#xff09;。我们将其分为两个文件&#xff1a;一个文件中是所有的布局和逻…

Java设计文本编辑器

阿乐今天敲代码没 Java设计文本编辑器 前言一、实现功能二、扼要代码1.界面程序设计2.文件菜单设计3.编辑菜单栏设计4.格式菜单栏设计 运行截图 前言 利用Java设计一个文本编辑器。 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、实现功能 该简易…

Java课设——文本编辑器

来自&#xff1a;https://blog.csdn.net/qq_39169598/article/details/84726959 原创不易&#xff0c;转载请加上作者 一、需求 编程实现一个文本编辑器&#xff0c;使其具有新建、打开、保存&#xff0c;编辑&#xff08;查找、替换、大小写转换等&#xff09;、统计&#…