小编Sam*_*ami的帖子

如何使用Spring以编程方式使用Rest API中的文件?

我有以下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)

我在这里错过了什么?

java rest spring

6
推荐指数
1
解决办法
3万
查看次数

如何在不刷新页面或更改 url 的情况下加载不同的 html 页面?

我想在不刷新页面或更改其 url 的情况下加载 html 页面。例如,如果我在http://localhost/sample/home并且我想导航到联系我们页面,我点击联系链接,联系页面内容被加载,而无需刷新页面或更改 url。

如何做到这一点?

javascript ajax jquery

5
推荐指数
2
解决办法
2万
查看次数

如何将本地 jar 添加为 Maven 项目的依赖项?

我是 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 包含在项目中的替代方案是什么?

java dependencies maven-3

4
推荐指数
2
解决办法
2万
查看次数

如何将 POST 请求中包含文件的 MultiValueMap 发送到 Spring Rest Web 服务?

我想使用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)

java rest post spring

4
推荐指数
1
解决办法
1万
查看次数

在"DEFAULT或ON UPDATE子句中只有一个带CURRENT_TIMESTAMP的TIMESTAMP列"错误,而它只使用一次

我正在使用以下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)

为什么我收到此错误?

mysql sql timestamp

3
推荐指数
1
解决办法
2万
查看次数

我怎么能让线程睡了一会然后再开始工作?

我有以下代码:

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分钟)

java multithreading thread-sleep

2
推荐指数
1
解决办法
6460
查看次数

如何在html和css中垂直对齐div?

我有以下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样式来解决这个问题?

html css

2
推荐指数
1
解决办法
3万
查看次数

如何从select查询动态地将行插入到java中的另一个表?

我有一个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)

java sql resultset prepared-statement batch-updates

1
推荐指数
1
解决办法
1717
查看次数

如何在java中并行执行具有不同输入的方法的多个实例?

我有一个方法,它采取一个列表并对其进行一些处理,它更新另一个全局列表.我需要运行此方法的多个实例,并行输入不同的列表.多线程支持这个吗?如果是,我怎么能使用它,即:我应该在线程中放什么?例子受到高度赞赏.


我想在线程类中有一个静态列表,它在运行时由线程的不同实例更新(列表包含字符串和计数器,因此更新是添加新字符串或增加现有字符串的计数器).. i需要读取每10秒钟添加到此全局列表中的内容并打印它...正在使用适合此的静态列表以及如何使其线程安全?

java parallel-processing multithreading

1
推荐指数
1
解决办法
3438
查看次数