java类注入service为null_解决webservice(Java)中dao层注入为null问题

首先在webservice指定发布的路径类中实现 ServletContextListener,

例如:

import javax.servlet.ServletContextEvent;

import javax.servlet.ServletContextListener;

public class ILockService implements ServletContextListener{

static IUserRecordService userRecordService;

@Override

public void contextInitialized(ServletContextEvent sce) {

userRecordService = WebApplicationContextUtils.getWebApplicationContext(sce.getServletContext()).getBean(IUserRecordService.class);

}

@Override

public void contextDestroyed(ServletContextEvent servletContextEvent) {

}

public String invoke(String xmlData) {

//解决该处userRecordService为null的问题

UserRecord user = userRecordService.queryUserById(Id);

}

}

然后在web.xml中监听该类,添加如下:

ILockService

com.cn.hnust.webservice.server.ILockService

好的,这样就可以搞定了!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java WebService 客户端,可能会遇到“握手异常”(handshake exception),这通常是由于 SSL 证书不受信任或证书过期等原因导致的。 解决方法如下: 1. 导入服务器的 SSL 证书 在 Java WebService 客户端,可以使用 keytool 工具将服务器的 SSL 证书导入到客户端的信任库。具体步骤如下: 1)使用浏览器访问 WebService 服务器,如 https://example.com/Service?wsdl。 2)在浏览器点击锁图标,查看证书信息。 3)将证书保存到本地,如 example.cer。 4)使用 keytool 工具将证书导入到客户端的信任库: ``` keytool -import -alias example -file example.cer -keystore cacerts ``` 其,cacerts 是 Java 安装目录下 jre/lib/security 目录的一个文件,用于保存信任的证书。 2. 关闭 SSL 验证 在测试环境,可以通过关闭 SSL 验证来解决“握手异常”问题。具体步骤如下: 1)创建一个 TrustManager,用于跳过 SSL 验证: ``` TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() { public java.security.cert.X509Certificate[] getAcceptedIssuers() { return null; } public void checkClientTrusted(X509Certificate[] certs, String authType) { } public void checkServerTrusted(X509Certificate[] certs, String authType) { } } }; ``` 2)创建一个 SSLContext,并使用上面创建的 TrustManager: ``` SSLContext sc = SSLContext.getInstance("SSL"); sc.init(null, trustAllCerts, new java.security.SecureRandom()); ``` 3)将 SSLContext 设置到 HttpsURLConnection : ``` HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory()); ``` 注意:在生产环境,不建议关闭 SSL 验证。 总结: 以上两种方法都可以解决“握手异常”问题,具体选择哪种方法,要根据实际情况来决定。在生产环境,建议使用第一种方法,即导入服务器的 SSL 证书。在测试环境,可以使用第二种方法,即关闭 SSL 验证。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值