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

  • 相关阅读:
    剑指offer——最小的K个数和数组中第K大的元素
    Leetcode刷题指南链接整理
    160. Intersection of Two Linked Lists
    100. Same Tree
    92. Reverse Linked List II
    94. Binary Tree Inorder Traversal
    79. Word Search
    78,90,Subsets,46,47,Permutations,39,40 DFS 大合集
    0x16 Tire之最大的异或对
    0x16 Tire
  • 原文地址:https://www.cnblogs.com/WyaJx/p/7812074.html
Copyright © 2011-2022 走看看