小编cri*_*id9的帖子

如何研究设计模式?

我已经阅读了大约4-5本关于设计模式的书籍,但我仍然觉得我在设计模式方面没有接近中级水平?

我该如何去研究设计模式?

有没有关于设计模式的好书?

我知道这只会有经验,但必须有一些方法来掌握这些?

design-patterns

352
推荐指数
13
解决办法
15万
查看次数

Spring @ExceptionHandler处理多种异常

我无法弄清楚如何通过@ExceptionHandler处理多种异常.

我需要以编程方式处理这些异常,为此我需要一个共享引用.这是通过这个参考"Exception ex"完成的吗?我不这么认为,因为异常没有像这样被抓住,我怎么办呢?

我不能将所有异常引用作为参数提供给处理程序方法,它没有意义,它不能以编程方式处理.我需要一个共享引用,以便我可以在其上使用"instanceof"或者只是将其作为一般"异常"发送到其他地方

@ExceptionHandler({DescriptionCstOrderException.class, SpecializationCstOrderException.class, NoUploadFileException.class,
                    DeadLineCstOrderException.class, DocumentCstOrderException.class, CommentCstOrderException.class})
public String handleFormException(Exception ex, ActionRequest actionRequest) {
    logger.error(ex.getMessage());
    SessionErrors.add(actionRequest, ex.getClass().getName());  
    return "mainOrderForm";
  }
Run Code Online (Sandbox Code Playgroud)

其他问题:如果我想处理org.springframework.web.multipart.MaxUploadSizeExceededException,该处理程序的任何方法都不会抛出该怎么办?因为@ExceptionHandler只捕获从其中一个处理程序方法抛出的异常.

exceptionHandler方法可以放在一些扩展的父控制器中但是如果只使用defaultAnnotationHandlerMapping ...?

感谢任何帮助,我会发疯,这是非常令人沮丧的....

spring exception

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

在bash脚本中查找命令导致只有目录的"没有这样的文件或目录"错误?

更新2014-03-21

所以,我才意识到我是效率不高,因为我可以,因为所有我需要"擦洗"将该盘下/media并命名为" ,,等等." 这是最终的脚本:disk1disk2disk3

DIRTY_DIR="/media/disk*" 
find $DIRTY_DIR -depth -type d -name .AppleDouble -exec rm -rf {} \;
find $DIRTY_DIR -depth -type d -name .AppleDB -exec rm -rf {} \;
find $DIRTY_DIR -depth -type d -name .AppleDesktop -exec rm -rf {} \;
find $DIRTY_DIR -type f -name ".*DS_Store" -exec rm -f {} \;
find $DIRTY_DIR -type f -name ".Thumbs.db" -exec rm -f {} \; #  I know, I know, this is a Windows file.
Run Code Online (Sandbox Code Playgroud)

接下来可能只是清理代码,并添加记录和报告结果等功能(通过电子邮件或其他方式); 不包括系统和目录; …

linux bash scripting find

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

生成集合的所有分区

对于一组表格A = {1, 2, 3, ..., n}.它被称为集合的分区,是A一组k<=n尊重以下定理的元素:

a)所有分区的A并集是A

b)2个分区的交集A是空集(它们不能共享相同的元素).

例如.A = {1, 2,... n}我们有分区: {1, 2, 3} {1, 2} {3} {1, 3} {2} {2, 3} {1} {1} {2} {3}

这些理论概念在我的算法教科书中提出(顺便说一下,这个子章节是"回溯"章节的一部分).我应该找到一个算法来生成给定集合的所有分区.我整天都在努力解决这个问题,但我找不到解决办法.你能解释一下这个算法是如何工作的吗?另外,你能给我一个算法的伪代码草图吗?

algorithm set combinatorics backtracking

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

邮差:所需的请求部分'文件'不存在

我想通过邮递员将图像上传到我的Rest API.我正在使用spring boot框架.这是屏幕截图:

在此输入图像描述

我也没有像我在其他堆栈溢出答案中找到的那样设置任何头文件,因为它给出了多部分边界错误.

现在,下面是我的控制器代码:

package com.practice.rest.assignment1.controller;

import java.io.IOException;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import com.practice.rest.assignment1.model.Product;
import com.practice.rest.assignment1.service.CatalogueService;
import org.codehaus.jackson.JsonParseException;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;

@RestController
@RequestMapping("/CatalogueController/")
public class CatalogueController{

    @Autowired
    private CatalogueService catalogueService;

    @RequestMapping(value = "addProduct", method = RequestMethod.POST , consumes = "multipart/form-data")
    public Product addProduct(@RequestParam String productJson, @RequestParam MultipartFile file) throws JsonParseException, JsonMappingException, IOException {


        Product product = new ObjectMapper().readValue(productJson, Product.class);
        byte[] …
Run Code Online (Sandbox Code Playgroud)

rest multipartform-data spring-mvc spring-boot postman

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

+ 和 = Base64 编码数据中的字符

我正在将 SAML XML 字符串转换为 base 64 编码的数据,并从 JSP 发布到 Java 应用程序中的控制器。出于某种原因,当我在服务器端接收数据时,所有'+'字符都更改为,&#x2b;并且所有'='字符都更改为&#x3d; .请解释那里发生了什么。目前,我已经编写了代码来查找任何此类字符串以替换为+=字符。也让我知道我怎样才能阻止这种情况。

我的代码和设计是:testSSO.jsp -> TestServletSSO.java -> SSOController.java -> CustomRequestWrapper.java

JSP:

<html>
<title>Test page for SSO</title>
<body>
    <h3>Test page for SSO</h3>
    Please enter SAML in the input box below and submit the page. It will perform SSO with the application. 
    <form id="form1" method="post" action="testsso">
        <TEXTAREA NAME="saml" id="saml" COLS=40 ROWS=6></TEXTAREA>
        <input type="submit" />
    </form>

</body>

</html>
Run Code Online (Sandbox Code Playgroud)

测试服务程序

package com.testsso;

import …
Run Code Online (Sandbox Code Playgroud)

java base64

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

警告:非终结符在语法中无用:const_declaration [-Wother]

我有以下yacc语法:

%{
#include  <stdio.h>
extern FILE* yyin;
extern char* yytext;

%}

%token VAR ID_NAME TYPE_STRING TYPE_BOOL TYPE_NUMBER CONST

%%

var_declaration: VAR ':' type ID_NAME ';' { printf("var\n"); }
    ;

const_declaration: CONST ':' type ID_NAME ';' {printf("const\n");}
    ;

type: TYPE_NUMBER
    | TYPE_STRING
    | TYPE_BOOL
    ;

%%
void yyerror (char const *s) {
    fprintf (stderr, "%s\n", s);
}

int main(int argc, char** argv[])
{

    yyparse();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

它应该描述一种小语言,此时应该允许表单的变量声明var:<type> <name>;和表单的常量声明const:<type> <name>;

当我运行时,yacc -vd grammar.y我得到: …

parsing yacc bison

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

使用 Selenium IDE 调用 eval() 被 CSP 阻止

我在Selenium IDE. 我在这个套件中有一个步骤,应该在文本字段中键入一个值。它在该步骤失败,并出现以下错误:

18. click on id=firstName Failed:11:12:59
call to eval() blocked by CSP
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

selenium eval selenium-ide content-security-policy

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

无法读取“https://github.com”的用户名:Windows 上禁用终端提示

我试图使用私有存储库获取一些依赖项go get -u <github_private_repo_link>,但它一直失败并出现以下错误:

server response:
not found: github.com/..../v3@v3.11.1: invalid version: git ls-remote -q origin in /tmp/gopath/pkg/mod/cache/vcs/168bff8af96cdfac9cbe3ad64f7753732f8a19d99f7f1e897f19371e1ea453d9: exit status 128:
fatal: could not read Username for 'https://github.com': terminal prompts disabled
Confirm the import path was entered correctly.
If this is a private repository, see https://golang.org/doc/faq#git_https for additional information.
Run Code Online (Sandbox Code Playgroud)

我尝试导出set GIT_TERMINAL_PROMPT=1,但没有任何反应,出现同样的错误。有什么办法 go get 会忽略 Windows 上这个变量的值吗go 1.13

git go

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