当前位置: 首页 > news >正文

游乐网站设计广州做网站新锐

游乐网站设计,广州做网站新锐,wordpress 短链接插件,中国建设工程网官方网站文章目录 1.拦截器1.基本介绍2.应用实例1.去掉Thymeleaf案例中使用session进行权限验证的部分2.编写自定义拦截器 LoginInterceptor.java 实现HandlerInterceptor接口的三个方法3.注册拦截器1.第一种方式 配置类直接实现WebMvcConfigurer接口#xff0c;重写addInterceptors方… 文章目录 1.拦截器1.基本介绍2.应用实例1.去掉Thymeleaf案例中使用session进行权限验证的部分2.编写自定义拦截器 LoginInterceptor.java 实现HandlerInterceptor接口的三个方法3.注册拦截器1.第一种方式 配置类直接实现WebMvcConfigurer接口重写addInterceptors方法2.第二种方式 注入一个WebMvcConfigurer接口类型的bean使用匿名内部类实现接口的方法3.注册拦截器方式小结 3.注意事项和细节1.关于图片资源2.uri和url的区别 2.文件上传1.需求分析2.具体实现1.编写upload.html2.编写UploadController.java 可以请求转发到upload.html3.编写Controller来将上传的文件保存到D:\temp_upload4.升级版将上传的文件保存到动态创建的目录常用5.测试 3.注意事项和细节1.文件上传的限制1.MultipartProperties2.修改文件上传的限制大小 application.yml 2.同名文件覆盖问题3.分目录存放1.WebUtils.java2.修改代码 1.拦截器 1.基本介绍 2.应用实例 1.去掉Thymeleaf案例中使用session进行权限验证的部分 2.编写自定义拦截器 LoginInterceptor.java 实现HandlerInterceptor接口的三个方法 package com.sun.springboot.interceptor;import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession;/*** author 孙显圣* version 1.0*/ public class LoginInterceptor implements HandlerInterceptor {Override//在Controller之前调用public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {System.out.println(uri request.getRequestURI());//对登录的校验HttpSession session request.getSession();//如果session中有LoginAdmin则登录成功if (session.getAttribute(LoginAdmin) ! null) {return true;} else {//如果登录失败则将信息请求转发到首页面request.setAttribute(msg, 登录失败请重新登录);request.getRequestDispatcher(/).forward(request, response);return false;}}Override//在Controller之后调用public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {System.out.println(postHandle被调用);}Override//视图解析器将信息请求转发到某个页面然后将那个页面相应给浏览器时调用public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {System.out.println(afterCompletion被调用);} } 3.注册拦截器 1.第一种方式 配置类直接实现WebMvcConfigurer接口重写addInterceptors方法 package com.sun.springboot.config;import com.sun.springboot.interceptor.LoginInterceptor; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;/*** author 孙显圣* version 1.0*/Configuration public class WebConfig implements WebMvcConfigurer {Overridepublic void addInterceptors(InterceptorRegistry registry) {//注册拦截器并且设置拦截路径和排除路径这里的/是根路径registry.addInterceptor(new LoginInterceptor()).addPathPatterns(/**).excludePathPatterns(/, /login, /images);} } 2.第二种方式 注入一个WebMvcConfigurer接口类型的bean使用匿名内部类实现接口的方法 package com.sun.springboot.config;import com.sun.springboot.interceptor.LoginInterceptor; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;/*** author 孙显圣* version 1.0*/ Configuration public class WebConfig02 {//注册拦截器Bean //注入一个WebMvcConfigurer接口类型的bean使用匿名内部类实现接口的方法public WebMvcConfigurer webMvcConfigurer() {return new WebMvcConfigurer() {Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(new LoginInterceptor()).addPathPatterns(/**).excludePathPatterns(/, /login, /images);}};} } 3.注册拦截器方式小结 第一种方式是配置类实现WebMvcConfigurer接口利用配置类的特性来注入bean第二种方式是在配置类中注入一个bean是WebMvcConfigurer接口类型的他们的共通点就是都向容器中注入了一个实现了WebMvcConfigurer接口的bean 3.注意事项和细节 1.关于图片资源 如果不放行则在第一次进入登录界面时还会向服务器申请图片资源此时会被拦截图片资源路径的设置是按照设置的访问路径默认是http://localhost:8080/下的资源 2.uri和url的区别 uri就是服务器内部的路径/代表的是服务器根路径url是浏览器地址栏的路径 2.文件上传 1.需求分析 2.具体实现 1.编写upload.html !DOCTYPE html html langen xmlns:thhttp://www.thymeleaf.org headmeta charsetUTF-8titleupload/title /head body bgcolor#CED3FE img srcimages/1.GIF/ hr/ div styletext-align: centerh1注册用户~/h1form action# methodpost th:action{/upload} enctypemultipart/form-data用户名:input typetext stylewidth:150px namename/br/br/电 邮:input typetext stylewidth:150px nameemail/br/br/年 龄:input typetext stylewidth:150px nameage/br/br/职 位:input typetext stylewidth:150px namejob/br/br/头 像:input typefile stylewidth:150px nameheaderbr/br/!--这里使用的multiple表示可以一次上传多个文件--宠 物:input typefile stylewidth:150px namephotos multiplebr/br/input typesubmit value注册/input typereset value重新填写//form /div hr/ img srcimages/logo.png/ /body /html 2.编写UploadController.java 可以请求转发到upload.html package com.sun.springboot.controller;import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping;/*** author 孙显圣* version 1.0*/ Controller Slf4j public class UploadController {GetMapping(/upload.html)public String uploadPage() {//请求转发到upload.htmlreturn upload;} } 3.编写Controller来将上传的文件保存到D:\temp_upload //处理有文件的表单ResponseBodyPostMapping(/upload)//获取上传的表单信息public String upload(RequestParam(name) String name,RequestParam(email) String email,RequestParam(age) Integer age,RequestParam(job) String job,RequestParam(header) MultipartFile header,RequestParam(photos) MultipartFile[] photos) throws IOException {//显示获取到的信息log.info(name{} email{} age{} job{} header{} photos{},name, email, age, job, header, photos);//首先处理单个文件if (!header.isEmpty()) {//文件不为空则获取文件的名字String originalFilename header.getOriginalFilename();//将文件转存在磁盘的指定位置D:\temp_uploadheader.transferTo(new File(D:\\temp_upload\\ originalFilename));}//处理文件数组if (photos.length 0) {//只要长度大于0,就遍历for (MultipartFile photo : photos) {//获取当前文件的名字String originalFilename photo.getOriginalFilename();if (!photo.isEmpty()) {//只要文件不为空就转存photo.transferTo(new File(D:\\temp_upload\\ originalFilename));}}}return 文件上传成功;}4.升级版将上传的文件保存到动态创建的目录常用 //处理有文件的表单ResponseBodyPostMapping(/upload)//获取上传的表单信息public String upload(RequestParam(name) String name,RequestParam(email) String email,RequestParam(age) Integer age,RequestParam(job) String job,RequestParam(header) MultipartFile header,RequestParam(photos) MultipartFile[] photos) throws IOException {//处理单个文件存到动态创建的文件夹下if (!header.isEmpty()) {//1.文件不为空则获取文件的名字String originalFilename header.getOriginalFilename();//2.动态创建一个类路径下的自定义目录//2.1 获取类路径的绝对路径// /D:/Intelij_IDEA_Project/springboot/springboot-usersys/target/classes/String classPath ResourceUtils.getURL(classpath:).getPath();//2.2 拼接目录得到想要创建的目录的文件对象File targetFile new File(classPath static\\upload\\);//2.3 只要目录不存在就动态创建目录if (!targetFile.exists()) {targetFile.mkdirs(); //注意这里是多级目录必须加s}//3.将文件转存到这个自定义目录下//3.1 获取这个目录的绝对路径String targetAbsolutePath targetFile.getAbsolutePath();//3.2 将文件转存到这个路径下// D:\Intelij_IDEA_Project\springboot\springboot-usersys\target\classes\static\(注意upload没有\)uploadheader.transferTo(new File(targetAbsolutePath \\ originalFilename));}//处理文件数组存到磁盘指定位置if (photos.length 0) {//只要长度大于0,就遍历for (MultipartFile photo : photos) {//获取当前文件的名字String originalFilename photo.getOriginalFilename();if (!photo.isEmpty()) {//只要文件不为空就转存photo.transferTo(new File(D:\\temp_upload\\ originalFilename));}}}return 文件上传成功;}5.测试 3.注意事项和细节 1.文件上传的限制 1.MultipartProperties 2.修改文件上传的限制大小 application.yml spring:servlet:multipart:max-file-size: 10MB #单个文件大小上限max-request-size: 50MB #一次请求的文件大小上限2.同名文件覆盖问题 3.分目录存放 1.WebUtils.java package com.sun.springboot.utils;import java.text.SimpleDateFormat; import java.util.Date; import java.util.Stack;/*** author 孙显圣* version 1.0*/ public class WebUtils {//上传文件的前缀public static String UPLOAD_FILE_DIRECTORY static\\upload\\;//编写方法根据当前日期生成一个目录public static String getUploadFileDirectory() {return UPLOAD_FILE_DIRECTORY new SimpleDateFormat(yyyy\\MM\\dd).format(new Date()) \\;}} 2.修改代码
http://www.zqtcl.cn/news/767795/

相关文章:

  • 网站百度不收录wordpress偽靜態
  • 沈阳php网站建网站需要学什么
  • WordPress多站点绑定域名百度帐号注册
  • 网站营销队伍网站建设明薇通网络
  • 做网站的公司重庆万网x5 wordpress
  • 印刷设计营销网站网站设置成黑白
  • 百度自助建站官网上海徐汇网站建设
  • 网站定制 北京贵阳网站建设公司哪家好
  • 如何做logo模板下载网站企业策划
  • 合肥做网站的公司讯登欧亚达网站是哪家公司做的
  • 网站模板带有sql后台下载企业网站建设平台的功能
  • 网站推广的实际案例电子商务网站建设的要求
  • 永平建设有限公司网站2023一般纳税人企业所得税怎么算
  • 创业网站推广怎么做简单的网站首页
  • 外贸网站模板 外贸网站制作如何推广宣传一个品牌
  • 中企动力企业邮箱 手机邮箱河南网站建设优化推广
  • 广州seo网站多少钱王野天津音乐广播电台图片
  • 东莞网站制作十强怎么做一个链接网站
  • 深圳网站设计 建设首选wordpress 获取父页面
  • 大兴企业网站建设公司wordpress谷歌字体优化
  • 哈尔滨建设银行网站网站建设运营服务商
  • 重庆本地建站企业网站建设流程及费用
  • 网站建设需要用到那些语言简述网站建设和推广评价指标
  • 17网站一起做 佛山印刷做网站网上接单
  • 网站建设步骤 优帮云网站建设首选定制开发
  • 专门做家居的网站国内企业网站设计
  • 做网站时怎么取消鼠标悬停性价比最高网站建设
  • 三网合一网站模板网站上内容列表怎么做
  • 鲜花商城网站建设西安房产网站大全
  • 家庭宽带做网站空间一个数据库可以做几个网站