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

深圳景观设计公司10强青岛网站建设方案优化

深圳景观设计公司10强,青岛网站建设方案优化,网站负责人可以备案,做的网站必须备案目录 1.主页结构​编辑 1.1 导航栏 1.2 正文部分 1.3 页脚部分 2.个人中心 2.1 获取用户信息 1.实现逻辑 2. 参数要求​编辑 3.接口规范 4.实现流程 4.1 Mapper.xml 4.2 Mapper.java(dao层) 4.3 Service接口 4.4 Service实现 4.5 单元测试 4.6 Controller ​编辑…

目录

1.主页结构​编辑

1.1 导航栏

1.2 正文部分

1.3 页脚部分

2.个人中心

2.1 获取用户信息

1.实现逻辑

2. 参数要求​编辑

 3.接口规范

4.实现流程

4.1 Mapper.xml

4.2 Mapper.java(dao层)

 4.3 Service接口

4.4 Service实现

4.5 单元测试

4.6 Controller

​编辑

 4.7 API测试

 4.8 修复返回值存在的缺陷

​编辑

4.9 前端

5.退出登录

6.登录拦截器


1.主页结构

1.1 导航栏

1.2 正文部分

1.3 页脚部分

2.个人中心

2.1 获取用户信息

两种情况

1.实现逻辑

2. 参数要求

 3.接口规范

4.实现流程

4.1 Mapper.xml
4.2 Mapper.java(dao层)

 4.3 Service接口

4.4 Service实现
/*** 根据Id查询用户信息** @param id 用户Id* @return User对象*/@Overridepublic User selectById(Long id) {// 1.非空校验if(id == null) {// 打印日志log.warn(ResultCode.FAILED_PARAMS_VALIDATE.toString());// 抛出异常, 统一抛出 ApplicationExceptionthrow new ApplicationException(AppResult.failed(ResultCode.FAILED_LOGIN));}// 调用 DAO 查询数据库获取对象User user = userMapper.selectByPrimaryKey(id);return user;}
4.5 单元测试
 @Testvoid selectById() {System.out.println(userService.selectById(1L));}
4.6 Controller
@ApiOperation("获取用户信息")@GetMapping("/info")public AppResult<User> getUserInfo (HttpServletRequest request,@ApiParam("用户ID") @RequestParam(value = "id", required = false) Long id) {User user = null;// 根据id的值来判断User对象的获取方式if(id == null) {// 1.如果id为空, 从session中获取当前登录的用户信息HttpSession session = request.getSession(false);if (session == null || session.getAttribute(AppConfig.USER_SESSION) == null) {return AppResult.failed(ResultCode.FAILED_FORBIDDEN);}// 从session中获取当前登录的用户信息user = (User)session.getAttribute(AppConfig.USER_SESSION);}else {// 2.如果id不为空, 从数据库中按Id查询出用户登录信息user = userService.selectById(id);}if (user == null) {return AppResult.failed(ResultCode.FAILED_USER_NOT_EXISTS);}// 返回正常结果return AppResult.success(user);}
 4.7 API测试

 4.8 修复返回值存在的缺陷

4.9 前端

5.退出登录

6.登录拦截器

创建登录拦截器

package com.example.forum.interceptor;import com.example.forum.config.AppConfig;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;/*** Created with IntelliJ IDEA* Description 登录拦截器* User: 王杰* Date: 2025-06-15* Time: 13:08*/
@Component
public class LoginInterceptor implements HandlerInterceptor {@Value("{forum.login.url}")private String defaultURL;/*** 前置处理(对请求的预处理)* @param request* @param response* @param handler* @return true: 继续流程 <br/> false : 流程中断* @throws Exception*/@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {// 获取 session 对象HttpSession session = request.getSession(false);// 判断session是否有效if (session != null && session.getAttribute(AppConfig.USER_SESSION) != null) {// 用户为已登陆状态 校验通过return true;}// 校验URL是否正确if(!defaultURL.startsWith("/")) {defaultURL = "/" + defaultURL;}// 校验不通过 跳转到登录页面response.sendRedirect(defaultURL);// 中断流程return false;}
}

注册拦截器:

package com.example.forum.interceptor;import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;import javax.annotation.Resource;/*** Created with IntelliJ IDEA* Description* User: 王杰* Date: 2025-06-15* Time: 14:34*/
// 表示一个配置类
@Configuration
public class AppInterceptorConfigurer implements WebMvcConfigurer {// 注入自定义的登录拦截器@Resourceprivate LoginInterceptor loginInterceptor;@Overridepublic void addInterceptors(InterceptorRegistry registry) {// 添加登录拦截器registry.addInterceptor(loginInterceptor)       // 添加用户登录拦截器.addPathPatterns("/**")                 // 拦截所有请求.excludePathPatterns("/sign-in.html")   // 排除登录HTML.excludePathPatterns("/sign-up.html")   // 排除注册HTML.excludePathPatterns("/user/login")     // 排除登录api接口.excludePathPatterns("/user/register")  // 排除注册api接口.excludePathPatterns("/user/logout")    // 排除退出api接口.excludePathPatterns("/swagger*/**")    // 排除登录swagger下所有.excludePathPatterns("/v3*/**")         // 排除登录v3下所有, 与swagger相关.excludePathPatterns("/dist/**")        // 排除所有静态方法.excludePathPatterns("/image/**")       //.excludePathPatterns("/js/**").excludePathPatterns("/**.ico");}
}

这下就可以达成 访问需要登陆的页面,如果没有登录就会返回登录页面。如果登录了就正常执行

,同时可以删除业务代码中相同逻辑代码,避免冗余代码。

http://www.hkea.cn/news/859934/

相关文章:

  • 哪里有网站建设电话查排名官网
  • 做网站需要准备的工具网络营销方案模板
  • 科技未来网站建设百度推广开户公司
  • 十度网站建设保定网站推广公司
  • php可以做视频网站有哪些软文推广渠道主要有
  • 成都网站建设桔子科技淘宝付费推广有几种方式
  • 福田的网站建设公司网络营销成功案例ppt免费
  • 网站建设英文专业术语百度推广网址
  • 做网站之前需要准备什么企业网络营销策划案
  • dreamweaver动态网站开发与设计教程内容怎么在百度上面打广告
  • 济南网站搜索优化深圳网络推广招聘
  • 网站 色彩武汉it培训机构排名前十
  • 怎么做资源网站网络培训中心
  • 服装品牌网站建设营销网站建设选择原则
  • 乌鲁木齐新市网站建设有哪些网络营销公司
  • 网站的后台怎么做企业网络规划设计方案
  • 做网站文字字号大小企业网站设计要求
  • ae有么有做gif的网站品牌推广方案范文
  • apicloud官网下载seo关键词优化排名公司
  • 上海网站制作福州百度关键字优化精灵
  • 做uml图网站百度账号快速注册入口
  • 广西梧州南京 seo 价格
  • 网站警察备案seo关键词优化平台
  • 网站开发设计实训 报告惠州网站建设
  • 网站开发的原理山西免费网站关键词优化排名
  • 石家庄网站建设全包免费推广网站2024
  • 阿里云网站备案时间无锡seo网站管理
  • 景点介绍网站模板重庆百度关键词推广
  • 做亚马逊网站费用吗曲靖新闻今日头条
  • bing 网站管理员2023今日新闻头条