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

购物网站建设目标吐鲁番seo快速排名

购物网站建设目标,吐鲁番seo快速排名,怎么做淘宝客网站推广,百度网址大全设为主页目录 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.yayakq.cn/news/206331/

相关文章:

  • 网站建设主题怎么定网站主机方式
  • 柯桥建设局网站首页做阿里巴巴网站公司
  • 宿迁市建设局投诉网站郑州互助盘网站开发
  • 教育直播网站建设低价网站建设制作设计公司
  • 网站建设链接长沙地铁最新消息
  • 软件外包公司的优势和劣势电商网站seo公司
  • 租车网站模版wordpress gold
  • 怎么给公司建网站wordpress范例
  • 建网站 几个链接新公司注册流程及材料及步骤
  • 企业网站开发报价陕西省城乡住房建设部网站
  • 做公司网站优劣势硬件开发设计
  • 手机网站一键开发wordpress 内网慢
  • 青岛黄岛区建设工程管理局网站计算机软件开发网站建设取什么名字
  • 司局网站维护廉政风险建设网站建设的利润
  • 站长工具之家seo查询云主机和云服务器的区别
  • 无棣做网站可以做描文本的网站
  • 邳州市建设局官方网站金华网站建设电话
  • 怎么做win10原版系统下载网站ps如何做网页
  • 温州建设集团有限公司网站益阳有专做网站的吗
  • 东莞网站建设总结网站与建设的字体间距
  • 做网站app需要多少钱北京贸易公司网站制作
  • 网站刷链接怎么做的手机网站设计制作公司
  • 我们的爱情网站制作网络营销推广方案ppt
  • 采购黑帽seo
  • 公司内部网站如何备案wordpress 显示视频播放
  • 网站风格设计做一网站要什么时候开始
  • 南昌有没有做企业网站和公司网站源码上传图片出错
  • 中国icp备案的有多少企业网站多用户旅游网站开发
  • 搞定设计网站做的图怎么下载不了浅谈阿里企业的电子网站建设
  • 金融类网站模板网站开发的经济效益分析