zoukankan      html  css  js  c++  java
  • bbs论坛中的问题和心得。(更新)

    创建Spring Boot项目 勾选Aspects(Spring AOP)、Freemarker、JPA、Mysql 。
    在pom中手动添加热部署jar和对应的插件。
    连接池使用druid,添加druid的依赖。
    添加fastjson的依赖,用来处理JSON数据。
    添加fileupload的依赖,用来上传文件、图片上传。
    添加spring-boot-starter-aop的依赖,用来实现拦截器。

    WebMVCConfig配置:

    WebMVCConfig通过继承WebMvcConfigurerAdapter来配置MVC,添加@Configuration注解,让boot知道它是配置文件。
    1.通过重写addViewControllers来设置首页,设置优先级最高,当访问“/”下目录时,自动跳转设置的contrller
    2.Spring Boot默认会把静态页全部屏蔽 所以在config中要对静态资源进行处理,重写addResourceHandler方法对静态资源放行。设置resourceChain为true。
    3.过滤器 Spring提供的FilterRegistrationBean类,提供setFilter、setName、setOrder等方法。


    File.separator 跨平台的分隔符

    Crud:描述数据库或持久层的基本操作功能。create,retrieve(查询),update,delete
    dao层继承CrudRepository接口
    CrudRepository<Bbsuser,Integer> 对Bbsuser表进行操作 遵循JPA规范,主键类型
    通过@Query注解实现查询

    1 登录:@Query("select c from Bbsuser c where username=:u and password=:p")
    2    Bbsuser login(@Param("u") String username,@Param("p") String password)
    3 显示头像:@Query("select s from Bbsuser s where userid=:id")
    4     Bbsuser getPic(@Param("id" Integer id))
    5 显示主帖:@Query("select c from Article c where rootid=:id")
    6     Page<Article> queryAll(Pageable pageable,@Param("id") Integer id)


    Pageable是接口,PageRequest是接口实现


    注意——————————————————————————————
    @WebServlet中的urlPatterns中的名字前需加“/”,否则可能会找不到页,404。

    做到显示用户头像时,出现NumberFormatException: For input string: "" ,是因为原模板中有两处传id参数,用户头像和帖子头像(在table页中),删除后者即可。

    注册新用户时,必须在数据库中设置页数。不然会出现null指针异常。

    注册用户时,需在服务器端建立upload文件夹来存放图片,然后才能读取服务器中的文件并转为字节形式存在数据库中。

    注册用户时,vmap集合如果是全局的,那么应该设为null,在具体请求中进行实例化,否则在全局中只实例一次,如果在游客注册前,有用户登录过,那么vmap中含有登录的用户,则注册后显示的是上一个登录用户的信息。

    在开发Web应用程序时,允许用户利用multipart请求将本地文件上的文件传到服务器。
    Spring通过对ServletAPI的HttpServletRequest接口进行扩展,使其能够很好地处理文件上传。
    enctype属性的属性值设为multipart/form-data
    type属性值设为file


    存储过程:
    delimiter //
    create procedure p_2 (
    in in_id int, /* 主帖id 根据它进行从帖查询*/
    out out_title varchar(50) /* 主帖标题 */
    )
    begin
    /* 根据参数查主帖(rootid=0)或从帖信息 */
    select *from article where rootid=in_id order by id;
    /* 根据参数查主帖标题*/
    select title into out_title from article where id=in_id;

    end //
    delimiter ;

    show页参数:
    id:帖子id
    uid:当前登录用户id
    duid:发本主帖的用户id
    rootid:从帖所属主帖id

    仍存在的bug :登录时没有检测用户名和密码正确性,若错误直接转到了游客页面。
    已经存在的用户,仍可以继续注册。
    点击了有从帖的帖子后,再点击没从帖的帖子,其标题会是有从帖的帖子标题。
    登录后不能继续登陆 应先退出。
    显示头像时的bug莫名其妙就好了。

  • 相关阅读:
    ROS+clion多节点调试
    argparse模块用法实例详解
    Python3中的bytes和str类型
    elk日志过滤文档
    centos7普通用户无法切换为root用户处理
    Hyper-V迁移方案
    中小互联网电商(电商)公司研发部门组织架构
    基于Redis实现令牌桶限流
    异步与协程
    C# 同步上下文及死锁
  • 原文地址:https://www.cnblogs.com/WyaJx/p/7812074.html
Copyright © 2011-2022 走看看