java web 项目 servlet的路径问题: 10
web配置的路径是:*.do,但是在写action的时候,已经用subString截取请求uri了,输入地址login.do能正确运行,并能正确登陆,但是问题是,我已经截...
web配置的路径是:*.do,但是在写action的时候,已经用subString截取请求uri了,输入地址login.do能正确运行,并能正确登陆,但是问题是,我已经截取了请求路径,应该是输入login,跳转显示错误。
展开
4个回答
展开全部
设置为action匹配,不会去找servlet,除非设置servlet形式,例如:
<!-- 验证码 -->
<servlet>
<servlet-name>CodeImage</servlet-name>
<servlet-class>com.crm.util.CodeImageServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CodeImage</servlet-name>
<url-pattern>/servlet/CodeImage</url-pattern>
</servlet-mapping>
<!-- 验证码 -->
<servlet>
<servlet-name>CodeImage</servlet-name>
<servlet-class>com.crm.util.CodeImageServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CodeImage</servlet-name>
<url-pattern>/servlet/CodeImage</url-pattern>
</servlet-mapping>
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为servlet里拦截的只是*.do的请求,所以你用login访问肯定是不会被响应的,建议配成 /* 这样就会拦截所有请求,包括不带.do的请求,欢迎楼主采纳,可继续追问~
追问
在action中我已经截取了uri
String uri=request.getRequestURI();
String action= uri.substring(uri.lastIndexOf("/"),uri.lastIndexOf("."));
追答
因为你的拦截器并没有拦截后缀为.do之外的其他类型,所以不加上.do的话根本不会进你写的Servlet,所以截取他的URI也没有用,因为根本没有进到这个Servlet
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的web.xml贴出来看看。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
web里配了路径过滤器,意思是所有的请求都会被拦截的,拦截的前提是*.do的形式。你只输入login有什么用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询