标签: web-inf

使用谷歌appengine maven插件来部署Jax-RS战争

我正在尝试创建一个简单的基础项目,将我使用Jax-RS库进行的服务部署到我的Google应用引擎云空间.问题是我不知道如何正确配置插件以不继续查看目标文件夹下的webapp目录.Jax-rs项目的结构将web.xml和所有其他WEB-INF文件放在resources目录下而不是webapp目录下.有没有办法配置maven插件来部署我已经构建和压缩的war文件?

这是我看到的错误

[INFO]更新Google App Engine应用程序无法找到webapp目录C:\ dev\gameTrunk\server\target\HOMMTG-server-1.0用法:AppCfg [options] [] []

操作必须是以下之一:help:打印特定操作的帮助.
download_app:下载以前上传的应用版本.
request_logs:以Apache通用日志格式写入请求日志.
rollback:回滚正在进行的更新.start:启动指定的服务器版本.

它继续所有的appengine插件目标...

这是我的pom

<plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <version>2.5.1</version>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.3</version>
            <configuration>
                <archiveClasses>true</archiveClasses>
                <webResources>
                    <!-- in order to interpolate version from pom into appengine-web.xml -->
                    <resource>
                        <directory>${basedir}/src/main/resources/WEB-INF</directory>
                        <filtering>true</filtering>
                        <targetPath>WEB-INF</targetPath>
                    </resource>
                </webResources>
            </configuration>
        </plugin>
        <plugin>
            <groupId>com.google.appengine</groupId>
            <artifactId>appengine-maven-plugin</artifactId>
            <version>${appengine.target.version}</version>
        </plugin>
    </plugins>
Run Code Online (Sandbox Code Playgroud)

这只是插件部分,但它与guestbook示例项目几乎完全相同,除了WEB-INF目录的路径

google-app-engine jax-rs web-inf web-deployment maven

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

如何从JSF中的/ WEB-INF文件夹获取属性文件?

我有一些属性文件/WEB-INF.我想在JSF托管bean中加载它.有没有办法做到这一点?

jsf properties web-inf properties-file managed-bean

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

Primefaces DialogFramework - 如何显示位于WEB-INF中的对话框?

我使用Primefaces DialogFramework

  • Primefaces 5.0
  • Mojarra 2.1.27
  • Glassfish 3.1.2.2 Build 5

我的问题是,如果用户知道我的对话框的位置,他可以直接通过URL访问它.我不希望这是可能的,所以我认为它可以将对话框放在我的web-app的WEB-INF文件夹中,但是现在,如果我想打开对话框,我会得到一个FileNotFound-Exception.

如果我的对话框位于某个常规文件夹中,则可以正常工作

RequestContext.getCurrentInstance().openDialog("/myfolder/mydialog"); 
// this works as expected
Run Code Online (Sandbox Code Playgroud)

但如果它位于WEB-INF中,则它不再起作用

RequestContext.getCurrentInstance().openDialog("/WEB-INF/mydialog",options,null);
// this is causing a fileNotFoundException
Run Code Online (Sandbox Code Playgroud)

我也尝试为此设置导航规则faces-config但是再次没有成功

<navigation-case>
    <from-outcome>mydialog</from-outcome>
    <to-view-id>/WEB-INF/mydialog.xhtml</to-view-id>
    <redirect />
</navigation-case>
Run Code Online (Sandbox Code Playgroud)

我如何打开位于WEB-INF文件夹中的对话框,或者根本不可能?提前致谢

dialog web-inf primefaces jsf-2

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

在部署的 webapp 中引用一个 css 文件

我已经部署了一个 web 应用程序,localhost:8080/Project其中 Project 是上下文名称。webapp 正确地将用户重定向到 index.jsp。

但是找不到这个 index.jsp 中的 css 文件(错误 404)。

Index.jsp 包含此参考:

<html lang="en">
<head>
    <link href="../css/style.css" rel="stylesheet">
</head>
</html>
Run Code Online (Sandbox Code Playgroud)

我的项目在 WEB-INF 文件夹中有以下结构:

WEB-INF/views/index.jsp
WEB-INF/css/style.css
Run Code Online (Sandbox Code Playgroud)

我也尝试通过 url 直接调用 css 文件,localhost:8080/Project/css/style.css但这也不起作用。


我按照建议将 css 文件夹上一级(与 WEB-INF 处于同一级别)。问题仍然存在。我是否必须排除/css以 this开头的网址@Controller?或者,也许我走错了路......

@Controller
@RequestMapping("/")
public class IndexController {

    @RequestMapping(method = RequestMethod.GET)
    public String sayHello(ModelMap model) {
        return "index";
    }
}
Run Code Online (Sandbox Code Playgroud)

css java jsp spring-mvc web-inf

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

我们可以更改WEB-INF的名称

我可以知道我是否可以在任何tomcat webapp中更改WEB-INF文件夹的名称.如果没有,那么为什么在tomcat conf文件夹中有context.xml文件,其中包含watchedresource的路径.我尝试重命名但它不起作用.<WatchedResource>newWebInf/web.xml</WatchedResource>如果重命名不起作用,可以告诉我在context.xml文件中提供此标记的原因是什么 .或者有没有其他方法来重命名WEB-INF文件夹.

PS:我没有任何与此相关的要求.我只想尝试一下.请不要回答为什么以及你想要的地方.

非常感谢.

tomcat web-applications web-inf

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

如何将JSP放入WEB-INF中?

我正在使用MVC并希望将我的JSP页面放在WEB-INF中以避免直接访问它.我有一个index.jsp页面和Web内容的jsp文件夹中的其他页面,它的工作原理.它看起来像这样:

-Web Content
-index.jsp
-jsp
--main_read.jsp
--...
Run Code Online (Sandbox Code Playgroud)

顺便说一句,index.jsp是我的登录页面,用户是否已登录,在我使用的控制器中

RequestDispatcher dispatcher =
        getServletContext().getRequestDispatcher("jsp/main_read.jsp");
dispatcher.forward(request, response);
Run Code Online (Sandbox Code Playgroud)

我工作得很完美,但是当我试图将我的JSP放入WEB-INF时它会失败:

-Web Content
-index.jsp
-WEB-INF
--jsp
---jsp
----main_read.jsp
----...
Run Code Online (Sandbox Code Playgroud)

并给出这样的错误

HTTP Status 404 - /Libruary/jsp/main_read.jsp

type Status report

message /Libruary/jsp/main_read.jsp

description The requested resource (/Libruary/jsp/main_read.jsp) is not available.
Apache Tomcat/6.0.26
Run Code Online (Sandbox Code Playgroud)

可能问题是在页面路径中,我写了dispatcher.forward,但无论如何,请帮助我.

model-view-controller jsp web-inf

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

如何在/ WEB-INF /下创建文件

我正在开发一个存储/ WEB-INF/someFolder /下的文件的应用程序.但我找不到在此文件夹下创建文件的正确方法.我这样做了,但它不起作用:

        File newFile = new File("/WEB-INF/fileName.xml");
Run Code Online (Sandbox Code Playgroud)

当我尝试检查创建时:

        boolean isCreated = newFile.createNewFile();
Run Code Online (Sandbox Code Playgroud)

我明白了:

        java.io.IOException: No such file or directory
Run Code Online (Sandbox Code Playgroud)

请帮助我以正确的方式做到这一点.

更新: 我做了这个解决方法,它正在工作,但我没有看到它是高性能的解决方案.

        ServletContext servletContext = getServletContext();
        String path = servletContext.getRealPath("/WEB-INF/");
        File newFile2 = new File(path+"/fileName.xml");
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

servlets file web-inf

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

RequestDispatcher.forward()到"/ WEB-INF"下的资源在WebSphere中不起作用

在我的一个servlet中,我RequestDispatcher.forward()在WEB-INF文件夹下的某个地方调用静态资源:

request
    .getRequestDispatcher( "/WEB-INF/some/path/image.gif" )
        .forward( request, response );
Run Code Online (Sandbox Code Playgroud)

导航到这个servlet在Tomcat,Jetty等下工作正常,但在WebSphere 7中不起作用.我得到的错误(在浏览器和服务器日志中)都是

Error 403: SRVE0190E: File not found: /WEB-INF/some/path/image.gif
Run Code Online (Sandbox Code Playgroud)

最初我假设WebSphere可能需要一些特定的配置来允许内部转发到WEB-INF下的资源,但我没有谷歌任何有用的东西.

任何想法为何会发生这种情况?

提前致谢!

java websphere servlets web-inf requestdispatcher

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

可从Deployed应用程序访问Grails WEB-INF

在grails应用程序中,可以访问WEB-INF内容,包括所有.gsp内容以及部署时的.class文件.

我正在使用grails 2.3.5并在tomcat 7中部署战争.

您可以使用访问这些文件

http://mydomain.com/static/WEB-INF/web.xml
http://mydomain.com/static/WEB-INF/grails-app/views/anyview.gsp
http://mydomain.com/static/ WEB-INF/grails-app/i18n/messages.properties http://mydomain.com/static/WEB-INF/classes/anyclass.class

我可以禁止访问grails中的这些URL吗?

java grails tomcat web-inf

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

Jetty 8:web片段jar的/ META-INF/resources/WEB-INF/classes目录可以为Web应用程序的类路径做出贡献吗?

我创建了一个包含文件的Servlet 3.0 Web片段jar:

/META-INF/resources/WEB-INF/classes/com/foo/whatever/i18n.properties

应用程序启动时由Web片段启用的其中一个Servlet上下文侦听器执行以下代码:

public static final String BUNDLE_BASE_NAME = "com.foo.whatever.i18n";
//... later:
ResourceBundle.getBundle(BUNDLE_BASE_NAME, locale);
Run Code Online (Sandbox Code Playgroud)

这意味着i18n.properties如果最终用户未在其Web应用程序中的相同路径中指定自己的文件,则应使用Web片段的上述文件.

这适用于Tomcat 7,但不适用于Jetty 8.这是在Jetty 8中部署时产生的异常:

java.util.MissingResourceException:找不到基本名称com.foo.whatever.i18n的bundle,locale en_US

有没有办法让Jetty 8兑现Web片段的类路径贡献?

jetty web-inf servlet-3.0 jetty-8 web-fragment

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