当前位置: 首页 > wzjs >正文

广州做网站哪里好整站优化系统

广州做网站哪里好,整站优化系统,网络科技公司洛阳,域名注册商查询工具摘要: 1、通俗易懂,适合小白 2、仅做面试复习用,部分来源网络,博文免费,知识无价,侵权请联系! 1. 什么是 Spring MVC 框架? 答案:Spring MVC 是 Spring 框架中的一个模…

摘要:
1、通俗易懂,适合小白
2、仅做面试复习用,部分来源网络,博文免费,知识无价,侵权请联系!

1. 什么是 Spring MVC 框架?

答案:Spring MVC 是 Spring 框架中的一个模块,是基于 Java 实现 MVC 设计模式的轻量级 Web 框架。它通过一套注解和接口,使 Web 应用的开发变得简单高效。

核心特点

  • 清晰的职责分离(控制器、模型、视图)
  • 强大的注解支持
  • 灵活的视图解析
  • 与 Spring 生态无缝集成

2. Spring MVC 中常用的注解包含哪些?

答案

  • @Controller:标识控制器类
  • @RequestMapping:映射请求路径
  • @RequestParam:获取请求参数
  • @PathVariable:获取路径变量
  • @ResponseBody:直接返回数据而非视图
  • @RestController:组合 @Controller + @ResponseBody
  • @ModelAttribute:绑定模型数据
  • @SessionAttributes:将模型数据存入 session
  • @Valid:参数校验

示例

@RestController
@RequestMapping("/users")
public class UserController {@GetMapping("/{id}")public User getUser(@PathVariable Long id) {// ...}@PostMappingpublic ResponseEntity<User> createUser(@Valid @RequestBody User user) {// ...}
}

3. Spring MVC 执行流程是什么?

答案

  1. 用户发送请求到前端控制器 DispatcherServlet
  2. DispatcherServlet 调用 HandlerMapping 查找 Handler
  3. 返回 HandlerExecutionChain(包含 Handler 和拦截器)
  4. DispatcherServlet 调用 HandlerAdapter 执行 Handler
  5. Handler 执行完成后返回 ModelAndView
  6. DispatcherServlet 调用 ViewResolver 解析视图
  7. 返回 View 对象
  8. DispatcherServlet 渲染视图并返回响应

4. Spring MVC 如何解决请求中文乱码问题?

解决方案

  1. 配置 CharacterEncodingFilter
  2. 设置 request/response 编码
  3. 配置 Tomcat server.xml 的 URIEncoding

示例

@Configuration
public class WebConfig implements WebMvcConfigurer {@Beanpublic Filter characterEncodingFilter() {CharacterEncodingFilter filter = new CharacterEncodingFilter();filter.setEncoding("UTF-8");filter.setForceEncoding(true);return filter;}
}

5. Spring MVC 请求转发和重定向有什么区别?

答案

特性转发 (forward)重定向 (redirect)
请求次数1 次2 次
URL 变化不变变化
数据共享共享 request 域不共享
实现方式return “forward:url”return “redirect:url”
效率更高较低

6. Spring MVC 中系统是如何分层?

答案

  1. 表现层 (Presentation Layer):@Controller
  2. 业务逻辑层 (Service Layer):@Service
  3. 数据访问层 (DAO Layer):@Repository
  4. 模型层 (Model Layer):POJO/DTO
  5. 视图层 (View Layer):JSP/Thymeleaf 等

7. 如何开启注解处理器和适配器?

答案

  1. XML 配置方式:
<mvc:annotation-driven/>
  1. Java 配置方式:
@Configuration
@EnableWebMvc
public class WebConfig implements WebMvcConfigurer {// ...
}

8. Spring MVC 如何设置重定向和转发?

示例

@Controller
public class RedirectController {// 转发@GetMapping("/forward")public String forward() {return "forward:/target";}// 重定向@GetMapping("/redirect")public String redirect() {return "redirect:/target";}
}

9. Spring MVC 中函数的返回值是什么?

答案

  1. String:视图名称
  2. ModelAndView:包含模型和视图信息
  3. void:直接写 response
  4. ResponseEntity:包含完整响应(状态码、头、体)
  5. @ResponseBody:直接返回数据

10. Spring MVC 中 @RequestMapping 注解都有哪些属性?

主要属性

  • value/path:映射路径
  • method:请求方法(GET/POST等)
  • params:请求参数条件
  • headers:请求头条件
  • consumes:请求内容类型
  • produces:响应内容类型

示例

@RequestMapping(value = "/users/{id}",method = RequestMethod.GET,produces = MediaType.APPLICATION_JSON_VALUE
)
public User getUser(@PathVariable Long id) {// ...
}

11. Spring MVC 控制器是单例的吗?

答案:默认是单例的,所有请求共享同一个控制器实例。因此控制器应避免使用非线程安全的成员变量。

12. RequestMethod 可以同时支持POST和GET请求访问吗?

答案:可以,通过 method 属性指定多个请求方法:

@RequestMapping(value = "/users",method = {RequestMethod.GET, RequestMethod.POST}
)
public String handleRequest() {// ...
}

13. Spring MVC 中文件上传有哪些需要注意事项?

注意事项

  1. 配置 MultipartResolver
  2. 表单 enctype=“multipart/form-data”
  3. 使用 @RequestParam MultipartFile 接收文件
  4. 限制文件大小
  5. 处理文件名安全

示例

@PostMapping("/upload")
public String upload(@RequestParam("file") MultipartFile file) {if (!file.isEmpty()) {// 处理文件}return "redirect:/success";
}

14. Spring MVC 和 Struts2 有哪些区别?

答案

特性Spring MVCStruts2
设计基于方法基于类
性能更高较低
拦截器HandlerInterceptorInterceptor
依赖注入原生支持需整合
REST支持完善有限

15. Spring MVC 中 @RequestMapping 注解用在类上有什么作用?

答案:为控制器中的所有方法提供统一的路径前缀,减少重复路径定义。

示例

@Controller
@RequestMapping("/users")
public class UserController {@GetMapping("/list")  // 实际路径:/users/listpublic String list() {// ...}
}

16. Spring MVC 中 @PathVariable 和 @RequestParam 有哪些区别?

答案

特性@PathVariable@RequestParam
来源URL 路径请求参数
必需性默认必需可选(required=false)
格式/users/{id}/users?id=123
多值支持不支持支持(数组/List)

17. Spring MVC 中如何进行异常处理?

解决方案

  1. 使用 @ExceptionHandler
  2. 实现 HandlerExceptionResolver
  3. 使用 @ControllerAdvice
  4. 配置 SimpleMappingExceptionResolver

示例

@ControllerAdvice
public class GlobalExceptionHandler {@ExceptionHandler(Exception.class)public ResponseEntity<String> handleException(Exception e) {return ResponseEntity.status(500).body(e.getMessage());}
}

18. Spring MVC 如何将 Model 中数据存放到 Session?

解决方案

  1. 使用 @SessionAttributes
  2. 直接操作 HttpSession

示例

@Controller
@SessionAttributes("user")
public class UserController {@PostMapping("/login")public String login(@ModelAttribute User user, Model model) {model.addAttribute("user", user);return "redirect:/home";}
}

19. Spring MVC 如何与 Ajax 相互调用?

解决方案

  1. 使用 @ResponseBody 或 @RestController
  2. 返回 JSON/XML 数据
  3. 前端使用 jQuery/Axios 等发送请求

示例

@RestController
@RequestMapping("/api")
public class ApiController {@GetMapping("/users")public List<User> getUsers() {return userService.findAll();}
}

20. Spring MVC 中如何拦截 get 方式请求?

解决方案

  1. 使用拦截器
  2. 在 @RequestMapping 指定 method=GET

示例

@GetMapping("/users")
public String getUsers() {// 只拦截GET请求
}

21. Spring MVC 控制器注解一般适用什么?可以适用什么替代?

答案

  • 主要注解:@Controller 或 @RestController
  • 替代方案
    • 实现 Controller 接口(传统方式)
    • 使用 @Component + @RequestMapping(不推荐)

22. Spring MVC 中拦截器如何使用?

答案

  1. 实现 HandlerInterceptor 接口
  2. 注册拦截器

示例

public class AuthInterceptor implements HandlerInterceptor {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {// 验证逻辑return true; // 继续执行}
}@Configuration
public class WebConfig implements WebMvcConfigurer {@Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(new AuthInterceptor()).addPathPatterns("/**").excludePathPatterns("/login");}
}

23. Spring MVC 中如何实现拦截器?

答案:见第22题答案。

24. 说一说 Spring MVC 注解原理?

答案:Spring MVC 注解基于 Java 反射和动态代理实现:

  1. 启动时扫描带有注解的类
  2. 解析注解信息生成元数据
  3. 请求时通过 HandlerMapping 匹配处理器
  4. 通过 HandlerAdapter 执行方法
  5. 使用 HttpMessageConverter 处理参数和返回值

25. Spring MVC 中日期类型参数如何接收?

解决方案

  1. 使用 @DateTimeFormat
  2. 自定义 Converter/Formatter
  3. 配置全局日期格式

示例

@GetMapping("/events")
public String getEvents(@RequestParam @DateTimeFormat(pattern="yyyy-MM-dd") Date date) {// ...
}

26. 说一说对 RESTful 的理解及项目中的使用?

答案
RESTful 原则

  1. 资源标识(URI)
  2. 统一接口(HTTP方法)
  3. 无状态
  4. 可缓存
  5. 分层系统

项目应用

@RestController
@RequestMapping("/api/users")
public class UserRestController {@GetMapping("/{id}")public User getUser(@PathVariable Long id) {// GET /api/users/1}@PostMappingpublic User createUser(@RequestBody User user) {// POST /api/users}
}

27. Spring MVC 常用的注解有哪些?

答案:见第2题答案。

28. Spring MVC模块的作用是什么?

答案:提供基于 MVC 架构的 Web 应用开发支持,包括:

  1. 请求路由
  2. 参数绑定
  3. 视图解析
  4. 异常处理
  5. 数据验证
  6. 文件上传

29. 说一说 Spring MVC 都有哪些组件?

核心组件

  1. DispatcherServlet:前端控制器
  2. HandlerMapping:请求映射
  3. HandlerAdapter:处理器适配器
  4. ViewResolver:视图解析器
  5. HandlerInterceptor:拦截器
  6. MultipartResolver:文件上传解析器
  7. LocaleResolver:国际化解析器

30. 简单介绍一下 WebApplicationContext?

答案:WebApplicationContext 是 ApplicationContext 的扩展,专为 Web 应用设计,提供:

  1. 访问 ServletContext
  2. 主题解析
  3. 多配置文件支持
  4. 与 Servlet API 集成

31. Spring 中 BeanFactory 与 ApplicationContext 的作用有哪些?

答案

  • BeanFactory:基础 IoC 功能
  • ApplicationContext
    • 继承 BeanFactory 所有功能
    • 提供消息资源处理
    • 事件发布
    • 与 Web 环境集成
    • 更方便的资源访问

32. handler method 参数绑定常用注解,处理 Request 内容部分分为哪四类?

答案
常用注解

  1. @RequestParam
  2. @PathVariable
  3. @RequestBody
  4. @ModelAttribute

Request 内容分类

  1. URL 参数
  2. 路径变量
  3. 请求体
  4. 请求头

33. Spring MVC 框架的特点都有哪些?

答案

  1. 清晰的 MVC 分层
  2. 强大的注解支持
  3. 灵活的视图技术
  4. 与 Spring 集成
  5. REST 支持
  6. 可扩展设计
  7. 国际化支持
  8. 主题支持
http://www.dtcms.com/wzjs/286240.html

相关文章:

  • 展示类网站建设网络市场调研的方法
  • 网站备案变更接入品牌广告策划方案
  • 常州平台网站建设互联网网络推广公司
  • 如何在电脑上建网站如何让百度收录自己信息
  • 网站建设与管理 市场分析优化网哪个牌子好
  • 怎样给自己的店做网站seo外链怎么发
  • 门户网站营销seo优化排名价格
  • 各大企业网站文案网站seo关键词排名推广
  • 广州模板网站如何进行电子商务网站推广
  • 网站是哪个公司做的重大新闻事件
  • 做网站怎么插音频外贸网站模板
  • 开通小程序要钱吗东营seo整站优化
  • 受欢迎的惠州网站建设百度搜索榜单
  • 佳木斯企业网站建设百度seo优化培训
  • 深圳网站建设合同范本百度的总部在哪里
  • 网站后期维护包括怎么学seo基础
  • 定制网站模板天津网站快速排名提升
  • 仿土豆网站源码百度上的广告多少钱一个月
  • 白银区住房和城乡建设局网站超级外链
  • 网站开发后需要交接哪些材料系统优化app最新版
  • 手机网站开发哪个好江东怎样优化seo
  • 网站设计建议百度点击软件找名风
  • 深圳做网站公司哪家好舆情监测系统排名
  • 专做商业平台网站广东免费网络推广软件
  • 如何让产品吸引顾客优化网络软件
  • 电子商务网站建设与管理答案优秀的软文广告欣赏
  • 微信免费建站长沙seo咨询
  • 沈阳做网站建设数据分析师一般一个月多少钱
  • 比较冷门的视频网站做搬运电商广告网络推广
  • 学网站开发推荐书推广引流工具