我开发了一个Web应用程序,我可以在其中注册一名员工.
我的 web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>Employee Registration</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>sapient</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>sapient</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>
</web-app>
Run Code Online (Sandbox Code Playgroud)
现在,当我点击Register我的html页面中的一个按钮时.它转到一个控制器类,我已经编写了一个用于记录的代码,
@org.springframework.stereotype.Controller
public class RegController {
private static final Logger LOGGER = Logger
.getLogger(RegController.class.getName());
@RequestMapping(value = "/register.htm", method = RequestMethod.GET)
public ModelAndView handleRequest(HttpServletRequest request,
HttpServletResponse response) throws Exception {
LOGGER.debug("ENTERING the contoller class");
ModelAndView mav = new ModelAndView("register");
LOGGER.debug("exiting the contoller class");
return mav;
}
Run Code Online (Sandbox Code Playgroud)
}
我创建了一个名为的包,resource并在其中创建了一个log4j.properties文件 …
所以我一直在阅读一些有效的Java!本书最鼓舞人心的部分之一是Immutable Object/Builder部分,其中Bloch写的是关于"Builder" - 类,而不仅仅是POJO.
注意:我在这里谈论模型对象:例如文章或汽车.
这是我之前写这些对象的方式:
public class Car {
private String name;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
Run Code Online (Sandbox Code Playgroud)
现在,当您看到此设计在许多方面存在缺陷时,它需要可变性,您必须首先使用构造函数构造对象,然后设置名称.
当然,你现在可以使name字段最终并将其用作构造函数中的参数,但是如果你有一个大对象包装例如一些SQL - Tables那么你将有一个丑陋的构造函数,如下所示:
public Car(int horsepowers, String name, String brand, int yearManufactured,
User owner, List<User> previousOwners) {
//Set the values
}
Run Code Online (Sandbox Code Playgroud)
这在创建对象时变得不可读,而这只是六个字段!
所以,布洛赫建议如下(具有不变性)
public class Car {
public static class Builder {
private String name;
public Builder setName(String name) {
this.name …Run Code Online (Sandbox Code Playgroud) 我试图证明之间的差异,List.contains()并手动搜索执行时间,结果很棒.这是代码,
public static void main(String argv[]) {
List<String> list = new ArrayList<String>();
list.add("a");
list.add("a");
list.add("a");
list.add("a");
list.add("a");
list.add("a");
list.add("b");
long startTime = System.nanoTime();
list.contains("b");
long endTime = System.nanoTime();
long duration = endTime - startTime;
System.out.println("First run: "+duration);
startTime = System.nanoTime();
for(String s: list){
if(s.equals("b"))
break;
}
endTime = System.nanoTime();
duration = endTime - startTime;
System.out.println("Second run: "+duration);
}
Run Code Online (Sandbox Code Playgroud)
输出:
第二轮:158685
contains()函数如何产生如此大的差异?
它使用哪种搜索算法?
如果列表包含搜索到的元素,它会在第一个元素处终止搜索吗?
我正在开发一个应用程序,它显示Android手机的硬件和软件信息,如内部存储,屏幕大小,IMEI,Rootes等.我被困在获取一些信息,如制造日期,翻新检查,电话颜色,耳机连接计数器,Charger连接计数器以及一些传感器健康信息,如InfraRed,Ant +,无线电发射器.
有没有办法获得所有信息?
我找到了一个类似于我的要求的应用程序,下面是Playstore上提供的应用程序链接.手机信息★三星★
我已经更新到Android工作室到版本1.3.在我的项目中,我需要使用gradle版本2.2.1和android gradle插件版本1.0.0.如何设置android studio自动使用gradle版本2.2.1?
我已将gradle包装器特性设置为2.2.1,并且在项目结构中它还显示它使用的是gradle版本2.2.1
#Wed Apr 10 15:27:10 PDT 2013
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle2.2.1-all.zip
Run Code Online (Sandbox Code Playgroud)
错误:Gradle 2.4需要Android Gradle插件1.2.0(或更新版本),但项目使用的是1.0.0版本.请使用Android Gradle插件1.2.0或修复插件版本和同步项目
我想使用Gradle 2.2.1,但它一直跳到2.4
我想在记录包含它们的Http POST消息时隐藏我的log4j日志中的用户名和密码.我在此示例中删除了真实的用户名和密码:
2015-10-07 11:19:41 DEBUG wire:72 - http-outgoing-3 >> "POST /login?IDToken1=<Username in plain text is seen here>&IDToken2=<Password in plain text is seen here> HTTP/1.1[\r][\n]"
Run Code Online (Sandbox Code Playgroud)
我有一个log4j.properties文件,其rootlogger设置为DEBUG.我尝试使用以下行仅记录INFO级别:
log4j.logger.org.apache.http.headers=INFO
log4j.logger.org.apache.http.client=INFO
log4j.logger.org.apache.http.wire=INFO
Run Code Online (Sandbox Code Playgroud)
但它们都不起作用.我试过这个但是它有效:
log4j.logger.org.apache.http=INFO
Run Code Online (Sandbox Code Playgroud)
唯一的问题是所有http登录DEBUG级别也是隐藏的.我真的只想隐藏用户名和密码,如果可能的话.要么是微调,要么微调粒度,以便我可以在上面的例子中隐藏消息.
这可能吗?
我的项目有两件事.
ndk-build 提到了很多问题并尝试了很多回复.但它们都不适合我.
这是我的疑惑,
请帮我完成必要的步骤.
android android-ndk android-studio build.gradle android-gradle-plugin
我有一个百万美元的模板,我没有导入CSS文件,并希望声明background-image: url{/image.jpg}具有相对图像URL的属性的body元素的样式属性.我想加载URL而不包括应用程序上下文名称(/myapp/).它类似于这里的问题,除了它对我不起作用.
CSS:
<style>
body {
background: url(../img/Background.jpg)
no-repeat center center fixed;
background-size: cover;
}
</style>
Run Code Online (Sandbox Code Playgroud)
但上面的CSS不起作用,它访问图像
http://localhost/img/Background.jpg.
Run Code Online (Sandbox Code Playgroud)
因此,我必须给出url(/myapp/img/Background.jpg)正确加载图像的值.
我有mvc:resources正确设置在配置spring-context.xml为/img/要求正确加载,它在其他地方工作.
弹簧的context.xml
<mvc:resources mapping="img/**" location="/WEB-INF/img/" />
Run Code Online (Sandbox Code Playgroud)
那么如何使用thymeleaf的相对url动态加载后台url image css值呢?
我尝试使用注释 @DataJpaTest 编写集成测试。我有两个数据源:主要和次要(类配置)结果我有一个错误:
expected single matching bean but found 2: primaryDataSource,secondary
Run Code Online (Sandbox Code Playgroud)
然后我尝试添加注释
@AutoConfigureTestDatabase(replace= AutoConfigureTestDatabase.Replace.AUTO_CONFIGURED)
Run Code Online (Sandbox Code Playgroud)
并且使用 AUTO_CONFIGURED 只有由属性配置的数据源将被替换,但我看到的是嵌入的 h2 Dialect : HHH000400: Using dialect: org.hibernate.dialect.Oracle10gDialect
如何使用@DataJpaTest多个数据源?
public class DataSourcesConfig {
@Bean
@Primary
@ConfigurationProperties(prefix="spring.datasource")
public DataSource primaryDataSource() {
return DataSourceBuilder.create().build();
}
@Bean(name = "secondary")
@ConfigurationProperties(prefix="datasource.secondary")
public DataSource secondaryDataSource() {
return DataSourceBuilder.create().build();
}
}
Run Code Online (Sandbox Code Playgroud) 假如我有一个带有用户对象的ArrayList.
User.java
class User{
private Long id;
private String name;
}
Run Code Online (Sandbox Code Playgroud)
我有一个用户列表
list.add(new User(1,"John");
list.add(new User(2,"Sam");
Run Code Online (Sandbox Code Playgroud)
如果用户列表中有一个名为"Sam"的用户,我想检查百万美元.
${#lists.contains(userList.name,'Sam')}
Run Code Online (Sandbox Code Playgroud)
但上述情况并不奏效 Caused by: org.thymeleaf.exceptions.TemplateProcessingException: Exception evaluating SpringEL expression
我也试过"(doube-quotes)