我有一个遗留的Struts 2应用程序,它被配置为Eclipse中的动态Web应用程序,它预编译JSP并将它们放在WEB-INF/classes/org
下。
它们作为servlet映射到web.xml
。
我尝试删除web.xml
中servlet的映射,所以我通常只使用JSP,但是当我尝试访问以下URL时:
http://localhost:8080/jsp/index.jsp
http://localhost:8080/index.jsp
我收到此错误:
原始服务器未找到目标资源的当前表示,或者不愿意透露该目标资源是否存在。
<servlet>
<servlet-name>org.apache.jsp.index_jsp</servlet-name>
<servlet-class>org.apache.jsp.index_jsp</servlet-class>
</servlet>
struts.xml
映射下面看起来正确的JSP:
<action name="index" class="com.acr.cs.action.ClassforGreat" method="index">
<result>/jsp/index.jsp</result>
</action>
我的项目结构
WebContent
-images
-jsp
-WEB-INF
如何让我只使用jsps并删除预编译的?
答案 0 :(得分:0)
只需在WEB-INF
下使用jsps并创建结果配置。
您不必直接从浏览器访问jsps,因为它们不是资源,并且在大多数情况下无法在没有关联过滤器的情况下运行。
它们被用作模板,用于生成在执行后从动作返回的HTML作为资源。