小编use*_*882的帖子

如何解码Java中的http POST数据?

我正在使用Netty,我必须接受并解析http POST请求.据我所知,Netty没有内置的POST支持,只有GET.(这是一个处理原始网络操作的相当低级的库.使用servlet容器,它可以开箱即用,但不是一个选项.)

如果我将POST请求的内容作为字节数组,那么将它解析为参数Map的最快且最无错误的方法是什么?

我自己可以写这个,但是JDK中必须有一些方法可以使这更容易.而且我敢打赌,还有一些问题需要处理.

java post http netty

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

调用方法的注释

我将从一段代码开始

class Clazz {

    public void doSomething() {
        ...
        check();
    }

    public void doSomethingElse() {
        ...
        check();
    }

    ... // etc., these methods look basically the same - they all call check() at the end
}
Run Code Online (Sandbox Code Playgroud)

是否有可能注释@Checked最终会调用的方法check() ?如果是的话,你能提供一些例子吗?

java annotations

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

CXF中的格式化XML输出?

我知道在使用Marshaller时如何打开格式的可能性.但我正在使用Apache CXF(JAX-RS)并返回类似的响应return Response.ok(entity).build();.

我还没有找到任何选项如何格式化输出.我该怎么做?

java xml cxf jax-rs

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

Bash - 输出重定向

我正在尝试将错误输出重定向到文件和终端并丢弃标准输出,但我无法弄明白.有谁知道怎么做?

linux bash redirect pipe

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

如何正确地懒惰初始化地图的地图?

这可能是一种不好的做法,但我无法为我的问题找到更好的解决方案.所以我有这张地图

// Map<state, Map<transition, Map<property, value>>>
private Map<String, Map<String, Map<String, String>>> properties;
Run Code Online (Sandbox Code Playgroud)

我想初始化它,所以我不喜欢NullPointerException这个

properties.get("a").get("b").get("c");
Run Code Online (Sandbox Code Playgroud)

我尝试了这个,但我没有工作(显然)

properties = new HashMap<String, Map<String, Map<String,String>>>();
Run Code Online (Sandbox Code Playgroud)

我试过的其他东西没编译.

此外,如果您有任何想法如何避免这种嵌套地图,我将不胜感激.

java collections map

5
推荐指数
3
解决办法
5926
查看次数

捕获单独的异常或使用instanceof - Java 6

假设这段代码在20个位置并且始终相同

try {
    // do something
} catch (FirstException e) {
    // log it
} catch (SecondException e) {
    // log it
}
Run Code Online (Sandbox Code Playgroud)

使用这样的东西或instanceof不是更好的解决方案不是更好吗?

try {
    // do something
} catch(Exception e) {
    logException(e);
}

void logException(Exception e) {
    if (e instanceof FirstException) {
        // log it
    } else if (e instanceof SecondException) {
        // log it differently
    } else {
        // do something with other exception 
    }
}
Run Code Online (Sandbox Code Playgroud)

我真正讨厌解决方案的唯一方法就是抓住Exception哪个定义不是最好的方式......有没有更好的方法?

java exception-handling instanceof

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

Apache Tomcat无法加载web.xml - 连接超时

如果我尝试在Tomcat中部署webapp,我会得到一个例外.在web.xml这样的问题应该是别的地方似乎是正确的我.任何帮助,将不胜感激...

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.4//EN" "http://java.sun.com/dtd/web-app_2_4.dtd">
<web-app>
    <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>WEB-INF/applicationContext.xml</param-value>
</context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <servlet>
        <servlet-name>httpServer</servlet-name>
    <display-name>HttpServer</display-name>
    <servlet-class>server.HttpServer</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
        <servlet-name>httpServer</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
Run Code Online (Sandbox Code Playgroud)

Exception

Jul 25, 2011 1:32:21 PM org.apache.catalina.startup.ContextConfig parseWebXml
SEVERE: Parse error in application web.xml file at jndi:/localhost/mmscfake/WEB-INF/web.xml
java.net.ConnectException: Connection timed out
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
    at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
    at java.net.Socket.connect(Socket.java:525)
    at java.net.Socket.connect(Socket.java:475)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:163)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:394)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:529)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:233) …
Run Code Online (Sandbox Code Playgroud)

java tomcat web.xml servlets

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

如何获取SOAP标头

这是请求

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:soap="http://soap.ws.server.wst.fit.cvut.cz/">
    <soapenv:Header>
        <userId>someId</userId>
    </soapenv:Header>
    <soapenv:Body>
    ...
    </soapenv:Body>
</soapenv:Envelope>
Run Code Online (Sandbox Code Playgroud)

我想得到那个userId.

我试过这个

private List<Header> getHeaders() {
    MessageContext messageContext = context.getMessageContext();
    if (messageContext == null || !(messageContext instanceof WrappedMessageContext)) {
        return null;
    }
    Message message = ((WrappedMessageContext) messageContext).getWrappedMessage();
    return CastUtils.cast((List<?>) message.get(Header.HEADER_LIST));
}

private String getHeader(String name) {
    List<Header> headers = getHeaders();
    if (headers != null) {
        for (Header header : headers) {
            logger.debug(header.getObject());
            // return header by the given name                   
        }
    }
    return null;
}
Run Code Online (Sandbox Code Playgroud)

并记录[userId : …

java soap cxf jax-ws

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

Mercurial hg ignore无法正常工作

情况

$ cat .hgignore
.hgignore

$ hg status
M file1
M file2
M src/project.xml
Run Code Online (Sandbox Code Playgroud)

我不想跟踪,project.xml所以我跑

echo "project.xml" >> .hgignore
Run Code Online (Sandbox Code Playgroud)

结果是

$ cat .hgignore
.hgignore
project.xml

$ hg status
M .hgignore
M file1
M file2
M src/project.xml
Run Code Online (Sandbox Code Playgroud)

所以.hgignore即使它不应该被跟踪而且没有任何事情发生,现在它已被修改project.xml.这是什么意思?

mercurial hgignore

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

迭代非泛型列表的最佳方法是哪种?

我必须使用一段旧代码,我有一个List,我需要迭代它.Foreach循环不起作用.哪种方法最好,最安全?

private void process(List objects) {
    someloop {
        //do something with list item
        //lets assume objects in the List are instances of Content class
    }           
}
Run Code Online (Sandbox Code Playgroud)

java iteration loops raw-types

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