Spring Web Framework 0.4 概览与入门指南

需积分: 3 5 下载量 125 浏览量 更新于2024-10-18 收藏 598KB PDF 举报
"Spring Web Framework 0.4.pdf 是一份关于Spring Web Application Framework的文档,主要关注于表现层的开发。这份文档经过多次修订,最新版本为0.4,包含了从0.1到0.4的改进历史。文档内容涵盖Spring Web框架的基础知识,如页面呈现、错误处理、动态输出、输入表单以及控制器和标签的使用等。" Spring Web Framework是Java开发中的一个核心组件,用于构建现代、模块化的Web应用程序。在0.4版本的文档中,它深入讲解了如何利用该框架来构建Web应用的各个层面。 1. **目的(PURPOSE)**: 文档的主要目的是提供Spring Web框架的使用指南,帮助开发者理解如何在表现层中利用Spring来处理HTTP请求、返回响应,并管理用户界面逻辑。 2. **假设(ASSUMPTIONS)**: 假设读者对Java和Web开发有一定的基础,对MVC(模型-视图-控制器)架构有基本了解,且愿意学习Spring的Web相关功能。 3. **准备(PREPARATION)**: 开始之前,可能需要安装和配置Spring框架,以及相关的开发环境,如IDE和服务器。 4. **开始(GET STARTED)**: 文档提供了逐步指导,从最简单的静态HTML或JSP页面返回开始,逐渐过渡到更复杂的操作,如: - **返回静态HTML/JSPPAGE WITH A HARDCODED DESTINATION**: 教授如何创建一个简单的HTTP响应,返回预定义的HTML或JSP页面。 - **RETURN AN NAMED VIEW PAGE**: 解释如何通过命名视图来动态决定要显示的页面。 - **ERROR PAGES**: 如何设置和处理错误页面,提供友好的错误信息。 - **FORWARD AND REDIRECT**: 讨论了请求转发和重定向的区别与用法。 - **DYNAMIC OUTPUT FIELDS**: 展示如何动态生成和处理页面上的输出字段。 - **INPUT AND FORMS**: 介绍如何处理用户输入,创建和验证HTML表单。 5. **Spring 控制器和标签(SPRING CONTROLLERS AND TAGS)**: 这一部分深入讲解了Spring MVC中的控制器和标签库的使用,包括: - **SIMPLE FORM CONTROLLER**: 简单形式控制器的用法,用于处理基本的表单提交。 - **MORE SETTINGS ON SIMPLE FORM CONTROLLER**: 配置简单表单控制器的高级选项。 - **BIND MULTIPLE FIELDS**: 如何绑定多个表单字段到后端模型。 - **SELECT FROM A LIST/ARRAY/SET/MAP**: 教授如何在表单中创建下拉列表或其他选择元素,数据来源可以是列表、数组、集合或映射。 - **BIND MORE THAN ONE FIELD IN HTML FORMS**: 示例了如何在HTML表单中绑定多个字段。 - **BOOLEAN RADIO BUTTONS, CHECKBOXES, AND MULTIPLES**: 讲解了如何处理布尔值的单选按钮、复选框和多选框。 这份文档详尽地涵盖了Spring Web Framework 0.4版本中的关键特性,对于想要深入了解和使用Spring构建Web应用的开发者来说,是一份宝贵的参考资料。通过学习这些内容,开发者能够有效地利用Spring的灵活性和强大功能,构建出高效、可维护的Web应用。

org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Unexpected end-of-input within/between Object entries; nested exception is com.fasterxml.jackson.core.JsonParseException: Unexpected end-of-input within/between Object entries at [Source: (org.springframework.util.StreamUtils$NonClosingInputStream); line: 7, column: 17] at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:391) ~[spring-web-5.3.20.jar:5.3.20] at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.read(AbstractJackson2HttpMessageConverter.java:343) ~[spring-web-5.3.20.jar:5.3.20] at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver.readWithMessageConverters(AbstractMessageConverterMethodArgumentResolver.java:185) ~[spring-webmvc-5.3.20.jar:5.3.20] at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:160) ~[spring-webmvc-5.3.20.jar:5.3.20] at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:133) ~[spring-webmvc-5.3.20.jar:5.3.20] at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:122) ~[spring-web-5.3.20.jar:5.3.20] at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:179) ~[spring-web-5.3.20.jar:5.3.20] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:146) ~[spring-web-5.3.20.jar:5.3.20] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) ~[spring-webmvc-5.3.20.jar:5.3.20] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) ~[spring-webmvc-5.3.20.jar:5.3.20] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.20.jar:5.3.20] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.20.jar:5.3.20] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1067) ~[spring-webmvc-5.3.20.jar:5.3.20] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963) ~[spring-webmvc-5.3.20.jar:5.3.20] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) [spring-webmvc-5.3.20.jar:5.3.20] at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) [spring-webmvc-5.3.20.jar:5.3.20] 这个错误啥意思?

2023-07-22 上传

java.lang.IllegalStateException: Optional int parameter 'money' is present but cannot be translated into a null value due to being declared as a primitive type. Consider declaring it as object wrapper for the corresponding primitive type. at org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver.handleNullValue(AbstractNamedValueMethodArgumentResolver.java:263) ~[spring-web-5.3.25.jar:5.3.25] at org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver.resolveArgument(AbstractNamedValueMethodArgumentResolver.java:116) ~[spring-web-5.3.25.jar:5.3.25] at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:122) ~[spring-web-5.3.25.jar:5.3.25] at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:179) ~[spring-web-5.3.25.jar:5.3.25] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:146) ~[spring-web-5.3.25.jar:5.3.25] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) ~[spring-webmvc-5.3.25.jar:5.3.25] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) ~[spring-webmvc-5.3.25.jar:5.3.25] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.25.jar:5.3.25] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.25.jar:5.3.25] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1071) ~[spring-webmvc-5.3.25.jar:5.3.25] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:964) ~[spring-webmvc-5.3.25.jar:5.3.25] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.25.jar:5.3.25] at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) ~[spring-webmvc-5.3.25.jar:5.3.25]此错误是什么原因引起的?如何修改

2023-06-06 上传