Tag: url pattern

Servlet @WebServlet urlPatterns

这是一个快速的问题,但我找不到快速的答案。 现在我有一个servlet BaseServlet,当用户请求下面的任何url时: host host/ host/BaseServlet 它应始终引用相同的servlet并重定向到主页。 我订的时候 @WebServlet({“/BaseServlet”, “”}) 只要 host/ host/BaseServlet 作品 如果我订 @WebServlet({“/BaseServlet”, “”, “/”}) 将不断循环请求BaseServlet … 为什么? 编辑:BaseServlet转发到WEB-INF文件夹中的index.html hid,就是这样。 getServletContext().getRequestDispatcher(“/WEB-INF/index.html”).forward(request,response); servlet规范说“只包含/字符的字符串表示应用程序的”默认“servlet。” 所以我希望BaseServlet成为我的默认设置。 为什么它不起作用?

在servlet中获取请求url的一部分

我有一个使用/ev/* url-pattern映射的EmailVerification Servlet。 http://example.com/ev/ce52320570 如何在我的Servlet中获取此ce52320570部分URL? protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String vid = “”; // Here I need to get the id from the URL }

为什么servlet映射中的url-pattern以正斜杠(/)开头

我正在阅读Head First JSP和Servlets一书。 我正在浏览servlet的映射。 我怀疑的是 test com.avinash.TestServlet test /ServletBeer.do 为什么url-pattern以正斜杠( / )开头? 正斜杠( / )代表什么? 它代表我们的webapp名称吗? 如果url-pattern不以正斜杠( / )开头会发生什么? 它是以正斜杠( / )开头的规范吗? 在书中明确提到: 不要忘记url-pattern中的正斜杠(/)。 你可以解释吗?

Basic Spring MVC配置:使用InternalResourceViewResolver的PageNotFound

我正在尝试运行第一个Spring 3 MVC设置。 我的应用程序在tomcat上运行,在“葡萄藤”的服务器环境中运行 出于测试目的,我试图从http://localhost:8080/grapevine/test获取请求以呈现WEB-INF/jsp/noSuchInvitation.jsp 当我尝试这个时,我得到一个404 ,并且日志表明我的jsp不存在: WARN org.springframework.web.servlet.PageNotFound – No mapping found for HTTP request with URI [/grapevine/WEB-INF/jsp/noSuchInvitation.jsp] in DispatcherServlet with name ‘grapevine’ 我必须在某个地方错误地配置它,但我看不出我做错了什么。 这是所有相关的片段。 web.xml中: grapevine org.springframework.web.servlet.DispatcherServlet 1 grapevine /* 从我的背景来看: 控制器: @Controller public class ParticipantInvitationController { @RequestMapping(“/test”) public ModelAndView test() { return new ModelAndView(“noSuchInvitation”); } 日志: DEBUG org.springframework.web.servlet.DispatcherServlet – Rendering view [org.springframework.web.servlet.view.JstlView: […]

将特定servlet映射为Tomcat中的缺省servlet

我正在尝试实现一个获取原始请求的servlet,并决定处理它们,还是将它们转发到另一个后端服务器。 它类似于负载均衡器,其中收到的请求被转发到(在我的情况下为2)目的地之一。 其中一个目标是远程(在另一台主机上)。 此外,请求可以到根( http://mycompany.com/ )。 因为我想获得原始请求,所以我实现了自己的servlet(子类化HttpServlet ),这非常HttpServlet 。 我的servlet看起来像: public class MyProxyServlet extends HttpServlet { @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { processOrForward(req, resp); } // also doGet(), doHead(), … } 由于我想要处理的服务可以向root发送请求,我想将我的servlet映射为默认的servlet,从而接收任何没有显式servlet映射的请求。 假设我的servlet的名称是“myservlet”,并且正在另一个servlet“foo”的一侧运行,我希望所有以http://mycompany.com/foo/ …forms发出的请求都被传递给foo,以及一切else(例如/,/ bar / …,/ myservlet / …)到“myservlet”。 看一下之前的post(例如, 这里和这里的根映射,或者这里的 url重写),我以为我想出来了,但它不起作用。 这是我的web.xml : ProxyServlet com.mycompany.MyProxyServlet 1 ProxyServlet /* […]