近期一直在准备面试,所以为了巩固知识,也为了梳理,整理了一些java的基础面试题!同时也希望各位英雄和女侠能够补充!不胜荣幸!!!
名称 | 地址 |
---|---|
Java面试题【必知必会】基础(2024) | Go-Go-Go |
Java面试题【必知必会】常见基础题(2024) | Go-Go-Go |
Java面试题【必知必会】MySQL常见面试题(2024) | Go-Go-Go |
Java面试题【必知必会】Spring常见面试题(2024) | Go-Go-Go |
Java面试题【必知必会】Mybatis常见面试题(2024) | Go-Go-Go |
Java面试题【必知必会】SpringMVC常见面试题(2024) | Go-Go-Go |
Java面试题【必知必会】SpringBoot常见面试题(2024) | Go-Go-Go |
Java面试题【必知必会】SpringCloud常见面试题(2024) | Go-Go-Go |
Java面试题【必知必会】Redis常见面试题(2024) | Go-Go-Go |
Java面试题【必知必会】Linux常用命令面试题(2024) | Go-Go-Go |
1.Spring MVC常用的注解有哪些?=======被问+1
- @Controller:Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示
- @ResponseBody:该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。简单理解就是:返回的数据不是html标签的页面,而是其他某种格式的数据:比如JSON数据
- @RestController:相当于@ResponseBody + @Controller,
- @RequestMapping:@RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。
- @RequestBody:@RequestBody主要用来接收前端传递给后端的json字符串中的数据的;而最常用的使用请求体传参的无疑是POST请求了,所以使用@RequestBody接收数据时,一般都用POST方式进行提交
- @PathVariable:接收请求路径中占位符的值。比如:请求路径上有个id的变量值,可以通过@PathVariable来获取 @RequestMapping(value = “/page/{id}”, method = RequestMethod.GET)
- @RequestParam:将请求参数绑定到你控制器的方法参数上
2.Spring MVC怎么样设定重定向和转发的?
重定向:在返回值前面加”redirect:”,比如:”redirect:http://www.baidu.com“
转发:在返回值前面加”forward:”,譬如”forward:/test.js”
3.Spring MVC里面拦截器是怎么写的?
有两种写法,一种是实现HandlerInterceptor接口,另外一种是继承适配器类,接着在接口方法当中,实现处理逻辑
以实现HandlerInterceptor接口为例:
package com.shallow.interceptor;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class LoginInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
// 登陆的情况下不放行