小编jla*_*s62的帖子

交叉关注的例子

什么是一个很好的例子cross-cutting concern维基百科页面上的医疗记录示例对我来说似乎不完整.

特别是从这个例子中,为什么日志记录会导致代码重复(散射)?(除了简单的呼叫,如log("....")无处不在,这似乎不是什么大不了的事).

a core concern和a有cross-cutting concern什么区别?

我的最终目标是更好地了解AOP.

aop design-patterns cross-cutting-concerns

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

何时使用&nbsp

我已经&nbsp在html中看到过并且除了创建一些空白外,还不能完全说出它的作用.我想知道它究竟是做什么以及什么时候应该使用它?

html

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

搜索PGAdmin中所有功能的文本

将PostgreSQL与pgAdmin一起使用,并想知道是否有办法搜索特定文本的数据库的所有功能.

这可能吗?

sql postgresql pgadmin

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

Boolean.valueOf(String)可以返回null吗?

可以Boolean.valueOf(String)返回null吗?从我在java 文档中看到的内容,docs只指定何时返回true.是否总是返回false,否则可以返回null?在我所做的测试中,我无法让它返回null,但我想确定.

基本上,我想知道以下代码是否安全NullPointerException:

boolean b = Boolean.valueOf(...); 
Run Code Online (Sandbox Code Playgroud)

java boolean

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

将MySql添加到playframework 2.2.1

我正在尝试使用play框架连接到mysql数据库.从我自己的搜索,我知道我需要在某处添加此行:

"mysql" % "mysql-connector-java" % "5.1.18"

但是,在每个文档/类似问题中,它都表示此行或者进入Build.scala文件或build.sbt文件,而我没有这些文件.当我创建我的应用程序(作为一个Java应用程序)时,它只给了我一个build.properties,plugins.sbt它在项目文件夹中.

有谁知道如何添加这条线?我需要创建其中一个文件吗?

我的build.properties档案:

 sbt.version=0.13.0
Run Code Online (Sandbox Code Playgroud)

plugins.sbt

// Comment to get more information during initialization
logLevel := Level.Warn

// The Typesafe repository
resolvers += "Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/"

// Use the Play sbt plugin for Play projects
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.2.1")
Run Code Online (Sandbox Code Playgroud)

更新:添加后

addSbtPlugin("mysql" % "mysql-connector-java" % "5.1.18") 到我的插件文件:

在此输入图像描述

java mysql playframework playframework-2.2

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

正则表达式找到没有日志的catch块

我正在使用PowerGrep的正则表达式来搜索一堆文件.我正在使用java文件,我的目标是找到中不包含单词的所有catch ,log以便我可以添加日志记录.有很多文件,所以手动浏览它们并不可行.

应该找到什么的例子

catch (Exception e) {
    //comment#
    int math = 1 +2 * (3);
    String email = "email@example.com";
    anothermethod.call();
    //no logging
}  
Run Code Online (Sandbox Code Playgroud)

catch(AnotherException e ) {}    //no logging
Run Code Online (Sandbox Code Playgroud)

应该找到什么的例子

catch(AnotherException e ) {  
     //some code
     log.error("Error message");
     //some more code 
}
Run Code Online (Sandbox Code Playgroud)

catch(BadE_xception e) { log.error(e); }      
Run Code Online (Sandbox Code Playgroud)

我对正则表达式不是很有经验,但这是我到目前为止所拥有的:

catch块开始: catch\s*\(\s*\w*\s+\w*\s*\)\s*\{.*?

但后来我不确定从哪里开始指定不包含log.如果你有关于如何在没有正则表达式的情况下做到这一点的想法,那对我来说也是完美的.谢谢

regex powergrep

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

如何使用Java中的Httpunit发送Multipart请求

我基本上是问的确切同样的问题在这里.如您所见,没有可靠的答案.我想要做的就是发送一个文件HTTPUnit来测试java servlet.

所以,我有一个Java Servlet这个代码(dumbed down):

@WebServlet("/properties/StorePropertyAttachment")
@MultipartConfig
public class StorePropertyAttachment {

    @Override
    public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
        final Part p = req.getPart("propertyImage");
         ....
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的测试用例的重要部分:

    ServletRunner servletRunner = new ServletRunner();
    servletRunner.registerServlet("StorePropertyAttachment", StorePropertyAttachment.class.getName());

    WebRequest webRequest = new PostMethodWebRequest(WEB_REQUEST_BASE_URL + STORE_PROPERTIES_ENDPOINT);
    UploadFileSpec spec = new UploadFileSpec(new File("C:/test.jpg"), "multipart/form-data");
    webRequest.setParameter("propertyImage", new UploadFileSpec[] {spec});
    ^^^^^  line 68  ^^^^^

    ServletUnitClient servletClient = servletRunner.newClient();
    WebResponse webResponse = servletClient.getResponse(webRequest);
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我收到此错误:

com.meterware.httpunit.IllegalNonFileParameterException: Parameter 'propertyImage' is not a …
Run Code Online (Sandbox Code Playgroud)

java servlets multipartform-data http-unit

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

我可以告诉 spring 忽略查询参数吗?

如果我提交此表格:

<form id="confirmForm" method="POST">
    <input type="hidden" name="guid" value="guidval"/>
</form>
Run Code Online (Sandbox Code Playgroud)

到这个网址:

/AltRT?guid=guidval

映射到这个控制器方法:

@RequestMapping(method = RequestMethod.POST)    
public String indexPost(@RequestParam String guid)
Run Code Online (Sandbox Code Playgroud)

我为我的 guid 获得了两个值。所以价值guid就是guidval,guidval。我只想从表单中获取值。

有什么方法可以告诉 Spring 忽略查询字符串参数吗?

编辑以获取更多说明:查询字符串是从另一个(获取)请求中遗留下来的。所以,如果我能清除同样有效的查询字符串。此外,我不想编辑name表单输入的 ,因为我希望此发布端点可用于其他服务而无需更改它们。

java spring spring-4

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

Spring防止ajax调用成为身份验证时的目标url

我有一个正在运行的 Spring/Java Web 应用程序。在某些页面上,当我注销时,最后发出的请求是 AJAX 调用。因此,当我重新登录时,Spring 将我重定向到 ajax 调用,给我一个充满 json 的浏览器。我的登录成功处理程序扩展了SavedRequestAwareAuthenticationSuccessHandler.

如何控制成功登录后转发到哪个网址?

java ajax spring spring-mvc spring-security

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

Java 下载大文件意外停止

我正在从 java spring tomcat 应用程序下载一个大文件(500MB 到 1GB)。

下面下载文件的方法过去运行良好,但今天开始表现得很奇怪。在浏览器 (chrome) 认为文件已完成之前,只会下载大约前 20MB - 50MB。

@RequestMapping(value = "/DownloadPDFSaved/{group}", method = RequestMethod.GET)
public void downloadGroup(@PathVariable String group, HttpServletResponse response) {
    if(!StringUtils.hasText(group)) {
        response.sendError(400, "Group is empty");
        return;
    }
    InputStream is = new FileInputStream(new File(getPDFZipFilePathForGroup(group)));
    IOUtils.copy(is, response.getOutputStream());
    response.flushBuffer();
} 
Run Code Online (Sandbox Code Playgroud)

在tomcat日志中,我可以看到一个ClientAbortException,但它没有提供太多有用的信息。

我需要设置内容长度吗?如果是这样,我会将内容长度设置为文件的大小吗?您还能看到其他导致下载大 zip 文件时出现问题的因素吗?

堆栈跟踪

org.apache.catalina.connector.ClientAbortException: java.net.SocketTimeoutException
at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:389) ~[catalina.jar:8.0.9]
at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:426) ~[tomcat-util.jar:8.0.9]
at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:339) ~[tomcat-util.jar:8.0.9]
at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:414) ~[catalina.jar:8.0.9]
at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:402) ~[catalina.jar:8.0.9]
at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:97) ~[catalina.jar:8.0.9]
at org.springframework.security.web.context.SaveContextOnUpdateOrErrorResponseWrapper$SaveContextServletOutputStream.write(SaveContextOnUpdateOrErrorResponseWrapper.java:457) ~[SaveContextOnUpdateOrErrorResponseWrapper$SaveContextServletOutputStream.class:3.2.5.RELEASE]
at org.apache.poi.util.IOUtils.copy(IOUtils.java:135) ~[IOUtils.class:3.11]
at web.controllers.TrialController.downloadGroup(TrialController.java:281) …
Run Code Online (Sandbox Code Playgroud)

java spring tomcat stream

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