我想更改txt文件名,但我找不到如何做到这一点.
例如,我要重命名foo.txt到boo.txt我的C++程序.
我有一个ASP.NET WEB API 2应用程序,它被配置为使用Windows集成身份验证,并且没有问题.
当我将身份验证模式更改为基本时,IIS Express不会提供任何静态文件.相反,它返回500.像aspx这样的其他文件正在服务而没有问题.
任何想法为什么会这样?
我正在使用Visual Studio 2013,但也尝试在Visual Studio 2015上获得相同的结果.
PS:部署在完整的IIS实例上时,静态文件可以正常运行.
PS2:我在web.config中有以下内容:
<staticContent>
<remove fileExtension=".woff2" />
<mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
<clientCache cacheControlMode="DisableCache" />
</staticContent>
Run Code Online (Sandbox Code Playgroud)
更新:如果我删除
<remove fileExtension=".woff2" />
<mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
Run Code Online (Sandbox Code Playgroud)
另外,IIS Express提供除.woff2文件以外的所有静态内容,如果我将其保留,它不会提供任何静态文件.
提前致谢
去年我在C#中编写了一次性密码(OTP)生成器.现在我需要在Java中使用OTP生成器,但是我找不到Java中的等效函数.
这是我去年写的代码:(我知道这个OTP的安全性很低,但我不需要防弹的代码)
SHA1CryptoServiceProvider hash = new SHA1CryptoServiceProvider(); //first hash with sha1
byte[] hashPass = hash.ComputeHash(Encoding.ASCII.GetBytes(pass)); //pass is entered by user
HMACMD5 hma = new HMACMD5(hashPass); // use the hashed value as a key to hmac
OTPass = hma.ComputeHash(Encoding.ASCII.GetBytes(email + Counter(email)));// generate OTPass, Counter(email) is the counter of the user taken from database
increaseCounter(email); // updating the counter
this.SetLog(this.GetLog() + Environment.NewLine + "OTPass Generated: " + BitConverter.ToString(OTPass)); // OTP
Run Code Online (Sandbox Code Playgroud)
这是我试图将C#转换为的Java代码:(这只是SHA1部分,我找不到如何用Java编写HMAC-MD5)
import java.io.*;
import java.security.*;
public class otp {
/**
* @param …Run Code Online (Sandbox Code Playgroud) 当我尝试使用MyBatis执行简单查询时,这是堆栈跟踪:
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.my.package.persistence.BrandMapper.getBrand
org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:189)
org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:43)
org.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:58)
org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:51)
com.sun.proxy.$Proxy25.getBrand(Unknown Source)
com.my.package.service.BrandService.getBrand(BrandService.java:18)
com.my.package.service.BrandService$$FastClassBySpringCGLIB$$1140c60a.invoke(<generated>)
org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:649)
com.my.package.service.BrandService$$EnhancerBySpringCGLIB$$ea6f89cd.getBrand(<generated>)
com.my.package.controller.HomeController.getBrands(HomeController.java:28)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:483)
org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137)
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:777)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:706)
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:943)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:857)
javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
Run Code Online (Sandbox Code Playgroud)
我正在使用Javaconfig语法而不是XML配置.这是我的PersistenceConfig:
@Configuration
@EnableTransactionManagement
@MapperScan("com.my.package.persistence")
public class PersistenceConfig {
@Bean
public DataSource dataSource() {
DriverManagerDataSource dataSource = new DriverManagerDataSource();
try {
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:mysql//localhost:3306/db");
dataSource.setUsername("dbuser");
dataSource.setPassword("dbpassword");
} catch (Exception e) {
System.out.print(e);
}
return dataSource;
}
@Bean
public DataSourceTransactionManager transactionManager() {
return new …Run Code Online (Sandbox Code Playgroud) 我知道你可以在你的xml中定义你想要运行的组,但是我想知道如果它们都是组A和B的成员,是否可以说运行这些方法.
假设我有以下测试用例;
@Test(groups={"A","B"})
public testA() {}
@Test(groups={"B","C"})
public testB(){}
Run Code Online (Sandbox Code Playgroud)
以及配置;
<test name="Test A|B">
<groups>
<run>
<include name="B" />
</run>
</groups>
<classes>
<class name="com.test.Test" />
</classes>
</test>
Run Code Online (Sandbox Code Playgroud)
这将同时运行testA和testB,因为它们都是B组的成员.我想只在它是A组和B组的成员时才运行测试.
是否可以使用TestNG做这样的事情?
提前致谢
我试图<br>在表单的每个输入行后附加一个,但是Thymeleaf一直给我解析错误。
这是我遇到麻烦的代码:
<form th:if="${not #lists.isEmpty(brands)}">
<input th:each="brand : ${brands}" type="checkbox" th:value="${brand.name}" th:utext="${brand.name + <br>}" />
</form>
Run Code Online (Sandbox Code Playgroud)
如果我将<br>标签添加到输入标签之外,则不会将其添加到每一行。
提前致谢