小编Hoo*_*oli的帖子

apache mina sshd验证客户端签名

我正在尝试验证客户端从其私钥生成的签名并发送到服务器.

我能在图书馆找到唯一合适的认证者就是PublickeyAuthenticator.如果这是错误的类,请纠正我.

我目前有:

this.sshServer.setPublickeyAuthenticator(new PublickeyAuthenticator() {
                @Override
                public boolean authenticate(String username, PublicKey key, ServerSession session) {
                    if (username.equals("client")) {
                         //if signature == valid??
                         return true;
                    }
                }
            });
Run Code Online (Sandbox Code Playgroud)

有谁知道mina是否支持签名验证,如果支持,如何实施?

我的理解是,我首先必须将用户公钥分配/添加到服务器.如果客户端提供了id_rsa.pub文件,我该如何将此文件作为公钥添加到服务器?

java apache-mina sshd java-security

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

jackson fasterxml将名称空间添加到根元素

如果我有班级A.java:

@JacksonXmlRootElement(localName = "A")
public class A {

}
Run Code Online (Sandbox Code Playgroud)

产生的输出是:

 <A
    xmlns="">
Run Code Online (Sandbox Code Playgroud)

我想在输出中添加一些名称空间,即 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.example.com example.xsd"

如何配置A.java包含更多这样的自定义命名空间?

java xml namespaces jackson fasterxml

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

批量preparedstatement与不同的SQL查询

我发现现有的问题此问题类似,实际上对问题没有明确的答案.

使用一个SQL查询的正常批处理预备语句看起来像这样:

private static void batchInsertRecordsIntoTable() throws SQLException {

        Connection dbConnection = null;
        PreparedStatement preparedStatement = null;

        String insertTableSQL = "INSERT INTO DBUSER"
                + "(USER_ID, USERNAME, CREATED_BY, CREATED_DATE) VALUES"
                + "(?,?,?,?)";

        try {
            dbConnection = getDBConnection();
            preparedStatement = dbConnection.prepareStatement(insertTableSQL);

            dbConnection.setAutoCommit(false);

            preparedStatement.setInt(1, 101);
            preparedStatement.setString(2, "mkyong101");
            preparedStatement.setString(3, "system");
            preparedStatement.setTimestamp(4, getCurrentTimeStamp());
            preparedStatement.addBatch();

            preparedStatement.setInt(1, 102);
            preparedStatement.setString(2, "mkyong102");
            preparedStatement.setString(3, "system");
            preparedStatement.setTimestamp(4, getCurrentTimeStamp());
            preparedStatement.addBatch();

            preparedStatement.setInt(1, 103);
            preparedStatement.setString(2, "mkyong103");
            preparedStatement.setString(3, "system");
            preparedStatement.setTimestamp(4, getCurrentTimeStamp());
            preparedStatement.addBatch();

            preparedStatement.executeBatch();

            dbConnection.commit();

            System.out.println("Record is inserted into DBUSER table!");

        } …
Run Code Online (Sandbox Code Playgroud)

java sql-injection jdbc prepared-statement batch-processing

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

嵌入jquery.prettyPhoto会导致脚本显示在页面上

当我搬家时:

<script src="js/jquery.prettyPhoto.js"></script>
Run Code Online (Sandbox Code Playgroud)

至:

<script type="text/javascript">
   ...
</script>
Run Code Online (Sandbox Code Playgroud)

然后脚本从粗体部分开始显示在页面上:

style ="border:none; overflow:hidden; width:500px; height:23px;" allowTransparency ="true"> '},s); var o = this,u = false,a,f,l,c,h,p,d = e(window).height(),v = e ...

该脚本归因于以下信息:

Class: prettyPhoto
Use: Lightbox clone for jQuery
Author: Stephane Caron (http://www.no-margin-for-errors.com)
Version: 3.1.5
Run Code Online (Sandbox Code Playgroud)

如何将脚本从.js文件正确移动到页面?

html javascript jquery minify prettyphoto

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

检查一个 placeid 是否在另一个 placeid 内

如果我有两个 placeid,我的地址和国家/地区,我如何询问 Google Maps API 我的地址的 placeid 是否在该国家/地区的 placeid 内?

例如,白宫的 placeid 为ChIJ37HL3ry3t4kRv3YLbdhpWXE,美国的 placeid 为ChIJCzYy5IS16lQRQrfeQ5K5Oxw,Maps API 可以使用 placeid告诉我白宫是否在美国吗?如果是这样,如何?

如果我去https://maps.googleapis.com/maps/api/place/details/json?placeid=ChIJCzYy5IS16lQRQrfeQ5K5Oxw&key=REDACTED那么我可以看到一个 placeid 的完整细节,但这并没有告诉我我需要什么知道。

google-maps google-maps-api-3 google-maps-api-2

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

undertow 网络服务器未绑定到远程地址

我正在测试 undertow 2.0.0.Alpha1 网络服务器。Hello World当我在本地运行它时,它可以工作并在我转到 时返回localhost:80。然后我将网络服务器部署在远程服务器上并访问,remote_ip:80但没有得到任何响应。如果我curl -i -X GET http://localhost:80在远程服务器上运行,那么我Hello World也会返回。所以服务器肯定正在运行,但由于某种原因无法通过远程 IP 地址访问。如果我尝试在代码中将主机名设置为远程 IP(即.addHttpListener(80, "remote.ip")),那么我会得到一个BindException.

import io.undertow.Undertow;
import io.undertow.server.HttpHandler;
import io.undertow.server.HttpServerExchange;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;

public class HelloWorldServer {

    public static void main(final String[] args) {
        try {
            Runtime.getRuntime().exec("sudo fuser -k 80/tcp");
        } catch (IOException ex) {
            Logger.getLogger(HelloWorldServer.class.getName()).log(Level.SEVERE, null, ex);
        }
        Undertow server = Undertow.builder()
                .addHttpListener(80, null)
                .setHandler(new HttpHandler() {
                    @Override
                    public void handleRequest(final …
Run Code Online (Sandbox Code Playgroud)

java jboss nio2 wildfly undertow

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

Apache MINA SFTP示例

我正在尝试设置一个具有多个用户的SFTP服务器,每个用户都有自己的主目录.

我读了这个答案,解释了如何为单个用户设置虚拟目录,但我不确定如何让多个用户各自拥有自己的主目录.

有人可以告诉我该怎么做?

java sftp apache-mina sshd

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

jackson fastxml 多个同名元素

我需要生成确认此 XSD 的 XML:

<xsd:element name="Line" type="Line" minOccurs="0" maxOccurs="3"/>

所以输出是这样的:

<root>
    <Line>A</Line>
    <Line>B</Line>
    <Line>C</Line>
</root>
Run Code Online (Sandbox Code Playgroud)

问题是,如果我注释 Java bean 中的变量,例如:

@JsonProperty("Line")
private String Line1;

@JsonProperty("Line")
private String Line2;

@JsonProperty("Line")
private String Line3;
Run Code Online (Sandbox Code Playgroud)

然后我得到一个异常,如果我使用 aList那么输出就会出错,比如:

   <root>
       <Line>
           <Line>1 New Orchard Road</Line>
           <Line>Armonk</Line>
       </Line>
   </root>
Run Code Online (Sandbox Code Playgroud)

<Line>元素过多。有没有解决的办法?

java xml xsd jackson

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

SuppressWarnings:可以使用功能操作

@SuppressWarnings每当我for在Java 8中使用普通循环而不是功能操作时,如何使用隐藏此警告?

java netbeans

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

无法替换°字符

我有

String test = "an°ther";
Run Code Online (Sandbox Code Playgroud)

我想,以取代°o,但是当我使用

test.replaceAll("°", "o");
Run Code Online (Sandbox Code Playgroud)

我真正运行的是test.replaceAll("º", "o")因为当我复制并粘贴它时,这是什么字符进入IDE.

有没有办法获得ASCII值或基于其他一些标准替换?

java netbeans

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

如何正确序列化和反序列化CSV?

我一直在尝试将对象序列化为CSV,String但是该对象包含List@JsonUnwrapped并且不能在List对象上使用。

预期样本输出

color,part.name\n
red,gearbox\n
red,door\n
red,bumper
Run Code Online (Sandbox Code Playgroud)

实际输出

com.fasterxml.jackson.core.JsonGenerationException: Unrecognized column 'name':
Run Code Online (Sandbox Code Playgroud)

这是我的代码:(其中大多数是2个POJO)

import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.annotation.JsonRootName;
import com.fasterxml.jackson.dataformat.csv.CsvMapper;
import com.fasterxml.jackson.dataformat.csv.CsvSchema;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
import java.io.IOException;
import static java.util.Arrays.asList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;

public class NestedWrapping {

@JsonRootName("Car")
@JsonInclude(JsonInclude.Include.NON_DEFAULT)
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE, setterVisibility = JsonAutoDetect.Visibility.NONE)
@JsonPropertyOrder({"color"})
public static class Car {

    @JsonProperty("color")
    private String color;

    @JsonFormat(shape = JsonFormat.Shape.STRING) …
Run Code Online (Sandbox Code Playgroud)

java csv marshalling unmarshalling jackson-dataformat-csv

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