java - 最佳实践,java web应用程序,jsp文件放在哪里?

标签 java google-app-engine jsp servlets

我正在使用谷歌应用程序引擎来开发java web应用程序,我的问题是我的所有jsp文件都可以在下面访问 http://localhost:8888/namefile.jsp,,我把所有的jsp文件放在war文件夹中

我应该把jsp文件放在哪里以避免这种情况? 或者我应该修改 web.xml 来修改 url 映射?

这是我的 web.xml 文件

<servlet>
 <servlet-name>frontController</servlet-name>
 <servlet-class>com.myapp.frontcontroller.FrontController</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>frontController</servlet-name>
    <url-pattern>/myapp/*</url-pattern>
</servlet-mapping>


<welcome-file-list>
    <welcome-file>home.jsp</welcome-file>
</welcome-file-list>

提前致谢。

最佳答案

您有几个选项,可以根据您的要求使用其中任何一个:

  • 您可以将文件放置在 WEB-INF 文件夹中。默认情况下,其中存在的文件夹/文件不可用。您需要将请求相应地重定向和/或转发到写入文件。

  • 它不仅涉及 JSP 文件,还涉及可以直接访问的 servlet。理想情况下,您希望保护 URL 模式并确保只有授权用户(即具有特定角色的用户)才能访问该角色下的 servlet/文件夹。为此,GAE 在 web.xml 文件中使用标准的security-constraint。阅读 https://developers.google.com/appengine/docs/java/config/webxml#Security_and_Authentication

  • 最后,您还可以查看 Servlet 过滤器来满足您的要求。您可以使用全局过滤器来检查用户是否已登录,然后才能继续访问网络资源。过滤器还可以帮助您执行日志记录,以检查谁正在访问您的应用程序以及其他横切问题等。

关于java - 最佳实践,java web应用程序,jsp文件放在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20921400/

相关文章:

java - 如何修复 minSdkVersion 21 中的 DEX 64K 方法限制?

Java 覆盖提示

ios - 如何将NSString转换为Appengine Blobstore的UIImage

node.js - 使用 Node.js 从 Google Cloud Platform 存储桶中获取文件夹列表

java - 使用 Java 将图像上传到 PostgreSQL

java - JRBeanCollectionDataSource : How to show data from the java. util.List 来自 JavaBean?

java - 如果使用 jar,则从 jar 中解压文件,然后将提取的文件复制到目录中

java - App Engine - 后台线程不工作

java - 已为此响应调用 getOutputStream()

javascript - 如何自动格式化文本框输入