spring-mvc 相关问题

基于模型 - 视图 - 控制器(MVC)模式构建Java Web应用程序的框架。它从底层视图技术中提升灵活和分离的代码。

www-authenticate 标头破坏了 JettyClientHttpConnector

环境 春季启动3.3.4 春季网页 6.1.1 经营地点旧环境 春季启动 2.7.18 春季网页 5.3.31 语境 我们已从 Spring Boot 2.7.18 环境迁移到 Spring B...

回答 1 投票 0

使用 Feign 客户端执行计划任务的 Spring Boot 应用程序中出现循环 HTTP 400 错误

我在使用 Feign 客户端进行服务间通信的 Spring Boot 应用程序中遇到循环错误模式。这个问题特别出现在执行 HTTP POST 的计划任务中

回答 1 投票 0

所需的字符串参数“licenceplate”不存在”

我检查了针对类似问题提出的不同现有问题,但我的问题没有得到任何帮助。 事实上,我不能像在这个问题或这个问题中那样使用@RequestBody。 我正在努力...

回答 1 投票 0

Hibernate内存泄漏-BoundedConcurrentHashMap

请帮忙解决Spring MVC应用程序中的内存问题 请找到我的交易配置 请帮助解决 Spring MVC 应用程序中的内存问题 请查看我的交易配置 <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close" p:driverClass="${jdbc.driverClassName}" p:jdbcUrl="${jdbc.databaseurl}${jdbc.encoding}" p:user="${jdbc.username}" p:password="${jdbc.password}" p:minPoolSize="${minPoolSize}" p:maxPoolSize="${maxPoolSize}" p:checkoutTimeout="${checkoutTimeout}" p:maxIdleTime="${maxIdleTime}" p:idleConnectionTestPeriod="${idleConnectionTestPeriod}" /> jdbc: minPoolSize=15 initalPollSize=25 maxPoolSize=60 #Give up waiting for a connection after this many milliseconds checkoutTimeout=18000 maxIdleTime=3600 idleConnectionTestPeriod=300 maxStatements=100 numHelperThreads=15 acquireIncrement=10 <!--session factory --> <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">${jdbc.dialect}</prop> <prop key="hibernate.show_sql">false</prop> <prop key="hibernate.generate_statistics">false</prop> </props> </property> <property name="entityInterceptor" ref="auditInterceptor"> </property> </bean> <!-- transaction manager --> <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <!-- transaction interveptor --> <bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor"> <property name="transactionManager" ref="transactionManager" /> </bean> <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator"> <property name="beanNames"> <list> <value>*Service</value> </list> </property> <property name="interceptorNames"> <list> <value>exceptionInterceptor</value> <value>transactionInterceptor</value> </list> </property> </bean> 性能测试后,我的内存没有被释放。因此,在分析堆转储时出现以下错误 “org.apache.catalina.loader.WebappClassLoader @ 0x76000b8e8”加载的“org.hibernate.internal.SessionFactoryImpl”的一个实例占用 73,446,008 (32.66%) 字节。内存累积在由“org.apache.catalina.loader.WebappClassLoader @ 0x76000b8e8”加载的“org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment[]”的一个实例中。 org.hibernate.internal.SessionFactoryImpl @ 0x7624efeb0 136 49,987,288 34.31% \org.hibernate.engine.query.spi.QueryPlanCache @ 0x7630b1250 32 47,674,176 32.72% .\org.hibernate.internal.util.collections.BoundedConcurrentHashMap @ 0x763259a58 48 47,554,336 32.64% ..\org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment[32] @ 0x7632d1c60 144 47,554,288 32.64% 班级名称|浅堆|保留堆|百分比 org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment[32] @ 0x7632d1c60 | 144 | 144 47,554,288 | 47,554,288 32.64% |- org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment @ 0x76325ac88 | 48 | 48 1,497,688 | 1,497,688 1.03% |- org.hibernate.internal.util.collections.BoundedConcurrentHashMap$Segment @ 0x76325ac58 | 48 | 48 1,631,272 | 1,631,272 1.12% | |- org.hibernate.internal.util.collections.BoundedConcurrentHashMap$LIRSHashEntry @ 0x768fd54c0 | 56 | 56 880 | 880 0.00% | | |- org.hibernate.engine.query.spi.sql.NativeSQLQuerySpecification @ 0x7671eb8e8 | 32 | 32 48 | 48 0.00% | | | '- org.hibernate.engine.query.spi.sql.NativeSQLQueryReturn[0] @ 0x768ff16d0 | 16 | 16 16 | 16 0.00% | | |- org.hibernate.engine.query.spi.NativeSQLQueryPlan @ 0x768ff1640 | 24 | 520 | 520 0.00% | | |- java.lang.String @ 0x768ff1658 选择不同的 column FROM table WHERE column IN (94316) | 24 | 256 | 256 0.00% 请帮忙解决问题 我们在堆中观察到一个查询。 来自表,其中 statusFlg='Y' 且 deleteFlg='N' 且 id="+autoGenerateId 当我们将查询更改为 来自表,其中 statusFlg='Y' 且 deleteFlg='N' 且 id= :instanceid").setParameter("instanceId,autoGenerateId) 会话对象正在被垃圾收集。 有人可以详细解释一下吗 我刚刚遇到了类似的问题。 JPA程序会缓存从JPQL翻译过来的SQL语句,以避免因重复查询而频繁转换的开销。当我使用 JVM 分析工具检查内存使用情况时,我发现缓存的 SQL 查询占用了高达 3000MB 的内存空间! 为了解决这个问题,我调整了可以缓存的 SQL 语句的最大数量,结果成功了。 祝你好运!

回答 2 投票 0

使用thymeleaf +spring创建自定义标签(就像JSP)

我正在尝试使用 Thymeleaf 创建自定义标签,就像在 JSP 中一样。 我现在拥有的标签是: 我正在尝试使用 Thymeleaf 创建自定义标签,就像在 JSP 中一样。 我现在的标签是: <select th:include="fragments/combobox :: combobox_beans (beans=${@accountService.getAccounts()}, innerHTML='id,description,currency', separator=' - ', dumbHtmlName='List of accounts', name='sender' )" th:remove="tag"></select> 目的只是定义 beans 列表、要在屏幕上显示的 bean 属性、它们之间的分隔符、显示为本机模板时的默认值以及我们正在此处处理的原始 bean 的属性名称。 combobox.html: <div th:fragment="combobox_beans (beans, innerHTML, separator, dumbHtmlName, name)"> <select th:field="*{__${name}__}" class="combobox form-control" required="required"> <option th:each="obj : ${beans}" th:with="valueAsString=${#strings.replace( 'obj.' + innerHTML, ',', '+'' __${separator}__ ''+ obj.')}" th:value="${obj}" th:text="${valueAsString}" > <p th:text="${dumbHtmlName}" th:remove="tag"></p> </option> </select> 我需要选项标签的文本基于片段的innerHTML 属性(innerHTML='id,description,devise')中设置的属性。 我最终对这段文字有一个选择: <option value="...">obj.id+' - '+ obj.description+' - '+ obj.currency</option> 而不是想要的结果 <option value="...">2 - primary - USD</option> 我知道这是由于使用了 Strings 库导致了一个字符串。 有没有办法 Thymeleaf 可以重新评估这个字符串,使其再次被理解为一个对象? 也许在这种情况下使用字符串库是错误的...也许我需要使用 th:each 将每个 bean 作为对象处理并读取其属性,但同样,如何仅获取指定的属性在innerHtml 中? 有人对此有解决方案或解决方法吗? 谢谢。 如果有一种方法可以单独在 Thymeleaf/Spring 表达式中完成你想要的事情,那么它肯定非常复杂且冗长,而且读起来可能会很痛苦。 更简单的方法是将自定义实用程序对象添加到表达式上下文中。需要很少的代码。 这个答案表明了这一点。 然后您需要将新方言作为附加方言添加到 Spring xml 配置中的模板引擎中。假设你有一个相当标准的 Spring 配置,它应该与此类似。 <bean id="templateEngine" class="org.thymeleaf.spring4.SpringTemplateEngine"> <property name="templateResolver" ref="templateResolver" /> <property name="additionalDialects"> <set> <bean class="mypackage.MyUtilityDialect" /> </set> </property> </bean> 现在介绍实用程序对象 您想要的是按名称从对象中获取属性,并将它们的值与分隔符组合起来。属性名称列表似乎可以是任意大小。要按名称访问属性,最方便的方法是使用像 Apache beanutils 这样的库。 使用 Java 8 流库、lambda 和 Beanutils,您的自定义实用程序对象可能看起来像这样: public class MyUtil { public String joinProperties(Object obj, List<String> props, String separator){ return props.stream() .map(p -> PropertyUtils.getProperty(obj,p).toString()) .collect(Collectors.joining(separator)) } } 然后,当您将方言添加到 SpringTemplateEngine 时,您可以调用您的实用程序: th:with="valueAsString=${#myutils.joinProperties(obj,properties,separator)}" 我已将 innerHTML 参数替换为 properties,这是一个 List<String>,因为它更有意义。它本质上是一个属性名称列表,Spring EL 支持内联列表。 您的调用标签应如下所示。 <select th:include="fragments/combobox :: combobox_beans (beans=${@accountService.getAccounts()}, properties=${ {'id','description','currency'} }, separator=' - ', dumbHtmlName='List of accounts', name='sender' )" th:remove="tag"></select> 解决了! 创建自定义方言: 公共类 CnmCustomDialect 扩展 AbstractProcessorDialect { public CnmCustomDialect() { super("CNM Tags", "cnmtags", StandardDialect.PROCESSOR_PRECEDENCE); } @Override public Set<IProcessor> getProcessors(String dialectPrefix) { Set<IProcessor> processors = new HashSet<>(); processors.add(new TableBuilderElementTagProcessor(getPrefix())); return processors; } } 将方言注册到WebMvcConfigurer @Bean 公共 SpringTemplateEngine templateEngine(ITemplateResolver templateResolver, SpringSecurityDialect sec) { final SpringTemplateEngine templateEngine = new SpringTemplateEngine(); templateEngine.addDialect(new CnmCustomDialect()); return templateEngine; } 3.实现自定义AbstractElementTagProcessor -使用 doProcess() 方法通过此标记变量从 HTML 获取输入并绑定到处理程序变量 -String modelType = tag.getAttributeValue("tt"); -Content=”根据需要添加 html 您的内容” -structHandler.replaceWith(content, false); 公共类 TableBuilderElementTagProcessor 扩展 AbstractElementTagProcessor { private ApplicationContext applicationContext; public TableBuilderElementTagProcessor(String dialectPrefix) { super(TemplateMode.HTML, dialectPrefix, "table", true, null, false, StandardDialect.PROCESSOR_PRECEDENCE); } @Override protected void doProcess(ITemplateContext context, IProcessableElementTag tag,IElementTagStructureHandler structureHandler) { applicationContext = SpringContextUtils.getApplicationContext(context); 字符串内容=“”; StructureHandler.replaceWith(content, false);}} 谢谢

回答 0 投票 0

什么语言/框架与Salesforce开发最相似?

我希望它不会被标记为固执己见或过于模糊,但这是我的简短故事和问题: 我开始了 ASP.NET Webform 的开发冒险,只是为了迁移到 Salesforce(Apex + Visualforce...

回答 1 投票 0

如何避免多次进行网络调用?

我有一个 Spring Request Scoped 组件,它进行网络调用来获取一些数据: @成分 公共类 NetworkDataProvider { @注入 私有ServiceClient 服务客户端; p...

回答 1 投票 0

我可以在视图层找到spring mvc控制器的URL吗?

我认为我需要的是 Django 中的反向 url 解析。假设我有一个 AddUserController ,其内容如下: @控制器 @RequestMapping("/创建用户") 公开课

回答 6 投票 0

指定mock获取null并调用else块

我是Java新手,一直在寻找答案,但我一定想念它。所以问题是: 这是我的控制器: 公共 REntity getPersonById( @PathVariable(&qu...

回答 1 投票 0

找到 org.springframework.security.authentication.AuthenticationManager 类型接口的 3 个 bean,但没有一个被标记为主要

当我启动我的应用程序时,出现以下错误。我不确定如何在这里设置主要 bean。 | AnnotationConfigServletWebServerApplicationContext | 注释配置ServletWebServerApplicationContext例外 上下文初始化期间遇到...

回答 1 投票 0

如何在 Springfox Swagger 提供的 Swagger /v2/api-docs 中启用 CORS 标头?

我的项目中有以下文件: @配置 @Order(Ordered.LOWEST_PRECEDENCE) 公共类 SwaggerConfig { @豆 公共 Docket apiSwagger2Documentation() { .... } } 并且在

回答 3 投票 0

为什么我的 html 网站在我按下按钮时会闪烁?

所以我编写了一个网站(使用html、css和Spring)。 有一个带有多个按钮的表单,每次我按下按钮时,网站就会“闪烁”。 我不知道如何更好地描述这一点...

回答 1 投票 0

Hibernate 使用不正确的数据库登录凭据

我正在将 Hibernate 与 Spring MVC 结合使用来开发我正在开发的应用程序,最近遇到了一个奇怪的错误。我将在下面发布堆栈跟踪 警告:org.hibernate.e...

回答 1 投票 0

如何重定向以“.jsp”结尾的url

我有一个到/foo.jsp的映射URL,它重定向到控制器,但它不被spring处理并返回404。看起来URL被忽略并直接发送到tomcat。是否可以...

回答 1 投票 0

不允许 HTTP 405 - Spring Boot + Spring Security

我有一个简单的 REST API,可以与数据库一起使用。在我添加安全部分之前它工作正常。现在,它在 POST 和 DELETE 请求上给出 HTTP 405 Not allowed。我不知道为什么。获取

回答 4 投票 0

网关处的 Prometheus 指标:未知,而不是 uri 中的路径

我在我的项目中使用普罗米修斯指标。 在网关中,我在指标中看到未知 http_server_requests_seconds_count{异常=“无”,方法=“PUT”,结果=“成功&q...

回答 1 投票 0

使用 spring/jackson 将 Kotlin 数据类转换为 JSON

我试图将一些数据类公开为 JSON 对象,但有些东西不起作用。 我有以下数据类: 数据类链接( @JsonProperty(“rel”) @JsonView(View.Bind::class...

回答 3 投票 0

如何避免Spring WebFlux过滤器被调用两次?

经过长时间的详尽搜索,寻求帮助。我正在 Spring WebFlux 和 Spring Security 中编写一个 JwtTokenFilter 。问题是这个过滤器在一次请求中被调用两次...

回答 1 投票 0

如何从 Spring 中的 X-Forwarded-For 标头检索 IP 地址的完整列表?

我正在使用 Spring (Spring Web) 并尝试从请求中确定客户端 IP 地址的完整链。我使用的代码基于 Spring 的 ForwardedHeaderUtils。目前,它仅...

回答 1 投票 0

Spring data jpa repo,为什么需要接口服务和服务实现

我刚刚开始使用 Spring Data JPA 进行 Spring Boot 工作。当我从表生成模型时,我创建一个扩展 JpaRepository 的 modelRepo 公共接口 userRepository

回答 4 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.