内 容:登录后,根据当前用户获取相应的用户和文件信息,并将相关信息显示在主页。
1. 解压tomcat作为图片服务器,在tomcat的webapps下创建upload目录作为文件上传目录。
jsp没有明显缺点,非要挑点骨头那就是,由于可以编写java代码,如使用不当容易破坏mvc结构。
因为博客发布文章需要个富文本编辑器,所见即所得,排版什么的还是很重要的。百了很多最后还是决定用ueditor 虽然已经被百度放弃了(不再更新)但是功能齐全插件多还是很好用的 第一次使用也是照着别人的教程写的 下载最新的ueditor-jsp版(根据自己的需求下载)http://ueditor.baidu.com/website/download.html 然后把下载好的内容放到web项目的webapp下,然后导包,我是直接把jar复制到web-inf的lib下然后build path,虽然这样会感觉好像太原始了。。,直接用maven导入会有问题,好像是因为ueditor不存在远程和本地仓库,不过可以在pom.xml中导入然后再把jar包复制到本地仓库,或者自己创建个私服然后把jar包放进去。。 修改config.json,
服务端的地址指的是相对于你的Web应用的地址,这个地址是在服务器端解析的(不同于HTML和JavaScript中的地址,他们是在浏览器端解析的),也就是说这时候在JSP和Servlet中的相对地址应该是相对于你的Web应用,即相对于http://localhost:8080/WebApp/的。
使用Editormd可以方便地在界面上嵌入markdown编辑器,并能够实时预览。 先看一下实现效果: 编辑文章界面:
打开浏览器,输入对应地址。一个美丽的编辑器就出现了,但表情和上传文件这块还须要更改一下配置
3)jsp的基础是servlet,相当于对servlet进行一个包装
在jsp页面中使用load的方法加载其他页面到空白处,同时jsp页面引用layui,例如如下截图,在加载其他页面进入时候,会出现js等文件带请求路径一起请求后台。
在集成时,我的思路是写一个公共JSP文件,里面包含一些常用的js文件,当然此处我用的就是Jquery插件了。
以前一直在用 create-react-app 来创建 React 项目,奈何 CRA 实在太难用了,今天花了点时间扫了一下 Next.js 的官网,发现用起来还挺简单的。
注:此文承接上一文:使用IntelliJ IDEA开发SpringMVC网站(一)开发环境
最近在写一个自己的后台管理系统(主要是写着玩的,用来熟悉后端java的知识,目前只是会简单的写点接口),想在项目中编写一个发布新闻文章的功能,想到了使用百度的ueditor富文本编辑器,网上找了很多j
近期,手下有一个项目。需要嵌入一个富文本编辑器,基于大厂的光环,选择了百度富文本 UEditor,之前都是 Windows+Eclipse ,转到 Mac+IDEA 后,发现差别还是有的,不管大小,即使有一点不对,都不符合预期效果。鼓捣了一下午,记录分享一下。
最近在写一个自己的后台管理系统(主要是写着玩的,用来熟悉后端java的知识,目前只是会简单的写点接口),想在项目中编写一个发布新闻文章的功能,想到了使用百度的ueditor富文本编辑器,网上找了很多java版本的资料,不过大部分都是前后端都在一个工程项目下,页面是jsp的。由于我这个系统是把前后端拆分开成前后端分离的。所以在根据看了网上的资料以及慢慢的摸索下,实现了在前后端分离的情况下把ueditor集成到系统中。项目页面如图:
使用eclipse开发java程序的都会遇到在复制或是粘贴js或是jsp的时候回出现卡顿现象。
主要是nginx处理静态页面的效率远高于tomcat的处理能力,如果tomcat的请求量为1000次,则nginx的请求量为6000次,tomcat每秒的吞吐量为0.6M,nginx的每秒吞吐量为3.6M,可以说,nginx处理静态资源的能力是tomcat处理能力的6倍,优势可见一斑。
当我把项目发布到tomcat服务器上面去,运行某个jsp页面的时候,发现功能没有实现 有没有报错,说明代码没有问题,那就找引入的文件是否正常导入了。这里有可能一开始我们思维定性的就认为代码错了,而忽略了这个js有没有正确导入的问题。(关键还是在这里,下面的解决办法很简单)
RPO (Relative Path Overwrite) 相对路径覆盖,最早由 Gareth Heyes 在其发表的文章中提出。主要是利用浏览器的一些特性和部分服务端的配置差异导致的漏洞,通过一些技巧,我们可以通过引入相对路径来引入其他资源文件,以达到我们的目的。
说明:Ajax是无法实现文件传输的,本文只是模拟了Ajax不刷新页面就可以请求并返回数据的效果。实质上还是通过提交form表单来返回文件流的输出。
我相信每一个程序员都是为了生活而努力着的。很多人因为兴趣,从此踏上了这条‘烧脑大行动’的金桥;也有很多人因为梦想和执着,奋不顾身融入这个职业;还有很多人因为被现实逼得太无奈,不得不为自己、为家人、为未来谋这么一条坎坷的路。
<%=request.getContextPath()%>是为了解决相对路径的问题,可返回站点的根路径或者叫根目录,分为两种情况:
本应用基于ThinkPHP的MVC(模型-试图-控制器)的方式来组织。在新建页面时必须遵循该设计模式。
以layui内置为例,在index.js 引入 bodyTab.js bodyTab.js 项目路径:/static/js/bodyTab.js
从Ueditor的官网下载1.4.3.3jsp版本的Ueditor编辑器,官网地址为:
注意:在请求多个模块的时候,一般将没有返回值的模块放在后面,有返回值的放在前面,这样就可以避免要为没有返回值的模块写形参!
import可以在文件中使用目标文件定义的template,import 有作用域的概念,即只会 import 目标文件中定义的 template,而不会 import 目标文件 import 的 template。
当然,可以通过spring.resources.static-locations配置指定静态文件的位置。但是要特别注意,一旦自己指定了静态资源目录,系统默认的静态资源目录就会失效。所以系统默认的就已经足够使用了,尽量不要自定义。
1、使用vue-cli构建一个vue项目。然后下载UEditor源码。地址:http://ueditor.baidu.com/website/ 把项目复制到vue项目的static文件下。目的是让服务可以访问到里面的文件,打开UEditor目录文件。这里下载的是jsp版本的。文件名字没有更改过。打开里面的ueditor.config.js文件找到serverUrl把这行代码注释了。这个代码是用来上传图片的后台地址。如果不注释了会请求报错。编辑器跑起来再做服务配置修改地址。 2、在.vue文件中引入主要js文件 import ‘../../static/utf8-jsp/ueditor.config’ import ‘../../static/utf8-jsp/ueditor.all’; import ‘../../static/utf8-jsp/lang/zh-cn/zh-cn’; 3、在data中申明一个变量存储UEditor的实例方便在vue的其他地方使用,然后申明一个变量存储手动获取的编辑器里面的内容,再什么一个变量存储初始化时要写入编辑器的内容。三个变量。如果操作得当。可以减少变量的时候。这是笨办法 4、在vue的mounted钩子函数中调用编辑器的方法生成实例存储到刚刚申明的变量中,在实例中传入参数。第一个是id,id是生成编辑器的div的id。第二个参数是一个对象。对象内容是对编辑器的配置。如资源访问路径,toolbars内容配置。 5、在html部分写一个div标签 6、然后配置资源路径。在实例化的时候传入的参数里。第二个参数是一个对象。内容包括路径。 this.ue = UE.getEditor('editor',{ BaseUrl: '', UEDITOR_HOME_URL: 'static/utf8-jsp/', }); 这个UEDITOR_HOME_URL就是配置编辑器自己访问自己所需要的依赖的路径。设置到存放的文件下utf8-jsp是编辑器文件的更目录。目录不一样可自行更改 7、然后保存。就可以在界面上显示一个完整的富文本编辑器 8、如果要获取内容则使用在data里面申明的编辑器实例在vue中this.实例调用方法getContent()可以获取到内容 9如果要设置内容则调用:setContent('欢迎使用ueditor'); 更多方法参考官方文档。 10、文档内容属于个人踩坑的心得。如有错误。请留言指出。谢谢 11、需要注意的是资源路径容易搞错。使用相对路径即可 12、贴出代码
看过之前的蜕变系列文章,相信你对springMVC有了一定的认识。对springMVC的异常处理,也有了一定的认识。今天我们来开启新讨论,讲一讲web开发中会经常遇到的一个功能,文件上传。
脚本程序可以包含任意量的Java语句、变量、方法或表达式,只要它们在脚本语言中是有效的。(其中声明的变量为局部变量)
这个Jstl是当初学jsp时的知识点,因为动不动就有人说Jsp技术被淘汰了,所以就没学。
如上图所示: server.js路径为 E:\zyp; node命令路径我们可以选择 E:\或 E:\node,即:
在上一篇『手撕Vue-CLI』添加自定义指令中,已经实现了自定义指令的添加,但是指令还是比较简单的,只是简单的打印一句话,那么在实际运用场景中,可能会有更多的需求,比如可能需要在指令中传递参数,或者需要在指令中进行一些复杂的操作,那么这个时候我们就需要对指令进行处理了。
参考:https://www.cnblogs.com/zfding/p/11766062.html
用谷歌调试工具中的手机模拟器模拟手机进行webapp的开发,与真机上的效果还是有些偏差,opera手机模拟器的效果亦不佳。有时在pc上开发出来的webapp效果良好,在部分真机上就出现了偏差,这时候就需要我们进行微调。 在pc上微调后发布到测试环境再在手机上看效果,开发很慢,效率很低。这时候就想着有一个可以在手机上调试的工具,可以随时更改参数随时看到手机上的效果,免去发布再测试、模糊估计参数不精准的麻烦,weinre就是一个这样的工具。 weinre可以在PC上远程调试手机上的
根目录下有demo1和images/1.jpg,demo1下有index1.html文件和demo1.1文件夹。demo1.1下有index2.html和2.jpg图片文件。
下载ckeditor_3.6.2.zip和ckeditor-java-core-3.5.3.zip两个压缩文件
(1)、request.getRealPath(“/”);//不推荐使用获取工程的根路径
传统的Java Web项目,一般是新建一个WebContent目录,然后所有页面,js等静态资源都放在里面。但是在SpringBoot的规范里,不需要这么做
我们都知道Nodejs遵循的是CommonJS规范,当我们require('moduleA')时,模块是怎么通过名字或者路径获取到模块的呢?首先要聊一下模块引用、模块定义、模块标识三个概念。
它是在传统的网页HTML文件(*.htm,*.html)中插人Java程序段和JSP标记
Node.js=HTML+"JS":性能好,适合于服务器端IO密集型项目,不适合CPU密集型项目
进行springMVC的使用时,搭建框架的时候,发现一个简单的demo都跑不起来。发现引入的js出现404了。之后就查找各种资料后,发现,原来需要配置静态资源,否则不能进行访问指定的js资源。
2.文件编译后找不到路径,因为文件编译后会自动生成到dist目录,为了优雅和错误率我们避免手动copy静态资源到dist目录下,安装copy-webpack-plugin
由于站点对上传文件未作过滤或过滤机制不严(文件后缀或类型),导致恶意用户可以上传脚本文件,通过上传文件可达到控制网站权限的目的。
领取专属 10元无门槛券
手把手带您无忧上云