相关疑难解决方法(0)

META-INF的目的是什么?

在Java中,您经常会看到包含一些元文件的META-INF文件夹.这个文件夹的目的是什么,我可以放在那里?

java meta-inf

282
推荐指数
9
解决办法
24万
查看次数

这个简单工厂是否违反开放封闭原则?

这个简单工厂是否违反开放封闭原则?

每次需要创建新的具体产品时,SimpleProductFactory都需要更改,但它遵循单一责任原则,因为这是它永远改变的唯一原因.它的唯一目的是使客户不违反开放的封闭原则,所以我认为它本身不能违反,因为很明显这个代码是需要的.

我对更换工厂不感兴趣,但是这个具体的例子是否违规.

产品

interface Product{
  public int getPrice();
}
Run Code Online (Sandbox Code Playgroud)

牛奶

class Milk implements Product{
  public int getPrice(){ return 5; }
}
Run Code Online (Sandbox Code Playgroud)

芯片

class Chips implements Product{
  public int getPrice(){ return 3; }
}
Run Code Online (Sandbox Code Playgroud)

SimpleProductFactory

class SimpleProductFactory{

  public Product createProduct(String productName){

    if(productName.equals("milk")){
      return new Milk();
    }
    else if(productName.equals("chips")){
      return new Chips();
    }
    return null;
  }
}
Run Code Online (Sandbox Code Playgroud)

客户

class Client{
  public static void main(String[] args) {
    SimpleProductFactory productFactory = new SimpleProductFactory();
    Product prod = productFactory.createProduct("milk");
    System.out.println(prod.getPrice());

  }
}
Run Code Online (Sandbox Code Playgroud)

java oop design-patterns design-principles solid-principles

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

JSF 2.0应用程序找不到资源

我是开发JSF的新手(一般是Web开发的新手),我试图在页面上放置一个图像.我正在Eclipse中开发我的JSF应用程序并在Glassfish 3.1.2上运行它.我已将Glassfish注册为Eclipse中的服务器,并通过Eclipse运行应用程序.

我在xhtml页面上使用以下标记:

<h:graphicImage library="images" name="logo.png"/>
Run Code Online (Sandbox Code Playgroud)

我在META-INF/resources/images/logo.png中复制了图像.图像没有出现在页面上,当我查看页面源时,我看到了元素

<img src="RES_NOT_FOUND" />
Run Code Online (Sandbox Code Playgroud)

表示未找到图像.

当我将我的应用程序导出到war文件并通过autodeploy文件夹将其部署到Glassfish时,我得到相同的结果 - 页面显示,但图像不会出现.

任何人都可以建议为什么没有找到图像资源?

eclipse glassfish jsf-2

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