小编Vir*_*eal的帖子

Java数组参数声明语法"..."如何工作?

我已经写了一段时间的java,今天我遇到了以下声明:

public static void main(String... args) {

}
Run Code Online (Sandbox Code Playgroud)

注意数组声明中的"点点点",而不是通常的括号[].显然它有效.事实上,我写了一个小测试,并验证它的工作原理.所以,我拉了java语法,看看这个参数声明的语法在哪里,但没有找到任何东西.

所以对那里的专家来说,这是如何工作的?它是语法的一部分吗?另外,虽然我可以像这样声明函数,但是我不能像这样在函数体内声明一个数组.

无论如何,你知道任何有这个记录的地方.这是好奇心,也许不值得投入任何时间,但我很难过.

java arrays declaration

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

go中的每个测试的测试设置和拆卸

我正在使用go"测试"包.运行我的测试如下.

func TestMain(m *testing.M) {

   ...
   // Setup
   os.Exit(m.Run())
   // Teardown
}
Run Code Online (Sandbox Code Playgroud)

这将在运行任何测试之前运行设置,并在所有测试完成后进行拆卸.我确实需要这个,因为设置设置了DB.但是,我还需要找到一种方法来运行每次测试设置/拆卸.对于我正在运行的单元测试,我想在每次测试之前清除DB,以便DB的内容没有问题导致意外行为.

unit-testing go

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

将特定servlet映射为Tomcat中的缺省servlet

我正在尝试实现一个获取原始请求的servlet,并决定处理它们,还是将它们转发到另一个后端服务器.它类似于负载均衡器,其中收到的请求被转发到(在我的情况下为2个)目的地之一.其中一个目标是远程(在另一台主机上).此外,请求可以到根(http://mycompany.com/).

因为我想获得原始请求,所以我实现了自己的servlet(子类化HttpServlet),这非常有用.我的servlet看起来像:

public class MyProxyServlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
        throws ServletException, IOException {
        processOrForward(req, resp);
    }
    // also doGet(), doHead(), ...
}
Run Code Online (Sandbox Code Playgroud)

由于我想要处理的服务可以向root发送请求,我想将我的servlet映射为默认的servlet,从而接收任何没有显式servlet映射的请求.假设我的servlet名称是"myservlet",并且正在另一个servlet"foo"的一侧运行,我希望所有以http://mycompany.com/foo/ ... 形式发出的请求都被传递给foo,以及一切else(例如/,/ bar/...,/ myservlet/...)到"myservlet".看一下之前的帖子(例如,这里这里的根映射,或者这里的 url重写),我以为我想出来了,但它不起作用.

这是我的web.xml:

<web-app>
  <servlet>
    <servlet-name>ProxyServlet</servlet-name>
    <servlet-class>com.mycompany.MyProxyServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>ProxyServlet</servlet-name>
    <url-pattern>/*</url-pattern>
  </servlet-mapping>
</web-app>
Run Code Online (Sandbox Code Playgroud)

在上面的web.xml中,对于url-pattern我试过了

"/" and "/*" and empty (i.e., <url-pattern></url-pattern>), all behave the same -->
    Requests to root (/)goes to tomcat's default …
Run Code Online (Sandbox Code Playgroud)

java tomcat servlets url-pattern

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

没有定义名为'cxf'的bean

我正在尝试使用tomcat 6.0.32,cxf 2.4.1设置一个简单的restful Web应用程序.无论何时我发出任何调用,我都会收到一个异常"没有定义名为'cxf'的bean",其中cxf是我的总线.

查看应用程序日志,我可以看到cxf实例已创建并缓存.

================ APP LOG BEGIN ======================

910 DEBUG - 创建单例bean'cxf'的共享实例

910 DEBUG - 创建bean'cxf'的实例

1018 DEBUG - 急切地缓存bean'cxf'以允许解析潜在的循环引用

1031 DEBUG - 返回尚未完全初始化的单例bean'cxf'的急切缓存实例 - 循环引用的结果

1034 DEBUG - 完成创建bean'cxf'的实例

1035 DEBUG - 返回单例bean的缓存实例'org.apache.cxf.bus.spring.BusWiringBeanFactoryPostProcessor'

1035 DEBUG - 返回单例bean的缓存实例'org.apache.cxf.bus.spring.Jsr250BeanPostProcessor'

1035 DEBUG - 返回单例bean的缓存实例'org.apache.cxf.bus.spring.BusExtensionPostProcessor'

1035 DEBUG - 创建单例bean'连接'的共享实例

1035 DEBUG - 创建bean'连接'的实例

1035 DEBUG - 急切地缓存bean'连接'以允许解析潜在的循环引用

1052 DEBUG - 完成创建bean'连接'的实例

1052 DEBUG - 创建单例bean'connectionService'的共享实例

1052 DEBUG - 创建bean'connectionService'的实例

1053 DEBUG - 急切地缓存bean"connectionService"以允许解析潜在的循环引用

1053 DEBUG - 返回单例bean'连接'的缓存实例

1053 DEBUG - 返回单例bean'cxf'的缓存实例 …

spring tomcat cxf

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

CXF Restful服务复杂对象解组不起作用

我是宁静的服务新手,并且有一个相对良好的开端,直到我决定玩一些复杂的对象.我遇到的问题是解组一个到服务器的对象(在服务器端从XML创建对象).

以下是我的服务示例(代表)实现.

这是我的"复杂对象"数据类型.

package data;
import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement
public class ComplexType {
    private long id;
    private String name;
    private Boolean isRegistered;


    public ComplexType() {
        super();
    }
    public ComplexType(long id, String name, Boolean isRegistered) {
        super();
        this.id = id;
        this.name = name;
        this.isRegistered = isRegistered;
    }
    public long getId() {
        return id;
    }
    public void setId(long id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Boolean getIsRegistered() …
Run Code Online (Sandbox Code Playgroud)

java cxf jaxb

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

强制SSL客户端套接字发送证书

我正在尝试编写一个客户端(实际上是一个中间件,它是一个实体的客户端,但也充当其他人的服务器).在其客户端容量中,它应该与另一台服务器(VMware的VirtualCenter)通信,并要求它代表它做一些事情.

为了提供更多上下文,VirtualCenter允许应用程序注册为扩展.所述申请可以在注册时注册其证书(setCertificate).之后,应用程序可以使用其证书(loginExtensionByCertificate()方法)登录VirtualCenter ,从而无需存储用户名和密码.但是,为了使其正常工作,客户端(我的应用程序)必须发送证书作为其SSL连接的一部分,即使服务器(VirtualCenter)没有特别要求它.

我正在用Java编写我的应用程序.创建了我自己的密钥管理器,将其连接到我的密钥库并指定要使用的别名.然后初始化我的ssl上下文以使用该密钥管理器.在创建的套接字中,我确实看到他们的SSLContext中有我的密钥管理器.但是,我没有看到密钥管理器被调用来获取证书.出于某种原因,套接字不觉得需要发送证书.

我知道服务器可能会要求客户端提供其证书.在这种情况下,它不会发生.我想知道是否有办法强制创建的套接字提供证书,无论服务器是否要求它.

java vmware ssl

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

标签 统计

java ×4

cxf ×2

tomcat ×2

arrays ×1

declaration ×1

go ×1

jaxb ×1

servlets ×1

spring ×1

ssl ×1

unit-testing ×1

url-pattern ×1

vmware ×1