设为首页 加入收藏

TOP

SpringBoot3之Web编程(二)
2023-08-26 21:11:21 】 浏览:89
Tags:SpringBoot3 Web 编程
geList", pageList); // Array数组 PageBO[] pageArr = new PageBO[]{new PageBO(6,"第六页"),new PageBO(7,"第七页")} ; modelAndView.addObject("pageArr", pageArr); modelAndView.setViewName("/page-view"); return modelAndView ; } }

页面解析:分别解析了普通参数,实体对象,集合容器,数组容器等几种数据模型;

<div style="text-align: center">
    <hr/>
    <h5>普通参数解析</h5>
    姓名:<span th:text="${name}"></span>
    时间:<span th:text="${time}"></span>
    <hr/>
    <h5>对象模型解析</h5>
    整形:<span th:text="${page.getKey()}"></span>
    字符:<span th:text="${page.getValue()}"></span>
    <hr/>
    <h5>集合容器解析</h5>
    <table style="margin:0 auto;width: 200px">
        <tr>
            <th>Key</th>
            <th>Value</th>
        </tr>
        <tr th:each="page:${pageList}">
            <td th:text="${page.getKey()}"></td>
            <td th:text="${page.getValue()}"></td>
        </tr>
    </table>
    <hr/>
    <h5>数组容器解析</h5>
    <table style="margin:0 auto;width: 200px">
        <tr>
            <th>Key</th>
            <th>Value</th>
        </tr>
        <tr th:each="page:${pageArr}">
            <td th:text="${page.getKey()}"></td>
            <td th:text="${page.getValue()}"></td>
        </tr>
    </table>
    <hr/>
</div>

效果图展示

四、拦截器

1、拦截器定义

通过实现HandlerInterceptor接口,完成对两个拦截器的自定义,请求在访问服务时,必须通过两个拦截器的校验;

/**
 * 拦截器一
 */
public class HeadInterceptor implements HandlerInterceptor {
    private static final Logger log  = LoggerFactory.getLogger(HeadInterceptor.class);
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response,
                             Object handler) throws Exception {
        log.info("HeadInterceptor:preHandle");
        Iterator<String> headNames = request.getHeaderNames().asIterator();
        log.info("request-header");
        while (headNames.hasNext()){
            String headName = headNames.next();
            String headValue = request.getHeader(headName);
            System.out.println(headName+":"+headValue);
        }
        // 放开拦截
        return true;
    }
    @Override
    public void postHandle(HttpServletRequest request,HttpServletResponse response,
                           Object handler, ModelAndView modelAndView) throws Exception {
        log.info("HeadInterceptor:postHandle");
    }
    @Override
    public void afterCompletion(HttpServletRequest request,HttpServletResponse response,
                                Object handler, Exception e) throws Exception {
        log.info("HeadInterceptor:afterCompletion");
    }
}

/**
 * 拦截器二
 */
public class BodyInterceptor implements HandlerInterceptor {
    private static final Logger log  = LoggerFactory.getLogger(BodyInterceptor.class);
    @Override
    public boolean preHandle(HttpServletRequest request,HttpServletResponse response,
                             Object handler) throws Exception {
        log.info("BodyInterceptor:preHandle");
        Iterator<String> paramNames = request.getParameterNames().asIterator();
        log.info("request-param");
        while (paramNames.hasNext()){
            String paramName = paramNames.next();
            String paramValue = request.ge
首页 上一页 1 2 3 4 下一页 尾页 2/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇切面实现下单请求防重提交功能(.. 下一篇springboot~mybatis中使用selectK..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目