小编jdc*_*589的帖子

像.net的java/tomcat/JSP的"Application_Start"和"Begin_Request"这样的事件?

有没有办法在Java/Tomcat/JSP Web项目中附加到asp.net的"Application_Start"和"Begin_Request"等事件?我真的不想使用JSF或额外的框架(Spring,Struts).我不希望在每页的基础上使用"jspInit"这样的东西,全局事件处理程序是目标.

如果我陷入.net的做事方式,关键是要有一个初始化IoC容器(Application_Start)的中心位置,并实现'每个请求一个数据库事务'工作流程(Begin_Request).

谢谢.

java jsp tomcat servlets page-lifecycle

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

SmtpClient不会通过SSL/TLS进行身份验证(不指向gmail)

我有一个ssl/tls服务器(nodejs),作为postfix/sendmail的代理,对外发邮件执行一些预处理/数据获取.

从C#,我可以使用以下代码手动连接和验证:

var sslStream = new SslStream(tcpClient.GetStream(), false,
                         new RemoteCertificateValidationCallback(CertificateValidation),
                         new LocalCertificateSelectionCallback(CertificateSelectionCallback));

                string fn = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "cert.pem");
                X509Certificate c = X509Certificate.CreateFromCertFile(fn);
                var certs = new X509CertificateCollection();
                certs.Add(c);
                sslStream.AuthenticateAsClient(System.Environment.MachineName, certs , SslProtocols.Default, false);
Run Code Online (Sandbox Code Playgroud)

但是,我无法连接SmtpClient.顶级错误是超时,但我已调试到SmtpClient/SmtpConnection,并且潜在的错误是流不可读,大概是因为它从未经过身份验证(我无法在我的ssl/tls代理服务器中遇到断点) SmtpClient代码,但上面的手动sslConnection工作正常).

如果有一种方法可以手动将底层通信流提供给SmtpClient,那将会很棒,但我找不到办法.

任何人都知道为什么下面的代码不会进行身份验证?

这是我一直用来尝试与SmtpClient连接但未成功的测试应用程序:

    ServicePointManager.ServerCertificateValidationCallback = CertificateValidation;
    // Using Ssl3 rather than Tls here makes no difference
    ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;
    var client = new SmtpClient {
                                  Timeout = 10000,
                                  DeliveryMethod = SmtpDeliveryMethod.Network,
                                  EnableSsl = true,
                                  UseDefaultCredentials = false,
                                  Host = "192.168.15.71",
                                  Port = 10126
                                };
    client.ClientCertificates.Add(c);
    client.Credentials …
Run Code Online (Sandbox Code Playgroud)

c# ssl smtp .net-4.0

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

Linux shell脚本计算文本文件中char序列的出现?

我有一个大文本文件(超过70mb),需要计算文件中字符序列出现的次数.我可以找到很多脚本来完成这项工作,但是没有人会考虑到序列可以在不同的行上开始和结束.为了提高效率(我实际上有超过1个处理的文件),我无法预处理文件以删除换行符.

示例:如果我要搜索"thisIsTheSequence",则以下文件将包含3个匹配项:

asdasdthisIsTheSequence
asdasdasthisIsT
heSequenceasdasdthisIsTheSequ
encesadasdasda
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助.

linux shell

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

java中的动态方法返回类型

下面的代码正是我想要的,但我很好奇是否有更好的方法来实现它.如果Interfaces允许静态方法,或者Java方法可以在C#中扩展/参数化,那么这将更加容易.

我宁愿将参数" Class<TParsedClass> c" 替换为" Class<AbstractClass> c".对我来说," Class<AbstractClass>"意味着一个扩展某个抽象类的类,但显然这是错误的,因为当我使用该参数并按照我上面的描述使用它时,我会遇到编译器错误.

public <TData, TParsedClass> TParsedClass convert(TData data, Class<TParsedClass> c)
{
    try 
    {
        return (TParsedClass)c.getMethod("parse", data.getClass()).invoke(c, data);
    } 
    catch(Exception e)
    {
        e.printStackTrace();
        return null;
    }
}
Run Code Online (Sandbox Code Playgroud)

java generics reflection methods

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

Intellij在jarfile中重新打包依赖项?

我是jetbrains产品的忠实粉丝,并且是我所有Java开发的intellij(社区版)用户.然而,我真的想念日食的一个特征.在eclipse中,如果我有一堆jarfile依赖项,我可以在我的runnable jar文件中重新打包它们,所以所有依赖项都包含在一个jar文件中.

我找不到任何可以在intellij中完成任务的东西,所以我被迫从intellij导出我的项目到eclipse格式,在eclipse中修复项目配置(因为intellij在导出时做的不是很好)然后构建我的来自日食的jarfiles.

eclipse jar intellij-idea

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