0
点赞
收藏
分享

微信扫一扫

论坛项目知识点

梦为马 2022-05-03 阅读 88

1、application.properties里面基础配置?
2、dao包下的UserMapper.java写什么?
3、resource包下有user-mapper.xml文件里面写什么?
4、动态sql实现的关键代码?mapper映射配置文件中的常见参数(id,resulttype)?
5、在标签中,keyProperty属性的作用是什么?
6、使用mybatis的步骤
7、如何设置代码的日志级别
8、用户表的结构
9、讨论帖表的结构
10、在方法参数里面的@Param(“”)注解的作用?
11、查询帖子的mapper接口书写?
12、mapper的映射配置文件中的mapper标签中的属性namespace是什么意思?
13、含if标签的动态sql书写关键部分?
14、在test类上的注解
15、在查询帖子时,如果仅仅查帖子表,在页面上显示的并不是用户id,而是具体的用户名,这应该怎么做?
16、resources下面放的是什么?
17、关于@RequestBody和@ResponstBody
19、前后端整合不要忘记什么?
19–1.常见th标签
20、sql中的limit语句中,limit x,y 代表从数据库中的第x+1行开始查,向下查y行,那么x如何用当前页和每页条数表示呢?
21、关于用户头像和帖子不在一张表时,封装的步骤?
22、在Controller接口中的参数,为什么该参数可以直接被前端页面调用?
23、前端点击按钮,如何实现路径改变?
24、报错:无效的源发行版
25、项目调试技巧
26、如何在控制台打印自己输入的日志?
27、版本控制(待完善)
28、关于jar包导入了却无法引用的问题?
29、项目结构分析?
30、邮箱功能开发步骤
32、如何利用thymeleaf模板发邮件?
33、点击前端文字,页面跳转的原理理解?
34、thymeleaf实现代码复用?
35、return “/index”有什么用?
36、随机字符串的生成方法?
37、MD5加密方法?
38、网站域名配置
39、如何在注册时将用户的密码进行加密?
40、字符串中要想出现随机数字,该如何做?
41、注册时发送验证邮件分析?
43、若前端传入的username,user的实体类叫name,Controller中的参数User实体类有用吗?
44、注册功能分析?
45、代码层次如何判断注册成功还是失败?
45、当点击注册后,注册失败时,如何保留输入框内的值?
46、如何给标签动态的加属性?
47、某个类要用常量,怎么做?
48、@PathVariable注解作用?
49、某属性如何获取配置文件中的变量的值?
50、Cookie和Session的区别?
53、如何利用注解写sql
54、如何在注解里面书写动态sql
55、常见sql复习
56、如何设置过期时间
57、如果前端需要显示错误信息,如密码错误,该如何操作?
58、Kaptcha配置类的书写?
59、为什么要将验证码的文字放入到session当中?
60、如何在Controller中获得session?
61、如何将图片输出到浏览器?
62、如何在Controller中获得response,如何获得输出流?
63、前端刷新验证码实现
64、前端页面如何获得request中的数据?
65、如何获得页面中的cookie?
66、拦截器中的方法?
67、显示登录信息的流程?
72、常用的4个元注解及对应的功能?
84
什么是事务?
85
常见并发异常?
1、application.properties里面基础配置?

配的有数serverProperties,数据源,mybatis等相关配置


2、dao包下的UserMapper.java写什么?

里面写的是一些user的接口


3、resource包下有user-mapper.xml文件里面写什么?

里面写的是sql


4、动态sql实现的关键代码?mapper映射配置文件中的常见参数(id,resulttype)?
在mapper的映射配置文件中,动态sql关键代码:

里面的id指的是方法名,resulttype代表返回数据类型,要写全限定名,但在配置中已经配置了包名,故可以简化。用#{}引入方法的里面的参数。

利用这可以实现引用sql


5、在标签中,keyProperty属性的作用是什么?
该例子中

的keyProperty是该表中的主键,便于获取数据库自动生成的id到实体类


6、使用mybatis的步骤
编写配置文件,创建对应实体类,创建mapper接口,创建mapper映射配置文件,将Mapper接口注入到某类中使用


7、如何设置代码的日志级别

logging.level.com.nowcoder.community=debug


8、用户表的结构

id,用户名,密码,盐,邮箱,类类型,状态,激活码,头像,创建时间


9、讨论帖表的结构

帖子id,发帖用户,帖子名,帖子内容,帖子类型,帖子状态,创建时间,帖子评论数,帖子分数


10、在方法参数里面的@Param(“”)注解的作用?

作用:给参数起别名,
使用场景:如果只有一个参数,并且在里使用,则必须加别名.


11、查询帖子的mapper接口书写?

1个动态代理接口方法作用是根据用户id分页查询帖子
1个动态代理接口方法作用是根据用户id查询用户帖子数量


12、mapper的映射配置文件中的mapper标签中的属性namespace是什么意思?

namespace里面写上对应的mapper接口,全限定名


13、含if标签的动态sql书写关键部分?

如果传入的id不是0,则用id查。如果为0,则不用id查,查全部
and …


14、在test类上的注解

@RunWith(SpringRunner.class)
@SpringBootTest
@ContextConfiguration(classes=启动类类名.class)

这个注解通常与@RunWith(SpringJUnit4ClassRunner.class)联合使用用来测试
当一个类添加了注解@Component,那么他就自动变成了一个bean,就不需要再Spring配置文件中显示的配置了。把这些bean收集起来通常有两种方式,Java的方式和XML的方式。当这些bean收集起来之后,当我们想要在某个测试类使用@Autowired注解来引入这些收集起来的bean时,只需要给这个测试类添加@ContextConfiguration注解来标注我们想要导入这个测试类的某些bean。


15、在查询帖子时,如果仅仅查帖子表,在页面上显示的并不是用户id,而是具体的用户名,这应该怎么做?
两种方法:第一种是通过sql关联查询。第二种是再创建一个service,在这个service里面查询用户表里面用户的名字,最后将两个service到Controller,Controller返回封装的数据。

16、resources下面放的是什么?

mapper文件,静态资源,静态页面,application.properties,其他配置文件


17、关于@RequestBody和@ResponstBody

@RequestBody(required=false)

使用json传数据,能将json数据封装到对象里面,需要将请求改为post,(即接收页面传入的json数据)

@ResponseBody

向页面返回json数据


19、前后端整合不要忘记什么?

(1)声明模板引擎

(2)配置顶部和底部路径的相对路径

用:th:href =“@{}” 让它去static下面去找对应的静态资源。即所有的相对路径的资源都用这种方式处理


19–1.常见th标签

遍历: th:each=“map:${discussPosts}”

引入图片 th:src=“${}”

引入文字 th:utext=“${}”

判断 th:if=“${}”

日期格式化 …

页面跳转 th:href=“${}”


20、sql中的limit语句中,limit x,y 代表从数据库中的第x+1行开始查,向下查y行,那么x如何用当前页和每页条数表示呢?

–》x=(current - 1) * limit

实战:查询第三页的数据:limit (3-1)*limit

21、关于用户头像和帖子不在一张表时,封装的步骤?

取得帖子的list集合,每次遍历时,从list集合中取出1个放到map集合里面,取user放到map集合中,再将map集合放到List集合中(若想不明白时,可以debug)

22、在Controller接口中的参数,为什么该参数可以直接被前端页面调用?
如Page参数:在Controller里面,方法调用前,SpringMVC会自动实例化Model和Page,并将Page注入Model.所以,即使不传递page对象,在thymeleaf中可以直接访问Page对象中的数据(因为page在model里面,而传递了model)


23、前端点击按钮,如何实现路径改变?

@{ p a g e . p a t h ( c u r r e n t = {page.path}(current= page.path(current={page.current+1})}这改变地址栏,从而实现传递参数
通过th:href

24、报错:无效的源发行版

解决:把下图的12改成8即可,还要改structe里面的


25、项目调试技巧
①将断点设置到哪,debug时就从哪个位置启动

②然后要在浏览器上访问,断点打到方法里面。f8代表下一行,f7表示进入当前行的当前方法的内部。可以看到当前这一行前代码中参数的值(鼠标放到参数的上方或者看方法的后面)

③若想要从蓝色处跳到红色处,按f9

看变量的详细信息时,在下面展开看

在这管理断点


26、如何在控制台打印自己输入的日志?
创建logger对象:
private static final Logger logger = LoggerFactory.getLogger(本类.class);
这样有错误信息的化,能以日志的形式打印出来:

若启动info级别日志,只会显示info,warn,error级别的日志


27、版本控制(待完善)

查看用户名和邮箱:

将代码提交到本地仓库:

将代码上传到远程仓库:

生成密匙并配置(百度),创建仓库,在git里面创建远程仓库别名


28、关于jar包导入了却无法引用的问题?

选这个,清除所有的包,然后关闭idea,然后打开,刷新maven


29、项目结构分析?

              java
   main------ resources

src----- test
pom


30、邮箱功能开发步骤

设置邮箱(打开SMTP服务),导入SpringEmail的jar包(去https://mvnrepository.com/搜),邮箱参数配置application.properties,编写客户端类MailClient,测试test


31、邮箱客户端类的书写?

1.通过JavaMailSender对象获取MimeMessage对象
2.通过MimeMessage对象获取MimeMessageHelper对象
3.通过MimeMessageHelper对象设置发件人,收件人,主题,内容
4.通过JavaMailSender对象发送邮件


32、如何利用thymeleaf模板发邮件?

(1)编写html页面作为发送的邮件,页面中可以包含动态的参数

(2)①创建context对象
②通过context对象设置变量
③利用templateEngine将context对象发送到邮件模板
④利用mailClient发送邮件


33、点击前端文字,页面跳转的原理理解?

点击“首页”按钮后,页面的链接改变,访问对应的servlet,在servlet里面的return实现页面传值和跳转


34、thymeleaf实现代码复用?

th:fragment=“源name”
th:replace=“源文件::源name”

35、return “/index”有什么用?

①实现页面跳转

②实现传值(传的有model,还有方法的参数,其中方法的参数被封装到了model里面了)


36、随机字符串的生成方法?

UUID.randomUUID().toString().replaceAll(“-”,“”);

37、MD5加密方法?

DigestUtils.md5DigestAsHex(key.getBytes());


38、网站域名配置

domain


39、如何在注册时将用户的密码进行加密?

①设置用户的盐
②设置用户的密码,用户的密码来自加密的密码和盐的拼接


40、字符串中要想出现随机数字,该如何做?
user.setHeaderUrl(String.format(“http://images.nowcoder.com/head/%dt.png”, new Random().nextInt(1000)));
利用(String.format(“xxx%dtxx”),i)


41、注册时发送验证邮件分析?

关于这个url:点这个链接时,用户访问这个链接,调用对应的servlet并传递用户相关参数


42、什么时候用get,什么时候用post请求?
浏览器向Controller提交数据时,用Post,其他用get

43、若前端传入的username,user的实体类叫name,Controller中的参数User实体类有用吗?
答:没用,传入的和实体类的属性要对应才可以直接在参数里面定义实体类user

44、注册功能分析?
点击注册按钮—>调用Controller(/register)—>调用UserService实现验证,注册,发送激活邮件
—>若没有错误信息,则携带正确信息,跳转到等待激活页面,此时用户点击邮件链接,则激活成功
—>若有错误信息,则携带错误信息,仍跳转到注册页面,将错误在页面上显示

45、代码层次如何判断注册成功还是失败?

看返回的map集合是否为空


46、当点击注册后,注册失败时,如何保留输入框内的值?(待完善)


47、



46、如何给标签动态的加属性?

th:class="||"代表动态拼接属性


47、某个类要用常量,怎么做?
实现常量类的接口

48、@PathVariable注解作用?

获取路径中的值


49、某属性如何获取配置文件中的变量的值?


50、Cookie和Session的区别?


51、登录凭证


52、两个Controller的请求路径可以重复,但请求方式不能重复


53、如何利用注解写sql

这样的话,可以不用写mapper的映射配置文件了
@insert({})

注意:@Options注解里面的操作


54、如何在注解里面书写动态sql


55、常见sql复习
insert into table( , , ,) values( , , ,)
update table set …=… where …=…

56、如何设置过期时间
如传参3,代表信息保持3秒
则将过期的具体时间放到凭证表里面


57、如果前端需要显示错误信息,如密码错误,该如何操作?

service:创建map集合,将错误信息放到map集合中,return map


58、Kaptcha配置类的书写?

@Configuration注解和@Bean注解联合使用,@Bean注解放方法上面
Properties---->DefaultKaptcha---->Config---->DefaultKaptcha.set(config)---->return DefaultKaptcha

59、为什么要将验证码的文字放入到session当中?

因为session保存在服务器,在其他的Controller能够调用并进行判断验证码是否正确

60、如何在Controller中获得session?

HttpSession session

61、如何将图片输出到浏览器?
调用这个Controller,就会返回图片

response.setContentType(“”)–>OutputStream–>ImageIO.write()


62、如何在Controller中获得response,如何获得输出流?

HttpServletResponse

response.getOutputStream


63、前端刷新验证码实现

这里用到了假的路径切换,点击刷新验证码标签,调用函数,src路径改变,实现验证码的切换


64、前端页面如何获得request中的数据?

用${param.}来获取参数

65、如何获得页面中的cookie?

用@CookieValue注解获取

66、拦截器中的方法?
当访问被拦截的路径时,会调用这些方法
preHandle()—》在Controller之前执行
postHandle()—》在Controller之后执行,模板之前执行
afterCompletion()—》在Controller,模板引擎之后执行

67、显示登录信息的流程?

这套逻辑需要反复使用,故需要放到拦截器中。

68、HostHolder类的作用?
持有用户信息,用于代替session对象。
HostHolder是线程隔离的

69、上传文件需要注意的点?
①请求必须是post请求
②表单需要加上


70、

这里面的输出流被springmvc管理,会自动关闭
而输入流要自己手动关闭

71、
关于头像上传步骤:点击上传头像按钮,在本地的指定位置下存储上传的文件,修改用户的headerurl(其中,用户头像的url是一个请求,在前端页面要显示时,访问该路径,输出图片)

72、常用的4个元注解及对应的功能?

Target表示注解的位置
Retention表示注解生效的时间
Document表示注解是否在api文档中显示
Inherited表示该注解是否可以被继承

73、


74、利用前缀树过滤敏感词
前缀树特点:
①前缀树的根节点不包含任何字符,其余节点仅包含一个字符。
②当前节点的字符串是从根节点遍历而来的。
③每个节点的子节点构成的字符串不能重复。
④将所有的叶子节点标记为敏感词。
前缀树举例:

过滤敏感词算法演示:

指针1用来指向字符串中的当前字符在树中
指针2为敏感字符的起始
指针3为敏感字符的结束
找到敏感词后,3指针向后移动一位,2指针指向3指针的位置,1指针指向root


75、该注解的作用?

表示调用该类的构造方法之后,该方法会自动的被调用


76、放在try里面的输入输出流,会在catch后面自动加上finally关闭掉,不用手动关闭

其中该操作能获取编译后的class目录下名为sensitive-words.txt文件的字节流

77
如何将字节流转换为缓冲流?

字节流–》字符流–》缓冲流

78
如何获得某个字符串中某个位置的字符


79
字符串需要经常追加结果时,用什么类型?


80
如何判断某个字符是否是普通字符?


81
JQuery实现异步请求通用模板?

注意:实现异步,主要的还是靠这个前端代码


82
如何将文本中的标签类信息替换掉(转义HTML标记)?


83

注意:加@是为了不用写项目的固定路径,加两个||是为了拼接帖子的id

84
什么是事务?


85
常见并发异常?
①第一类丢失更新

②第二类丢失更新

③脏读

④不可重复读

⑤幻读


86
事务隔离级别


87
乐观锁和悲观锁


88
spring管理事务方式


89
如何给某个方法上用上事务管理(声明式事务)?

利用该注解实现
前面是隔离级别,后面是传播机制。

90
事务传播机制?
当方法一加上事务注解时,方法二(大)调用方法一(小)的注解,那么应该用谁的注解呢?
REQUIRED:支持方法二(外部事务)
REQUIRES_NEW:支持方法一
NESTED:方法一独立提交和回滚

91
将字符串转换为数字


92
如何给某个方法上用上事务管理(编程式事务)?

注入事务模板,然后调用方法,执行方法即可


93
关于评论的字段说明?

entity_type:表示评论的对象类型(如对用户的评论,对帖子的评论)

entity_id:表示评论的对象的id(如用户的id,帖子的id)

target_id:表示回复的对象的id(是该表的id)


94、增方法里面一般写实体,删改查方法里面不写实体,方法的首字母小写

95、关于如何判断前端页面存在的对象有哪些
当html页面显示的是具体内容时,这些内容往往来自某个实体(极为重要),即从前端,去想后端

96、回复帖子功能分析?
(所有的评论都在一张表)

当用户发布评论时,前端向后端传的有评论对象类型,评论对象id,目标用户的id(均通过hidden标签),后端的Controller用Comment实体和PostId接收


97、Mybatis之foreach标签的使用


98、异步重点代码分析
function send_letter() {
$(“#sendModal”).modal(“hide”);//隐藏发送框
var toName = $(“#recipient-name”).val();//获得私信对象
var content = $(“#message-text”).val();//获得私信内容
$.post(//异步请求
CONTEXT_PATH + “/letter/send”,//请求路径
{“toName”:toName,“content”:content},//请求参数
function(data) {//接收后端的数据
data = $.parseJSON(data);//将数据转为js对象
if(data.code == 0) {
$(“#hintBody”).text(“发送成功!”);//判断后端发送成功与否
} else {
$(“#hintBody”).text(data.msg);
}
$(“#hintModal”).modal(“show”);//显示提示框
setTimeout(function(){
$(“#hintModal”).modal(“hide”);
location.reload();
}, 2000);//2秒后隐藏提示框
}
);
}


99、关于消息未读和已读的功能实现逻辑
用户访问和某个人私信页面时,后端获取所有用户的私信集合,并判断所有私信的状态,如果是未读的私信,则改为已读。否则不用变

100、关于统一处理异常
业务层和数据层将异常都抛到了表现层,故在表现层统一处理异常

101、统一异常处理时,错误页面要放到templates下,包名要叫error,页面名要为错误状态


102、


103、

表示只扫描带有Controller注解的bean

104、后端如何判断某次请求是普通请求还是异步请求?


105、当Controller发生异常时,会自动访问这个方法,记录日志并实现页面重定向


106、关于AOP
AOP是一种编程思想
额外定义组件(切面),该组件可对多个模块实现某个功能,并且不嵌入模块(用织入方法)
其中的切面

Pointcut:代码织入的位置
Advice:织入的具体位置和逻辑


107、AOP的实现


108、动态代理的方式


109、Pointcut分析

代表: 返回值,包,类,方法,参数

110、Redis概念入门


111、Redis命令入门
①切换库 select 2 (切换到第三个库)(共15个)
②清空库 flushdb
③strings:key value
④hashes:key (name ,value)
⑤lists :key (value,value,value)
⑥sets:key (value,value,value) 不重复
⑦sorted sets:key (score value score value)

112、Spring整合redis步骤


113、

举报

相关推荐

项目知识点汇总

ibaits知识点

Less知识点

jquery知识点

Hadoop知识点

CSS知识点

0 条评论