谁还没遇见过几个坑——命名篇(二)

前两天在搞登录的权限问题

本来找我朋友要了他们用的代码 结果眼看要全部CV过来了 这时候 我们老大说 我们公司有自己封的 把之前项目里的搬过来就行了 不用那么麻烦(鬼知道我问我朋友要了多少个utils)

不过确实 我们公司自己的CV起来还是比别人的舒服

搬完以后

出现了俩问题

一:

登录完以后 postman一跑 还是显示

老大说 这是因为我没有加头信息

里面的token值是登录的时候返回出来的token

 二:

加完头信息以后 发现终于不是401了 变成403了

 代码是这样的

@RestController
@RequestMapping("/web/batch")
public class BatchController {
    @Autowired
    BatchesService batchesService;
    @GetMapping("/getAllBatch")
    @PreAuthorize("hasRole('ROLE_administrator')")
    public Page<Batches> getAllBatch(@PageableDefault(sort = {"createdAt"}, direction = Sort.Direction.ASC) Pageable pageable, BatchQueryExample batchQueryExample){
        Page<Batches> batches = batchesService.getBatchByQuery(batchQueryExample, pageable);
    return batches;
    }
}

 老大试了一下 发现干掉 @PreAuthorize("hasRole('ROLE_administrator')")就不会出现403的问题了

我研究了好久 确定了我的 ROLE_administrator的值和我数据库的值一样一样的

我还去百度了一下 发现理论上没毛病啊 别人在这里出现问题的原因是没有加前缀ROLE_ 而我谨遵当年java老师的教诲在公司原来的没有ROLE_的基础上还加上了ROLE_呢(我真是个细心的好孩子呢...)

后来我小心翼翼的试着把ROLE_删掉了

emmm发现跑通了

于情于理 这不科学

直到我看见这么一段代码

 好嘛 公司的代码里已经对role加了前缀了 所以后续就不需要了......

要实现商品浏览记录功能,可以使用JSP中的session对象来存储浏览过的商品信息。 首先,在商品详情页中,可以通过JSP代码获取到当前浏览的商品信息,并将其存储到session中。示例代码如下: ``` <% String productId = request.getParameter("productId"); // 获取当前浏览的商品ID String productName = "商品名称"; // 根据商品ID查询商品名称等信息 String productPrice = "商品价格"; String productImage = "商品图片路径"; // 将商品信息存储到session中 HttpSession session = request.getSession(); List<String[]> historyList = (List<String[]>) session.getAttribute("historyList"); if (historyList == null) { historyList = new ArrayList<String[]>(); } String[] productInfo = {productId, productName, productPrice, productImage}; historyList.add(0, productInfo); if (historyList.size() > 5) { historyList.remove(5); } session.setAttribute("historyList", historyList); %> ``` 上述代码中,首先获取到当前浏览的商品ID,然后查询该商品的名称、价格、图片路径等信息。接着,从session中获取商品浏览记录列表,如果列表不存在则创建一个新的列表。将当前浏览的商品信息添加到列表的最前面,如果列表超过了5个则删除最后一个。最后,将更新后的列表重新存储到session中。 在商品浏览记录页面中,可以通过JSP代码获取到session中存储的商品浏览记录列表,并将其展示出来。示例代码如下: ``` <% HttpSession session = request.getSession(); List<String[]> historyList = (List<String[]>) session.getAttribute("historyList"); %> <!DOCTYPE html> <html> <head> <title>商品浏览记录</title> </head> <body> <h1>商品浏览记录</h1> <ul> <% for (String[] productInfo : historyList) { %> <li> <a href="productDetail.jsp?productId=<%=productInfo[0]%>"> <img src="<%=productInfo[3]%>" alt="<%=productInfo[1]%>"> <span><%=productInfo[1]%></span> </a> </li> <% } %> </ul> </body> </html> ``` 上述代码中,首先获取到session中存储的商品浏览记录列表。然后,使用JSP循环语句遍历列表中的每个商品信息,并将其展示出来。 以上就是实现商品浏览记录功能的JSP代码示例。需要注意的是,为了保证用户隐私安全,可能需要对商品浏览记录进行加密处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值