我正在使用Boot将WebApp从Spring 3移植到Spring 4.
下面的原始web.xml
<listener>
<listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>
</listener>
<filter>
<filter-name>CAS Authentication Filter</filter-name>
<filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>
<init-param>
<param-name>casServerLoginUrl</param-name>
<param-value>https://casserver/login</param-value>
</init-param>
<init-param>
<param-name>serverName</param-name>
<param-value>http://myapp</param-value>
</init-param>
</filter>
<filter>
<filter-name>CAS Validation Filter</filter-name>
<filter-class>org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class>
<init-param>
<param-name>casServerUrlPrefix</param-name>
<param-value>https://casserver/login</param-value>
</init-param>
<init-param>
<param-name>serverName</param-name>
<param-value>http://myapp</param-value>
</init-param>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter>
<filter-name>CAS Single Sign Out Filter</filter-name>
<filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CAS Single Sign Out Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CAS Authentication Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CAS Validation Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<session-config>
<session-timeout>90</session-timeout>
</session-config>
<context-param>
<param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
<param-value>messages</param-value>
</context-param>
Run Code Online (Sandbox Code Playgroud)
我正在尝试在AppConfic类中注册所有过滤器,监听器和映射(下面并没有完成,因为它已经无法正常工作......)
@Configuration
public class MyWebApplicationInitializer implements …Run Code Online (Sandbox Code Playgroud) 我正在用tomcat运行一个spring boot应用程序.
通过类路径加载application.properties时,我的日志记录级别已正确设置.
使用以下java配置从外部加载application.properties时:
@PropertySource(value="file:/some/path/application.properties")
Run Code Online (Sandbox Code Playgroud)
"something"覆盖logging.level.*语句,似乎默认值设置为INFO级别.
可能有什么不对?
考虑以下代码:
Optional是否可以被视为避免空值检查的通用方法?在这个例子中,服务会抛出异常而不是返回null,或者总是返回Optional?
//to be used outside try/catch block, object must be initialized as null
SomeObject obj = null;
try {
obj = someService.getSomeObject();
} catch (ServiceException e) {
LOG.error("Something nasty happened", e);
}
//the service could have returned a null object
if(obj == null) {
LOG.error("Obj is null");
}
//to be used in a lambda, object must be final
SomeObject objCopy = obj;
boolean test = someList.stream()
.anyMatch(o->o.equals(objCopy));
Run Code Online (Sandbox Code Playgroud)如何使用干净且通用的方式传递错误以在模板中显示它们?
我想通过叠加框消息显示错误.
使用HttpResponseRedirect时我很困惑; 除非使用会话变量,否则无法传递错误.