-
在servlet中,如果请求是.jsp文件的URL,我希望能够让容器在将字符串写入响应之前解释jsp scriptlet parts/taglib的内容。
没有直接的API可以像那样以编程方式处理JSP文件。理论上,您希望在公共Web内容中使用JSP,并且
向前地
向JSP发出的请求。你可以用
RequestDispatcher#forward()
.
if (request.getServletPath().endsWith(".jsp")) {
request.getRequestDispatcher(request.getServletPath()).forward(request, response);
} else {
// Write "plain" to response as you did.
}
您可能只想对路径的正确性进行一些检查,但这至少应该给您一个通用的想法。但是有一个小问题:servlet将被递归调用,因为它被映射到
/*
. 你宁愿换这个
MyEverythingServlet
由A
Filter
它只是将作业的剩余部分委托给AppServer的内置默认servlet。有一个
Servlet
倾听
/*
已经是一种设计气味表明它应该是
滤波器
从一开始;)
-
将我的web.xml更改为让它在myVerythingServlet之外处理.jsp文件。
你不能有“否定”
url-pattern
在里面
web.xml
. 你能做的最好的事情就是让servlet监听一个更具体的
访问路径
喜欢
*.txt
或
/static/*
把JSP文件放在外面。