我有以下Rest资源从DB下载文件.它可以在浏览器中正常工作,但是,当我尝试从Java客户端执行此操作时,我得到406(不接受错误).
...
@RequestMapping(value="/download/{name}", method=RequestMethod.GET,
produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
public @ResponseBody HttpEntity<byte[]> downloadActivityJar(@PathVariable String name) throws IOException
{
logger.info("downloading : " + name + " ... ");
byte[] file = IOUtils.toByteArray(artifactRepository.downloadJar(name));
HttpHeaders header = new HttpHeaders();
header.set("Content-Disposition", "attachment; filename="+ name + ".jar");
header.setContentLength(file.length);
return new HttpEntity<byte[]>(file, header);
}
...
Run Code Online (Sandbox Code Playgroud)
客户端部署在具有不同端口的同一服务器上(消息提供正确的名称):
...
RestTemplate restTemplate = new RestTemplate();
String url = "http://localhost:8080/activities/download/" + message.getActivity().getName();
File jar = restTemplate.getForObject(url, File.class);
logger.info("File size: " + jar.length() + " Name: " + jar.getName());
...
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么?
我想在不刷新页面或更改其 url 的情况下加载 html 页面。例如,如果我在http://localhost/sample/home并且我想导航到联系我们页面,我点击联系链接,联系页面内容被加载,而无需刷新页面或更改 url。
如何做到这一点?
我是 Maven 新手,我想将SSJ库添加到 Maven 项目中的依赖项中,我尝试在 POM.xml 中添加以下内容:
<dependency>
<groupId>ca.umontreal.iro</groupId>
<artifactId>ssj</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
但 eclipse 给出了这个错误:Missing artifact ca.umontreal.iro:ssj-2.5
似乎在存储库中找不到它。我有 jar 文件,如何将其添加到依赖项中?如果可能的话。如果没有,将这个 jar 包含在项目中的替代方案是什么?
我想使用restTemplate 发送一个POST 请求,其中包括一个文件和另一个自定义对象。我已经尝试过下面的代码,但没有让它工作,因为它缺少HtttpMessageConverterforjava.io.File
MultiValueMap 是否是在一个请求中发送两个对象的正确选择?如果没有,有什么建议吗?如果是,那么如何解决消息转换器问题?
RestTemplate rest = new RestTemplate();
HttpMessageConverter formHttpMessageConverter = new FormHttpMessageConverter();
HttpMessageConverter stringHttpMessageConverternew = new StringHttpMessageConverter();
List<HttpMessageConverter<?>> conv = new ArrayList<HttpMessageConverter<?>> ();
conv.add(formHttpMessageConverter);
conv.add(stringHttpMessageConverternew);
rest.setMessageConverters(conv);
MultiValueMap<String, Object> map = new LinkedMultiValueMap<String, Object>();
File f = new File("testFile.txt");
map.add("file", f);
NewObject a = new NewObject("123", "xxx", "xxx",
"blahblah", "5432");
map.add("newObject", a);
String result = rest.postForObject("http://localhost:8080/test/upload", map, String.class);
System.out.println(result);
Run Code Online (Sandbox Code Playgroud)
控制器:
@RequestMapping(value="/upload", method=RequestMethod.POST)
public @ResponseBody String uploadArtefact(@RequestBody MultiValueMap<String, Object> o)
{ …Run Code Online (Sandbox Code Playgroud) 我正在使用以下sql创建数据库表:
CREATE TABLE `cs3_ds1` (
`ID` INT NOT NULL ,
`TIME` TIMESTAMP NOT NULL ,
`USER` VARCHAR(45) NOT NULL ,
`TIME1` TIMESTAMP NOT NULL ,
`TIME2` TIMESTAMP NOT NULL ,
`INSERT_TIME` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ,
PRIMARY KEY (`ID`) )
ENGINE = InnoDB
Run Code Online (Sandbox Code Playgroud)
虽然我只在一列中使用当前时间戳作为默认值,但我收到以下错误:
ERROR 1293: Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause
Run Code Online (Sandbox Code Playgroud)
为什么我收到此错误?
我有以下代码:
public void run()
{
try
{
logger.info("Looking for new tasks to fetch... ");
// definitions ..
for(Task t: tasks)
{
logger.info(" Task " + t.getId() + " is being fetched ");
// processing ... fetching task info from db using some methods
}
Thread.sleep(FREQUENCY);
//t.start();
} catch (Exception e)
{
logger.info("FetcherThread interrupted: "+e.getMessage());
}
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试使线程在特定时间"FREQUENCY"睡眠,然后再次工作.当我在eclipse中执行此代码时,该线程只工作一次,然后没有任何反应,并且进程终止.如果我从语句中删除注释:t.start(),我得到"FetcherThread interrupt:null".谁能告诉我哪里出错了?
注意:我希望线程能够一直工作,但是要获取周期(比如说每5分钟)
我有以下html div:
...
<body>
<div id="barChart_div" style="width: 600px; height: 250px;float:left; "></div>
<div id="stats_div" style="width: 350px; height: 250px; float:left;"></div>
<div id="lineChart_div" style="width: 600px; height: 250px; "></div>
<div id="cdfChart_div" style="width: 600px; height: 250px;"></div>
</body>
...
Run Code Online (Sandbox Code Playgroud)
我想要做的是显示第一个div(包含条形图)和第二个div(包含图表中的一些文本)彼此相邻,然后在它们下面显示另外两个div(包含其他图表)另一个垂直,即我希望它看起来像:

我目前得到的是:

cdfChart_div(div4)显示在lineChart_div(div3)之上.我需要使用什么CSS样式来解决这个问题?
我有一个select查询(使用预准备语句),它返回一个Resultset.例如,查询可以是:
SELECT * FROM TABLE;
Run Code Online (Sandbox Code Playgroud)
并且我希望此查询的结果插入到另一个表中,select查询存储在数据库中并且通常是连接查询,因此我不完全知道表的列,它的每一行的可能性如何在表单中创建插入行的结果集:
INSERT INTO TABLE VALUES ('THE VALUES FROM THE SELECTED ROW IN THE RESULTSET');
Run Code Online (Sandbox Code Playgroud) 我有一个方法,它采取一个列表并对其进行一些处理,它更新另一个全局列表.我需要运行此方法的多个实例,并行输入不同的列表.多线程支持这个吗?如果是,我怎么能使用它,即:我应该在线程中放什么?例子受到高度赞赏.
我想在线程类中有一个静态列表,它在运行时由线程的不同实例更新(列表包含字符串和计数器,因此更新是添加新字符串或增加现有字符串的计数器).. i需要读取每10秒钟添加到此全局列表中的内容并打印它...正在使用适合此的静态列表以及如何使其线程安全?