如何在没有查询字符串的情况下获取URL,例如jsp中的stackoverflow

时间:2018-08-08 13:26:32

标签: jsp servlets url-rewriting url-mapping

我有一个jsp页面,其网址为:

  

http://localhost:8084/WebApplication1/newjsp.jsp

其中有一个锚标记:

  

a href =“ MobileArticles?name = abcde”

web.xml规范:

<servlet-mapping>
    <servlet-name>MobileArticlesLinkerServlet</servlet-name>
    <url-pattern>/MobileArticles</url-pattern>
</servlet-mapping>

这是servlet中的doGet的代码:
    String respuesta = "Article_template.jsp"; RequestDispatcher rd = request.getRequestDispatcher(respuesta); rd.forward(request, response);

它正被重定向到jsp页面“ Article_template.jsp”。

该过程很好。但是我需要此页面的其他URL模式:

当前网址格式:“ http://localhost:8084/WebApplication1/MobileArticles?name=abcde

我想要这样: “ http://localhost:8084/WebApplication1/MobileArticles/abcde

请帮助我如何实现这一目标?

1 个答案:

答案 0 :(得分:0)

我找到了一个解决方案。

这可能不是正确的方法,但对我有用。

诀窍是:

  1. 根本不涉及Servlet

  2. 在web.xml中为您的jsp页面设置url模式

    <servlet> <servlet-name>ArticleTemplate</servlet-name> <jsp-file>/Article_template.jsp</jsp-file> </servlet> <servlet-mapping> <servlet-name>ArticleTemplate</servlet-name> <url-pattern>/ArticleTemplate/*</url-pattern> </servlet-mapping>

  3. 我们必须直接从定位标记调用JSP页面

    <a href="ArticleTemplate/abcde">Article Link</a>

  4. 最后,在JSP页面上,我们必须使用scriptlet访问Java类并从数据库中获取数据。

    <% ----- Your code ----- %>