繁体   English   中英

使用 Servlet Controller 转发页面

Forward page using Servlet Controller

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

servlet 就像:

String rootJspPath = "/WEB-INF/jsp"
String page = request.getParameter("pageName")!=null?request.getParameter("pageName").toString();

String forwardPage = rootJspPath + "/" + page ;
request.getRequestDispatcher(forwardPage).forward(request, response); 

在 Web.xml

<servlet>
    <servlet-name>ForwardServlet</servlet-name>
    <display-name>ForwardServlet</display-name>
    <servlet-class>common.ForwardServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>ForwardServlet</servlet-name>
    <url-pattern>/page</url-pattern>
</servlet-mapping>

现在使用 servlet controller 呼叫前转

<a href="/page/common/Welcome.jsp">click here</a>

请建议方便的方式来调用这个..

2 个回复

我建议:

<servlet>
    <servlet-name>ForwardServlet</servlet-name>
    <display-name>ForwardServlet</display-name>
    <servlet-class>common.ForwardServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>ForwardServlet</servlet-name>
    <url-pattern>/page/*</url-pattern>
</servlet-mapping>

用于您的映射,以及

public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
{
    RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(req.getPathInfo());

    dispatcher.forward(req,resp);
}

然后创建文件夹common并将Welcome.jsp放入其中。

问题不是最清楚的:这是否符合您的要求?

编辑:此外,您可能应该对 req.getPathInfo() 进行一些路径验证,以避免人们尝试使用..字符进行目录跳转,尽管据我所知,较新的 Java 应用程序服务器会自动捕获这种错误。

基于您的 servlet 正在做什么:

<a href="/page/common/Welcome.jsp">click here</a>

应该

<a href="/page?pageName=common/Welcome.jsp">click here</a>

它将在WEB-INF/jsp/common文件夹中查找 Welcome.jsp。

1 如何使用servlet作为控制器?

我正在开发有关自动化的应用程序。 因为我计划将JSP用于网页设计,而Servlets作为控制器。 如何使用servlet作为控制器? 请帮助我解决这个问题。 如果还有其他解决方案,那么建议我,我将其更改。 ...

5 从控制器转发jsp

我在java类中有一个布尔函数..如果执行则函数返回true,否则它必须被定向到jsp页面我该怎么做..我没有使用任何对象的创建,也没有req.getParameter()..我尝试使用redirectView() ,它的功能和错误。 它的东西就像.. ...

6 Spring MVC控制器与Servlet

我有一个关于Controller与Servlet相比如何实际服务请求的查询。 实例化时的Servlet只有一个实例,并且为每个请求生成一个线程。 Spring MVC控制器如何处理请求。 问候 ...

9 openvswitch仍在使用假控制器转发

我正在玩sdn的东西,我的测试配置是:VM中的openwswitch和连接了2个其他VM(均在VirtualBox中运行Ubuntu 14.04): 最近,我偶然发现了一种奇怪的OVS行为。 因此,一旦ovs启动,它将以“哑桥”模式工作,也就是说,它配置了一个流: 客户端可以到 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM