问题标签 [servlet-dispatching]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring - 找不到带有 URI [/WEB-INF/pages/apiForm.jsp] 的 HTTP 请求的映射
我的处理程序转发到 internalresourceview 'apiForm' 但随后我收到错误 404 RequestURI=/WEB-INF/pages/apiForm.jsp。我确定 apiForm.jsp 位于 /WEB-INF/pages/
13:45:02,034调试 [org.springframework.web.servlet.view.JstlView] - 转发到 InternalResourceView 'apiForm' 中的资源 [/WEB-INF/pages/apiForm.jsp]
13:45:02,035调试 [org.springframework .web.servlet.DispatcherServlet] - 名为“testapp2”的 DispatcherServlet 确定 [/WEB-INF/pages/apiForm.jsp]
13:45:02,038调试 [org.springframework.web.servlet.DispatcherServlet] 的 Last-Modified 值 -在 getLastModified
13:45:02,038 DEBUG [org.springframework.web.servlet.DispatcherServlet]中找不到处理程序- DispatcherServlet 名称为 'testapp2' 处理请求 [/WEB-INF/pages/apiForm.jsp]
13:45:02,038警告 [org.springframework.web.servlet.PageNotFound] - 在 DispatcherServlet 中找不到带有 URI [/WEB-INF/pages/apiForm.jsp] 的 HTTP 请求的映射,名称为 'testapp2'
13:45:02,045调试 [org.springframework .web.servlet.DispatcherServlet] - 成功完成请求
13:45:02,048 DEBUG [org.springframework.web.servlet.DispatcherServlet] - 成功完成请求
这就是我的 dispatcher.xml 的样子..
jax-rs - 在 JAX-RS 中如何控制调度?
我正在用 RESTeasy 编写一个 RESTful Web 服务。这是 JAX-RS 的实现。您可以使用单个 @Path 注释来注释类或方法。正则表达式用于获取路径参数。例如
匹配所有以 "/foo" 开头、以 "/bar" 结尾以及介于两者之间的所有模式。介于两者之间的任何内容都分配给名为 varname 的参数。
一些框架(如 Django)有一个正则表达式和方法的列表,这些正则表达式和方法将按顺序尝试。例如 /john/q/smith、/john/{.*}/smith、/john/{.*}/{.*}。"/john/henry/smith" 匹配第二个和第三个,但第二个将被调度,因为它是找到的第一个匹配项。
这在 JAX-RS 中是否可行,或者类和方法没有固有的顺序?对于 /john/{.*}/{.*},您是否必须编写一个表示 /john/anything/anythingbutsmith 的正则表达式?每次更改其他文件时,您都必须更改它。
java - 如何将不同的Servlet链接在一起?
首先,我没有使用 Spring MVC。:) :) 只是想先把它拿出来。现在我拥有的是调用不同 Servlet 的不同 JSP 页面。所有的部分单独工作都很好,但我需要把它们联系在一起。如果所有的jsp页面都发出GET
请求,那会很容易,因为我只需通过type
网址传递a,在我的servlet方面,我只需枚举所有参数,确定是哪个参数,type
然后委托给正确的servlet . 但并不是所有的jsp页面都发出GET
请求,有些是POST
通过表单发出请求的。来看例子
但在B.jsp
我会有这样的东西
我很难确定GenericServlet.java
这需要去servletB
java - Spring 中的 Dispatcher Servlet 是什么?
在这张图片中(我从这里得到的),HTTP请求向Dispatcher Servlet 发送了一些东西。
我的问题是Dispatcher Servlet做什么?
是否类似于从网页中获取信息并将其扔给控制器?
jsp - 当在 JSF 中的映射中使用 FORWARD 时,Servlet 过滤器进入无限循环
我在 web.xml 中定义了一个过滤器,如下所示:-
在过滤器中我有以下代码: -
问题是,如果我使用 Topic.jsp 调用应用程序,它会像这样循环:-
我发现问题是映射中的 FORWARD 。如果删除此条目,它可以工作
请帮我解决这个无限循环交替.jsp 和 .jsf的难题:)
annotations - Servlet:在使用注释而不是 web.xml 时按名称将请求转发给 Servlet?
我有一个入口 servlet(称为 DispatcherServlet),它根据配置参数将 /* 处的所有传入 GET 和 POST 请求重定向到其他 servlet。为了将请求分派给其他 servlet,我使用它们的名称而不是路径,因为我的 DispatcherServlet 在侦听 /*.
“旧”方法是在 web.xml 描述符中为 servlet 命名:
之后,可以通过名称来寻址 servlet,例如,当使用RequestDispatcher
. 我的 DispatcherServlet 中的代码如下所示:
RequestDispatcher dispatcher = getServletContext().getNamedDispatcher("MyServlet"); dispatcher.forward(请求,响应);
这完美地工作。但是,我想使用没有 web.xml 的“新”Servlet 3 注释,因此我这样做:
但是现在,getServletContext().getNamedDispatcher("MyServlet")
在我的 DispatcherServlet 中返回null而不是适当的调度程序 for MyServlet
,尽管我希望它@WebServlet(name="MyServlet")
的行为相同<servlet-name>MyServlet</servlet-name>
我已经在 Tomcat 7 上对此进行了测试。这是因为在调用 DispatcherServlet 时尚未加载 MyServlet,因此不知道 MyServlet 的名称吗?@WebServlet(name="...")
如果是这样,注释有什么意义;)
请不要回答“你为什么不使用过滤器?”之类的问题。等等。这更多是关于注释与web.xml的背景
提前致谢!
(ps.如果你找到更合适的,请更改标题;))
spring - spring mvc 注释许多 servlet 调度程序
嗨,我刚开始学习 Spring mvc,我使用 spring mvc @annotation,我有 3 个 servlet 调度程序(appservlet、admin、student):
web.xml
在对方法进行测试后,我希望重定向到另一个 servlet 调度程序,无论是 .admin 还是 .student。请问我该怎么做?
@控制器
问题是ModelAndView
返回(.jsp),但我想要另一个 servlet-dispatcher 的重定向!
java - 两个不同的dispatcherServlet的两个不同的authenticationManagers
在我的 web.xml 中,我有两个不同的调度程序 servlet,其中一个具有来自根上下文的所有 bean,第二个调度程序 servlet 具有另一个 authenticationManager。如前所述:
在 Web MVC 框架中,每个 DispatcherServlet 都有自己的 WebApplicationContext,它继承了根 WebApplicationContext 中已经定义的所有 bean。根 WebApplicationContext 应该包含应该在其他上下文和 Servlet 实例之间共享的所有基础结构 bean。这些继承的 bean 可以在特定于 servlet 的范围内被覆盖,并且您可以在给定的 Servlet 实例本地定义新的特定于范围的 bean。
所以我的新 authenticationManager 必须覆盖根上下文中的相同 bean。这个 authenticationManager 有另一个 daoAuthenticationProvider,它有另一个 userDetailsService。但是,当我想从第二个 dispathcer servlet 的路径登录系统时,spring 使用 root 上下文中的 authenticationManager。
它是 web.xml:
它是 AdminConfig.class:
它是 WebSecurityConfigurerAdapter 实现,位于 ua.admin 包中,并具有新的 authenticationManager:
此类是根上下文中的 WebSecurityConfigurer 实现,它是另外两个类的基类:
有两个子类,它们位于根上下文中:
}
因此,adminDispatcher servlet 使用 ua.admin.AdminConfig,它依次扫描 ua.admin 包,并找到带有第二个 authenticationManager 实现的 WebSecurityConfigurerAdapter 实现。
/bulbular/ - 它是这个dispathcer servlet 的路径,也是WebSecurityConfigurerAdapter 实现中http 配置的路径。但是当我想从 /bulbular/login 页面登录时,spring 使用来自 SecurityConfig.class 的实现 - 来自根上下文的类。请帮忙!!!!
redirect - struts2 动作重定向到带有参数的 servlet
我想知道是否有办法将struts 2动作结果重定向到请求参数完整的servlet?
我想知道我是否可以类似https://struts.apache.org/docs/dispatcher-result.html:
spring - 一个新的 Spring ServletDispatcher/ HandlerMapping 基于域名的重定向请求
我正在使用Spring + Gradle + PostgreSQL,我想写一个新的Spring ServletDispatcher或HandlerMapping(我不知道哪个是最好的选择)。
要求是:根据子域名将HTTP请求重定向到不同的控制器。
例如:
HTTP 请求到:
aaa.domain.com 将被重定向到 =>websites/aaa/
bbb.domain.com =>websites/bbb/
我怎么写?
我的 Gradle 依赖项:
非常感谢!
第一次更新
我对 Spring 进行了更深入的研究。现在我认为新的 HandlerMapping 可能是更好的选择。所以我想重写DefaultAnnotationHandlerMapping。
它是spring-webmvc包的一个类,在DispatcherServlet.properties中定义如下:
我无法直接更改DispatcherServlet.properties。因此,如果我想用我的班级替换班级,我该怎么做?
我使用了很多 spring-boot-starter 而不是 XML 来定义我的项目。
我试图在application.properties中定义org.springframework.web.servlet.HandlerMapping但失败了。