• 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莫名其妙就好了。

  • 相关阅读:
    html实现时间输入框
    使用textarea标签代替input标签可以实现输入框的大小调节,自动换行,滚动条显示
    requests模块的使用
    抓包工具Fiddler使用教程
    git 使用merge 对本地分支进行合并 并进行代码提交的流程
    js常用方法汇总
    js对象排序
    原生javasxript获取浏览器的滚动距离和可视窗口的高度
    深度对象拷贝
    curl扩展代码
  • 原文地址:https://www.cnblogs.com/WyaJx/p/7812074.html
Copyright © 2020-2023  润新知