小编Mar*_*s L的帖子

jax获取客户端IP

我正在尝试使用JAX-WS检索客户端IP,我用过:

@Resource
WebServiceContext wsContext; 

MessageContext mc = wsContext.getMessageContext();
HttpServletRequest req = (HttpServletRequest)mc.get(MessageContext.SERVLET_REQUEST); 

log.info("["+req.getRemoteAddr()+"])
Run Code Online (Sandbox Code Playgroud)

我得到一个NullPointerExceptionin req,mc不是null.

我的问题是使用哪个JAR,HttpServletRequest因为我使用的是Java独立应用程序?

谢谢

java web-services jax-ws

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

如何在没有重新加载页面的情况下提交表单,没有 jQuery?

我有如下表格,它需要向我的 java Servlet 发送一个操作来更新数据库。

如何在没有页面重新加载的情况下提交表单?目前action="myServlet"它让我直接进入一个新页面。如果我删除对 myServlet 的操作,则输入不会添加到我的数据库中。

<form name="detailsForm" method="post" action="myServlet" 
      onsubmit="return submitFormAjax()">
    name: <input type="text" name="name" id="name"/> <br/>
    <input type="submit" name="add" value="Add" />
</form>
Run Code Online (Sandbox Code Playgroud)

在我的 Java servlet 视图中,request.getParameter将查找名称并继续将其添加到我的数据库中。

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) 
  throws ServletException, IOException
{   
    if (request.getParameter("add") != null) {
        try {
            Table.insert(name);
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在我的 JavaScript 部分,我有一个submitFormAjax函数

function submitFormAjax()
{
    var xmlhttp;
    if (window.XMLHttpRequest) {
        // code for modern browsers
        xmlhttp …
Run Code Online (Sandbox Code Playgroud)

javascript ajax

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

psql: 致命: 用户的 PAM 身份验证失败

PostgreSQL 9.2.4

我无法再使用过去工作过的用户登录。我假设是配置问题。因此,为了进行测试,我创建了一个测试用户角色“testing”,其选项与相关角色相同(作为仍然可以登录的“postgres”用户!):

CREATE ROLE testing WITH SUPERUSER NOCREATEDB NOCREATEROLE LOGIN PASSWORD 'pw';

角色创建成功:

                                  角色列表
     角色名称 | 属性 | 成员
    -------------+------------------------------------ -----------+-----------
     postgres | 超级用户、创建角色、创建数据库、复制 | {}
     测试 | 超级用户 | {}
     ...

但是,登录会导致此消息:

# psql -h 127.0.0.1 -p 5434 -U 测试
用户测试密码:
psql: 致命: 用户“测试”的 PAM 身份验证失败
致命:用户“测试”的 PAM 身份验证失败

当我尝试使用原始角色时,我也会收到此错误。

pg_hba.conf:

# "local" 仅用于 Unix 域套接字连接
本地所有所有 pam
# IPv4 本地连接:
托管所有所有 0.0.0.0/0 pam

有没有人知道问题可能是什么?

postgresql pam postgresql-9.2

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

Azure Pipelines 中失败任务的自定义错误消息

为了记录自定义错误消息,Azure Pipeline 文档建议使用以下日志记录命令 (PowerShell):

Write-Host "##vso[task.logissue type=error]Something went very wrong."
exit 1
Run Code Online (Sandbox Code Playgroud)

然而,在管道的摘要(和电子邮件通知)中,我只看到 - 相当不具体的 - PowerShell 错误:

在此输入图像描述

那么我怎样才能得到错误Something gone veryErrors in the Summary并使任务失败(这是一个PowerShell脚本)?

azure azure-pipelines

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

Java HTTPS 服务器:相互 SSL 身份验证

com.sun.net.httpserver.HttpsServer我已经为 SOAP Web 服务开发了一个 Java 7 HTTPS 服务器(我使用)(主要受此 SO 答案的影响),区别在于该服务器设置为需要客户端身份验证。这是我使用的服务器配置代码:

final InetSocketAddress address = new InetSocketAddress( localhost, 8888 );
this.httpsServer = HttpsServer.create( address, 0 );

// ... KeyStore configuration ...

// configure the HTTPS server
this.httpsServer.setHttpsConfigurator( new HttpsConfigurator( sslContext )
{
   @Override
   public void configure(final HttpsParameters params)
   {
      try
      {
         // initialize the SSL context
         final SSLContext c = SSLContext.getDefault();
         final SSLEngine engine = c.createSSLEngine();
         params.setNeedClientAuth( true );
         params.setCipherSuites( engine.getEnabledCipherSuites() );
         params.setProtocols( engine.getEnabledProtocols() );

         // get the …
Run Code Online (Sandbox Code Playgroud)

java authentication ssl https

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

在shell中设置make的GCC版本

我安装了两个gcc(同样适用于g ++)版本.较新的是默认值:

/usr/bin/gcc      # 4.9.2
/usr/bin/gcc-4.4  # 4.4.7
Run Code Online (Sandbox Code Playgroud)

对于我的make命令,我想使用gcc-4.4/g ++ - 4.4.

我试过这三个variantes但似乎没有一个工作:

export CC="gcc-4.4"
export CPP="g++-4.4"

export CC=/usr/bin/gcc-4.4
export CPP=/usr/bin/g++-4.4

export gcc=/usr/bin/gcc-4.4
export g++=/usr/bin/g++-4.4
Run Code Online (Sandbox Code Playgroud)

Makefile定义:

# Compiler Options
CC       = gcc
CPP      = g++
LD       = g++
Run Code Online (Sandbox Code Playgroud)

Makefile使用的编译器仍为4.9.2.我怎么用4.4.7?

c++ gcc makefile g++

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

Oracle SQL Developer:运行脚本,出现错误时继续

我正在使用 SQL Developer 20.2 运行 Oracle 12c 数据库更新的批处理脚本。我将脚本文件拖放到编辑器窗口中,然后单击“运行脚本 (F5)”按钮。由于某种原因,如果脚本遇到错误(DDL 语句 - 没有显式抛出 PL/SQL 函数),程序就会停止。

例子:

drop sequence my_seq;  -- sequence may not exist yet
create sequence my_seq
  start with 1
increment by 1
    minvalue 1
    maxvalue 9999999999
       cache 100
       cycle;
Run Code Online (Sandbox Code Playgroud)

由于序列不存在,该drop语句可能会出错。SQL*Plus 忽略该错误并继续运行脚本,但 SQL Developer 停止执行,导致补丁更新不完整。

我能做些什么?

oracle oracle-sqldeveloper oracle12c

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

Java - 相同模式之间的模式匹配

我的示例字符串:

 a ghgduysgd a fdferfdf a bvfxbgdf a gdfgdfg
Run Code Online (Sandbox Code Playgroud)

我需要找到一个之间的所有内容.

我有(?<=a).*但是它匹配了所有的内容.但我想找到一个.

第一次迭代: ghgduysgd

第二次迭代: fdferfdf

我想得到类似上面的数据进行操作.你能帮助正则表达式吗?

java regex

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

使用自定义 X509KeyManager Java 时无法确定 SSL 握手的匹配密码套件

我正在使用 Java7 和 JAX-WS 2.2。

对于 SOAP Web 服务,我需要创建一个自定义X509KeyManager,以便为 JKS 密钥库中的每个连接客户端找到正确的证书。

但是,我已经在努力让我的自定义密钥管理器运行。到目前为止,我使用的是默认的(从初始化的 中检索KeyManagerFactory)并且它基本上可以工作 - 但当然它没有选择正确的证书。所以第一个想法是创建一个自定义X509KeyManager来保存原始密钥管理器,只写出一些日志消息,但通常使用默认行为。

出于某种原因,这根本不起作用。无法建立 SSL 握手。在ClientHello 之后,日志显示以下错误:

Allow unsafe renegotiation: false
Allow legacy hello messages: true
Is initial handshake: true
Is secure renegotiation: false
Thread-3, READ: TLSv1 Handshake, length = 149
*** ClientHello, TLSv1
RandomCookie:  GMT: 1476877930 bytes = { 207, 226, 8, 128, 40, 207, 47, 180, 146, 211, 157, 64, 239, 13, 201, 92, 158, 111, 108, 44, …
Run Code Online (Sandbox Code Playgroud)

java ssl soap jax-ws

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