社区
Java EE
帖子详情
如何让发布的WEB应用不包含jsp文件
Yanbin_Q
2005-09-20 11:51:26
如何在WEB应用版本发布前把所有的jsp文件转换为servlet,要经过怎么配置,让发布的版本中不包含jsp文件,我不想让客户能看到我写的jsp源文件
...全文
377
16
打赏
收藏
如何让发布的WEB应用不包含jsp文件
如何在WEB应用版本发布前把所有的jsp文件转换为servlet,要经过怎么配置,让发布的版本中不包含jsp文件,我不想让客户能看到我写的jsp源文件
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
YuLimin
2006-06-28
打赏
举报
回复
当然可以啊
参见:Tomcat中JSP预编译处理Jasper 2 JSP Engine
http://iamin.blogdriver.com/iamin/767607.html
onlyxu
2005-09-22
打赏
举报
回复
能举报楼上吗
humanity
2005-09-21
打赏
举报
回复
这个依赖实现,一个应用服务器可能 当 web.xml 中没有配置时,完全不到 lib 下去搜索 是否有一编译好的而只检查 work 目录 ,搂住可以尝试 Ant jspc 指令编译所有的 JSPs 然后打包 jar 放到 /WEB-INF/lib 下面去。
humanity
2005-09-21
打赏
举报
回复
如果你的 IDE 时 IBM WSAD, 或是 JDeveloper 那可以自动 Translating 所有的 JSP 成 .Java ,然后再 .class ,不过要针对目标应用服务器,你只要看看 Tomcat 运行后 %CATALINA_HOME%/work/Catalina/localhost/下面 每个应用程序的 jsp 如果没有编译过就会编译并生成一个 .class ,这就是 jsp 对应的 servlet 文件编译后的 .class 文件,你用工具或者 Ant 的 jspc 指令编译所有的 jsp ,然后把这些东西 打包 jar 。
因为我看到了 WebSphere 有个选项: preCompile JSPs, 发布时自动编译所有的 jsp ,所以我想如果我把这些东西编译了后打包成 jar 放到 lib 下,应用服务器会不会优先考虑呢?因为这个依赖服务器的实现,所以不敢肯定能行,还有个 自动编译的 设置,比较打开和关闭会不会不同呢。
Yanbin_Q
2005-09-21
打赏
举报
回复
我看了AdvantNet的一个软件ManageEngine Applications Manager 6的web.xml中有一大堆如下的配置,不知道它的用意是什么,猜想一下
<servlet-mapping>
<servlet-name>jsp.Popup_ThresholdDetails_jsp</servlet-name>
<url-pattern>/jsp/Popup_ThresholdDetails.jsp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>jsp.PortDetails_jsp</servlet-name>
<url-pattern>/jsp/PortDetails.jsp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>jsp.PostFeedback_jsp</servlet-name>
<url-pattern>/jsp/PostFeedback.jsp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>jsp.ProxyConfiguration_jsp</servlet-name>
<url-pattern>/jsp/ProxyConfiguration.jsp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>jsp.RCA_jsp</servlet-name>
<url-pattern>/jsp/RCA.jsp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>jsp.RCABottom_jsp</servlet-name>
<url-pattern>/jsp/RCABottom.jsp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>jsp.RCATop_jsp</servlet-name>
<url-pattern>/jsp/RCATop.jsp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>jsp.RecentAlarms_jsp</servlet-name>
<url-pattern>/jsp/RecentAlarms.jsp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>jsp.RegistrationStatus_jsp</servlet-name>
<url-pattern>/jsp/RegistrationStatus.jsp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>jsp.ResourceDisplay_jsp</servlet-name>
<url-pattern>/jsp/ResourceDisplay.jsp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>jsp.SMSActionForm_jsp</servlet-name>
<url-pattern>/jsp/SMSActionForm.jsp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>jsp.ScriptMonitor_jsp</servlet-name>
<url-pattern>/jsp/ScriptMonitor.jsp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>jsp.Scriptconf_jsp</servlet-name>
<url-pattern>/jsp/Scriptconf.jsp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>jsp.SendTrapActionForm_jsp</servlet-name>
<url-pattern>/jsp/SendTrapActionForm.jsp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>jsp.ServerLayout_jsp</servlet-name>
<url-pattern>/jsp/ServerLayout.jsp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>jsp.ShowEJBDetails_jsp</servlet-name>
<url-pattern>/jsp/ShowEJBDetails.jsp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>jsp.ShowHolisticApplication_jsp</servlet-name>
<url-pattern>/jsp/ShowHolisticApplication.jsp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>jsp.ShowJDBCDetails_jsp</servlet-name>
<url-pattern>/jsp/ShowJDBCDetails.jsp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>jsp.ShowKeyValues_jsp</servlet-name>
<url-pattern>/jsp/ShowKeyValues.jsp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>jsp.ShowServletData_jsp</servlet-name>
<url-pattern>/jsp/ShowServletData.jsp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>jsp.ShowThreadData_jsp</servlet-name>
<url-pattern>/jsp/ShowThreadData.jsp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>jsp.ShowUrlPerformance_jsp</servlet-name>
<url-pattern>/jsp/ShowUrlPerformance.jsp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>jsp.ShowWARDetails_jsp</servlet-name>
<url-pattern>/jsp/ShowWARDetails.jsp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>jsp.ShowWASEJBDetails_jsp</servlet-name>
<url-pattern>/jsp/ShowWASEJBDetails.jsp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>jsp.ShowWASJDBCDetails_jsp</servlet-name>
<url-pattern>/jsp/ShowWASJDBCDetails.jsp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>jsp.ShowWASThreadDetails_jsp</servlet-name>
<url-pattern>/jsp/ShowWASThreadDetails.jsp</url-pattern>
</servlet-mapping>
cokeyang
2005-09-20
打赏
举报
回复
直接全部用SERVLET来写!不要用现成的框架!
onlyxu
2005-09-20
打赏
举报
回复
应该可以,把服务器编译的servlet复制过来,重写web.xml
不过超链接多了恐怕不好对应吧
findfeels
2005-09-20
打赏
举报
回复
改成servlet/aplet
Yanbin_Q
2005-09-20
打赏
举报
回复
把jsp全写成servlet当然麻烦
to wjvonline(╰风行水︶ㄣ)
但是也不能如这样说
可如果人家懂得话,不管你怎样做都没啥用啊,就是类文件都给你反一遍~
如果能更进一步总是会好的,不能绝对的说就没啥用
做成本地二进制码,还能够反汇编
人家懂得话,你混淆字码人家也能看得懂,你对字节码加密人家也能看得懂
难道混淆,加密一切得变得毫无意义呢
feixiang2005
2005-09-20
打赏
举报
回复
不行, 除非你开始就全用Servlet写!获得你jsp里面没有jsp相关的应用只是html代码而已。
因为你编译后,最终生成的servlet是根据你jsp文件生成的,里面的代码不是动态的了;
wjvonline
2005-09-20
打赏
举报
回复
你是不想让请你做这个项目的客户看到你的源码吧?可如果人家懂得话,不管你怎样做都没啥用啊,就是类文件都给你反一遍~ 如果他不懂的话,你的JSP只起显示作用,控制都交给SERVLETS来做了,我觉得无所谓嘛~
你要不嫌麻烦,把全部JSP都改写成SERVLET,呵呵~ 累得死哦
ses127127
2005-09-20
打赏
举报
回复
好像不行
Yanbin_Q
2005-09-20
打赏
举报
回复
我能不能在发布前把jsp全编译成相应的servlet,发布时就不要那些jsp源文件,是否可以作一些设置,然后直接发布那些编译好的servlet
silverend
2005-09-20
打赏
举报
回复
JSP最终都是要被“翻译”成SERVLET的,其实是jsp是特殊的Servlet
不过发布后,客户如果只是基于访问的话,即使针对页面查看源文件,也只能看到输出的HTML及脚本代码的,动态执行的代码是看不到
galewithwing
2005-09-20
打赏
举报
回复
哈哈!
用asp就不包含jsp文件咯!
开玩笑哦~~
如果你采用jsp技术,没办法没有jsp文件
web
安全
文件
包含
渗透攻击
文件
包含
渗透攻击 严格来说,
文件
包含
漏洞是“代码注入”的一种。其原理就是注入一段用户能控制的脚本或代码,并让服务端执行。“代码注入”的典型代表就是
文件
包含
。
文件
包含
漏洞可能出现在
JSP
、PHP、ASP等语言中,原理都是一样的。 使用
文件
包含
漏洞进行攻击需要满足两个条件 1:
Web
应用
采用include()等
文件
包含
函数通过动态变量的方式引入需要
包含
的
文件
; 2:用户能够控制该动态变量...
JSP
页面
包含
文件
的两种方法及其区别:include指令标识 & 动态标识
在
JSP
页面中
包含
文件
的方法有两种:一种是
应用
<%@ include %>指令实现;另一种是
应用
\<
jsp
:include>动作元素实现。 (一)<%@ include %>指令 通过该指令可以在一个
JSP
页面中
包含
另一个
JSP
页面。但该指令是静态
包含
,也就是说被
包含
文件
中所有的内容会被原样
包含
到该
JSP
页面中,即使被
包含
文件
中有
JSP
代码,在
包含
时也不会被编译...
JSP
文件
是否有必要放在
WEB
-INF下
观点一:(较为赞同) 安全性不是真正的原因,因为
jsp
是要解析后才显示到浏览器的,即使用户知道你
jsp
的路径,也不可能通过浏览器看到
jsp
源码的,而如果是通过其它手段入侵服务器的话,放在
WEB
-INF又和放在别的地方有什么区别呢??? 真正的原因是,对于早期直接嵌入java代码的
jsp
,是直接给出
jsp
路径给用户访问的,这种情况恰恰不能放在
WEB
-INF,而到了现在的mvc模式,
jsp
已经不是
为什么将.
jsp
文件
放在
WEB
-INF 目录中?
问题: 以 Maven 为例,当启动一个新的
web
项目时,结构与此相同/相似: Meu Projeto |- src |- main |- java |- resources |-
web
app |-
WEB
-INF 其中,在“
web
app”目录中,放置了
web
应用
程序使用的
文件
:html、css、Javascript、
JSP
s等。 我的问题是关于
WEB
-INF
使用 NetBeans IDE 进行
JSP
Web
应用
程序开发
在本文中,我将向您展示使用 NetBeans IDE创建和运行
JSP
Web
应用
程序的分步过程。请阅读我们之前讨论过使用 MyEclipse IDE 进行
JSP
Web
应用
程序开发的文章。NetBeans IDE 使您可以使用 HTML、JavaScript 和 CSS 快速轻松地开发 Java 桌面、移动和
Web
应用
程序,以及 HTML5
应用
程序。IDE 还为 PHP 和 C/C++ 开发人员提供了一组很棒的工具。 从https://netbeans.org/downloads/6.1/in
Java EE
67,513
社区成员
225,879
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章