Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JSP页面使用的类有多安全?_Java_Jsp_Servlets - Fatal编程技术网

Java JSP页面使用的类有多安全?

Java JSP页面使用的类有多安全?,java,jsp,servlets,Java,Jsp,Servlets,如果我在JSP页面上有一个表单,该表单将其数据传递给我编写的简单java文件(.class),该文件返回某种类型的数据,并在新页面上打印给用户。网站用户是否可以访问该java文件本身?换句话说,用户是否可以找到该.class文件并下载它?如果是这样,我怎样才能防止这种情况发生?不,如果他们无法下载类文件,运行应用程序的servlet容器将把所有类文件都放在WEB-INF/classes下。WEB-INF文件夹下的任何内容都不公开可见。不,它们将无法下载类文件,运行应用程序的servlet容器将在

如果我在JSP页面上有一个表单,该表单将其数据传递给我编写的简单java文件(.class),该文件返回某种类型的数据,并在新页面上打印给用户。网站用户是否可以访问该java文件本身?换句话说,用户是否可以找到该.class文件并下载它?如果是这样,我怎样才能防止这种情况发生?

不,如果他们无法下载类文件,运行应用程序的servlet容器将把所有类文件都放在WEB-INF/classes下。WEB-INF文件夹下的任何内容都不公开可见。

不,它们将无法下载类文件,运行应用程序的servlet容器将在WEB-INF/classes下包含所有类文件。WEB-INF文件夹下的任何内容都是不公开的。

简短的回答是否

回答越长,在客户端运行的任何.class文件他们都有权访问,但在服务器端运行的任何类他们都无权访问。

简短回答是否


再回答一下,在客户端运行的任何.class文件他们都有权访问,但在服务器端运行的任何类他们都无权访问。

因此不需要额外的安全级别,以防止下载WEB-INF下的类?正确。web容器不允许您将其作为资源访问。我刚刚注意到,在Eclipse中,类被添加到“\build\classes”而不是“\WebContent\web-INF\classes”,这是Tomcat 7.0现在处理类的方式吗?或者我应该明确地将它们移动到您提到的目录中吗?再次感谢@Jonathan-build\classes仅适用于eclipse,当您创建war文件时,这些类将始终位于WEB-INF/classes文件夹中。因此不需要额外的安全级别,以防止下载WEB-INF下的类?正确。web容器不允许您将其作为资源访问。我刚刚注意到,在Eclipse中,类被添加到“\build\classes”而不是“\WebContent\web-INF\classes”,这是Tomcat 7.0现在处理类的方式吗?或者我应该明确地将它们移动到您提到的目录中吗?再次感谢@Jonathan-build\classes仅适用于eclipse,当您创建war文件时,这些类将始终位于WEB-INF/classes文件夹中。谢谢!我自己得出了这个结论,但我不确定,这主要是为什么我决定使用JSP/Servlet,而不是将我的类转换为小程序。@Jonathan-你并没有真正获得Servlet API-不将类转换为小程序不是使用Servlet而不是小程序的原因。它们都是完全不同的技术,不能相互替代。谢谢!我自己得出了这个结论,但我不确定,这主要是为什么我决定使用JSP/Servlet,而不是将我的类转换为小程序。@Jonathan-你并没有真正获得Servlet API-不将类转换为小程序不是使用Servlet而不是小程序的原因。它们都是完全不同的技术,不能相互替代。