编程面试题

  • Spring MVC表单支持对象树初始化的最佳实践

    如果愿意,可以称其为过大杀伤力,但是实际上最终要做的是创建一个通用工厂,该工厂将接收任何对象并使用反射(递归地)查找所有null属性并实例化正确类型的对象。我使用Apache Commons BeanUtils完成此操作。 这样,您可以获取可能是从各种来源(DAO,从XML反序列化,等等)获得的对象,将其通过此工厂,然后将其用作表单支持对象,而不必担心可能需要绑定某些内容为空。 诚然,这意味着实

  • Spring MVC中的多视图解析器

    您可以根据需要添加任意数量的视图解析器。您可以指定检查视图解析器的顺序。Spring将使用第一个可以成功解析视图的视图解析器。 例如:由于您拥有JSP和freemarker,因此为它们都添加了视图解析器,并为JSP赋予了订单属性1,为freemarker赋予了2属性。如果您的视图是freemarkerhello.ftl,则JSP resoplver将失败,因为它将无法找到文件freemarkerhello.ftl

  • 将MultipartFile转换为java.io.File而不复制到本地计算机

    默认情况下,MultipartFile在用户上载时已作为文件保存在服务器上。从那时开始- 您可以使用此文件执行任何操作。有一种方法可以将临时文件移动到所需的任何目标。

  • 如何在Spring MVC中填充下拉框

    不确定调用哪个Controller方法来显示带有的视图documentNumberList,但是您需要将该集合添加到传递给该视图的模型中: model.addAttribute"documentNumberList", documentService.retrieveAllDocumentNumbers; 尽管从异常堆栈跟踪中您也错过了@Au

  • 如何使用JSTL在jsp中获取列表的元素?

    我认为正确的答案是您得到的两个答案的结合: 使用c:foreach标签的​​varStatus属性 但: “ get”不是jstl函数。 c:forEach var="jobs" items="${jobs}" varStat

  • 有人可以解释一下类级别控制器和方法级别控制器之间的区别吗?

    控制器必须标记为@Controller类级别。所述@RequestMapping注释可以在两个类和方法的水平施加。如果是,则方法注释将被解释为相对URL(相对于类级别URL)。但是,必须存在方法级别的注释,否则该方法将不会被映射。 在注释中,可以将参数标记为具有默认值的可选参数。方法参数就是这种情况:默认为GET,但可以显式设置为POST

  • @Autowired-没有找到至少1个依赖类型的合格bean

    您不必一定提供名称和限定词。如果您设置一个名称,那就是在上下文中注册该bean的名称。如果您没有为服务提供名称,它将基于进行注册为无大写的非合格类名称BeanNameGenerator。因此,在您的情况下,实现将注册为employeeServiceImpl。因此,如果您尝试使用该名称自动接线,则应直接解析。 private EmployeeService emp

  • Spring Security:按客户端类型(浏览器/非浏览器)启用/禁用CSRF

    我确定在Spring Security XML中可以做到这一点,但是由于我使用的是Java Config,因此这是我的解决方案。 @Configuration @EnableWebSecurity public class SecurityConfig { @Configuration @Order1 public static class SoapApiConfigurati

  • Spring MVC文件上传帮助

    这是我上载时的首选。我认为让spring处理文件保存是最好的方法。Spring用它的MultipartFile.transferToFile dest功能来做。 import java.io.File; import java.io.IOException; import javax.servlet.http.HttpServletResponse; import org.spr

  • 如何在Netbeans中设置环境变量?

    System.getEnv"FOO" == "FOOVALUE" netbeans 6.7+- 右键单击项目 -属性-操作-运行项目-设置属性:添加 Env.FOO = FOOVALUE 注意:您可以对其他配置和其他操作(例如Debug project

  • Spring Security 3.2.1具有不同WebSecurityConfigurerAdapters的多个登录表单

    我针对多个登录页面使用的解决方案涉及单个http身份验证,但我提供了自己的实现 AuthenticationEntryPoint AuthenticationFailureHandler LogoutSuccessHandler 我需要这些实现能够根据

  • jQuery,JSON,Spring MVC-动态加载选择选项

    我有相同的代码,其中城市(cityId)值根据国家(countryId)选择进行更改。它运作完美: $"select#countryId".changefunction{ $.getJSON"getCityList.do",{countryCode: $this.val}, functionj{ var options = '';

  • JPA和Hibernate批注之间的关系

    答案好坏参半。 正如其他人指出的那样,JPA是Hibernate提供的一种实现规范。您使用JPA批注 API,并且通过在类路径中包含Hibernate jar,Hibernate将提供实际的逻辑。 此外,Hibernate提供了与JPA不相关的API。您也可以使用它。主要区别在于: 如果使用JPA API,则以后可以用其他JPA实现(vg Eclip

  • Spring MVC基本配置:使用InternalResourceViewResolver的PageNotFound

    这是因为url- pattern您web.xml的太“宽”了。值的*意思是servlet被配置为接收所有请求,并且包括从servlet到JSP的请求。您看到的错误消息来自DispatcherServlet,它正在接收自己的转发请求。 您应该选择一个更具体的url-pattern

  • Spring MVC控制器方法参数如何工作?

    普遍的答案是“spring的魔法”。但是,Spring参考指南的MVC章节中的“支持的处理程序方法参数和返回类型”提供了您问题的确切答案。

  • JSON使用哪种内容类型标头?“ application / json;charset = utf-8”或“ application / json”?

    根据RFC 4627 JSON文本应以Unicode编码。默认编码为UTF-8。 它继续描述了如何检测不同的UTF- *编码,这表明不支持其他编码。 “ SHALL”表示此处的绝对要求(请参阅a href="https:too

  • 如何在Spring MVC 3.0中显示格式化的DateTime?

    使用spring:eval了解@DateTimeFormat规则的标签: spring:eval expression="customer.dateOfBirth" 另外,您可以@DateTimeFormat从模型中完全删除规则,并使用Joda的formatDate标签,如Nai

  • 在Spring MVC中将表单值设置为NULL而不是空字符串

    您必须使用@InitBinder批注,因为在Spring MVC中,它总是返回""表单中的空白值。您必须在控制器中添加它。 例

  • 使用Spring MVC 3.1+ WebApplicationInitializer以编程方式配置会话配置和错误页面

    我对此主题做了一些研究,发现对于某些配置,例如sessionTimeOut和错误页面,您仍然需要web.xml。 看这个链接 希望这对您有所帮助。干杯。

  • 如何在没有XML的spring4中配置“ CommonsMultipartResolver”以上传文件

    来自MultipartResolverJavadoc: 要定义实现,请在DispatcherServlet的应用程序上下文中创建一个id为“ multipartResolver”的bean。 在您的xml配置中,该Bean具有正确的ID multipartResolver,但在当前的Java配置中则没有。您应该写: co

  • 如何在Spring Security中启用会话并设置会话超时

    我仅通过在web.xml中添加以下配置就能够解决上述问题。任何更好的方法都会被接受。 session-config session-timeout20session-timeout session-config

  • Spring MVC 3验证-无法找到默认提供程序

    是的,您应该包括Hibernate Validator库才能使用它。它不依赖于Hibernate本身。

  • 关于Java Web会话处理如何工作的困惑。使用servlet API和HttpSession对象使Cookies和标头的差异变得神秘

    您可以阅读描述Cookies和相关标头Set- Cookie``Cookie的RFC,并了解它们是什么。

  • Spring MVC Servlet初始化

    使用ServletContextListener并在中定义它web.xml: listener listener-classcom.company.YourListenerClasslistener-class listener (您将创建一个实现

  • 具有多个分派器的Spring Java Config

    Mahesh C.显示了正确的道路,但是他的实施方式太有限。他的观点是正确的:您不能直接AbstractAnnotationConfigDispatcherServletInitializer用于多个调度程序servlet。但实施应: 创建一个根应用程序上下文 给它一个初始配置,并说应该扫描哪些软件包 为它添加一个Cont

  • 在Spring 4中如何进行基于关系数据库的HTTP会话持久性?

    使用Spring Session(它会透明地覆盖Java EE中的HttpSessions),您只需SessionRepository使用自定义ex即可实现接口并实现它。JdbcSessionRepository。这很容易做到。实现后,只需手动添加(不需要@EnableRedisHttpSession注释)创建的过滤器即可过滤链,例如波纹管:

  • 无法将查询字符串参数映射到我的JavaBean(使用Spring 4和Datatables)

    好的,因此我通过稍微修改发送到服务器的参数将两个3D列数组转换为2D数组来解决此问题。所以: columns[0][search][value]=myvalue columns[0][search][regex]=false 最终是: columns[0][searchValue]=myvalue columns[0][searchRegex

  • Spring Security + Ajax会话超时问题

    我通过自己的自定义过滤器实现了此问题,将其放置在ANONYMOUS_FILTER之前,如果Spring主体不存在,则返回403。

  • 有没有办法使Spring Thymeleaf处理一个字符串模板?

    您可以自己实现TemplateResolver并IResourceResolver与一起使用String。

  • springMVC中的HttpSession管理

    @SessionAttributes 不能完全替代传统的 HttpServlet 会话管理。如果两个或多个Controller方法需要传达一些数据,请使用它。但是,使用此方法,我们只能在单个控制器类内实现通信。如果使用 @SessionAttributes, 则不使用显式读写会话。建议仅在短暂的通信中使用 @SessionAttributes 。如果需

  • Swagger-默认情况下,Springfox始终会生成一些响应消息(401,403…)。如何删除它们?

    您应该能够将插件设置为 不 使用默认响应消息。请遵循以下不同版本的说明。 对于1.0.2或更早版本 new SwaggerSpringMvcPlugin... More config .useDefaultResponseMessagesfalse -- this should be

  • 找不到UsernamePasswordAuthenticationToken的AuthenticationProvider

    正如您已经在评论中所写的那样,问题是您总是返回验证提供者false的supports方法。但是,true您不必检查总是返回,而不必总是返回authentication: public class MyAuthenticationProvider implements AuthenticationProvid

  • 如何从Spring Controller在浏览器中返回CSV数据

    您可以使用例如直接写入响应 @RequestMappingvalue = "apifoo.csv" public void fooAsCSVHttpServletResponse response { response.setContentType"textplain; charset=utf-8"; response.getWriter.print"a,

  • Spring @RequestBody和Enum值

    我找到了我所需要的。 http:chrisjor

  • 我应该在生产中使用哪个tomcat本机库?

    Tomcat原生版本是使用高度优化的Apache可移植运行时(APR)的Tomcat版本,该框架是为Apache HTTP服务器提供支持的相同框架。

  • Spring Data JPARepository:如何有条件地获取子实体

    如果没有调用由getContacts()导致的对象方法,则延迟获取应该正常工作。 如果您希望进行更多的人工工作,并且确实希望对此进行控制(根据使用情况,可能需要更多上下文)。我建议您从帐户实体中删除联系人,并将该帐户映射到联系人中。告诉hibernate状态忽略该字段的一种方法是使用@Transient批注对其进行映射。 @Entity @Tablename = "accounts" pub

  • 如何使用Spring处理后退浏览器按钮问题?

    显然,页面是从浏览器缓存中请求的。您需要禁用相关页面的客户端缓存。您可以通过创建一个Filter来侦听url- pattern您要为其禁用缓存的页面中的一个,例如*.jsp。在doFilter方法中执行以下操作: HttpServletResponse httpres = HttpServletRespo

  • 使用Spring框架为选项请求启用CORS

    最后, DispatcheServlet 自定义初始化程序是真正解决我的问题的类。由于我实现了 optionsController ,因此OPTIONS请求失败,这是错误的。 所以我删除了 optionsController ,仅在我的Rest Controller中为OPTIONS请求添加了 handle

  • 仅将Spring HandlerInterceptor绑定到一个控制器

    当您将拦截器注入到HandlerMappingbean中时,这些拦截器将应用于该映射的每个处理程序HandlerMapping。在注释前的日子里很好,因为您只需配置多个HandlerMappingBean。但是,使用注释时,我们倾向于使用一个DefaultAnnotationHandlerMapping可以映射所有内容的模型,因此该模型不起作用

  • Hibernate + Spring版本兼容性

    您可以在spring-ormMaven POM中进行检查。 例如,要检查Spring 3.2.3.RELEASE使用的Hibernate版本,可以发出以下shell命令: grep -A 1 hibernate- ~.m2repositoryorgspringframeworkspring-orm3.2.3.RELEASEspring-orm-3.2.3.