关于filter的问题,标题要长长长长长长长长长长长长长长长长

Mr_Vanto 2014-08-29 03:25:16
filter拦截到请求,如何修改url并添加参数。

其实就是通过后台调用登录入口,传用户名,密码

跳过用户输入账号密码这个过程。
...全文
201 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
huasuoworld 2014-08-30
  • 打赏
  • 举报
回复
你可以用HttpURLConnection的流操作模拟一个post提交。
Mr_Vanto 2014-08-30
  • 打赏
  • 举报
回复
引用 11 楼 longdwind 的回复:
将doFilter的ServletRequest转换为HttpServletRequest HttpServletRequest request =(ServletRequest)req; 获取到requset,直接request.setAtrribute()..........
为什么这样不能访问到action? req.getRequestDispatcher("log_logon.action").forward(req,res);
Hack-Magic 2014-08-30
  • 打赏
  • 举报
回复
将doFilter的ServletRequest转换为HttpServletRequest HttpServletRequest request =(ServletRequest)req; 获取到requset,直接request.setAtrribute()..........
Mr_Vanto 2014-08-30
  • 打赏
  • 举报
回复
引用 7 楼 HinanaiTenshi 的回复:
[quote=引用 6 楼 u010620575 的回复:] [quote=引用 5 楼 HinanaiTenshi 的回复:] [quote=引用 4 楼 u010620575 的回复:] [quote=引用 3 楼 magi1201 的回复:] 用户名和密码存放在session中 通过filter拦截到请求后,将session中的用户名和密码添加上 按照url拼接参数的方式 再继续下去就可以了
主要就是filter拦截到了请求,该如何修改url,并且用post形式传参。[/quote] 修改url? 已经请求道服务器端了,url不会再发生变化,除非是redirect做302,但这么做的后果是浏览器里留下了跳转痕迹,传用户名密码不安全。 如果不想让浏览器重发请求,就直接用response做forward跳转,条件是只能跳本应用的请求。 注意response操作之后直接return,filter的链已经没必要再走下去了。[/quote] 您知道怎么往里面传参数吗?post[/quote] 参数在request里,用request.getParameterMap()能拿到整个参数集合。[/quote] HttpServletRequest req = (HttpServletRequest) request; HashMap m = new HashMap(request.getParameterMap()); ParameterRequestWrapper wrapRequest = new ParameterRequestWrapper(req,m); wrapRequest.getRequestDispatcher("log_logon.action").forward(wrapRequest,response); return; <action name="log_*" class="logAction" method="{1}"> <result name="success" type="redirectAction">index</result> <result name="error">/jsp/log.jsp</result> </action> 报404错误
  • 打赏
  • 举报
回复
你这修改请求的url的话 不就变成了重新请求了么?
sinat_19250161 2014-08-29
  • 打赏
  • 举报
回复
上网搜 doFilter拦截器 一大把
HinanaiTenshi 2014-08-29
  • 打赏
  • 举报
回复
引用 6 楼 u010620575 的回复:
[quote=引用 5 楼 HinanaiTenshi 的回复:] [quote=引用 4 楼 u010620575 的回复:] [quote=引用 3 楼 magi1201 的回复:] 用户名和密码存放在session中 通过filter拦截到请求后,将session中的用户名和密码添加上 按照url拼接参数的方式 再继续下去就可以了
主要就是filter拦截到了请求,该如何修改url,并且用post形式传参。[/quote] 修改url? 已经请求道服务器端了,url不会再发生变化,除非是redirect做302,但这么做的后果是浏览器里留下了跳转痕迹,传用户名密码不安全。 如果不想让浏览器重发请求,就直接用response做forward跳转,条件是只能跳本应用的请求。 注意response操作之后直接return,filter的链已经没必要再走下去了。[/quote] 您知道怎么往里面传参数吗?post[/quote] 参数在request里,用request.getParameterMap()能拿到整个参数集合。
Mr_Vanto 2014-08-29
  • 打赏
  • 举报
回复
引用 5 楼 HinanaiTenshi 的回复:
[quote=引用 4 楼 u010620575 的回复:] [quote=引用 3 楼 magi1201 的回复:] 用户名和密码存放在session中 通过filter拦截到请求后,将session中的用户名和密码添加上 按照url拼接参数的方式 再继续下去就可以了
主要就是filter拦截到了请求,该如何修改url,并且用post形式传参。[/quote] 修改url? 已经请求道服务器端了,url不会再发生变化,除非是redirect做302,但这么做的后果是浏览器里留下了跳转痕迹,传用户名密码不安全。 如果不想让浏览器重发请求,就直接用response做forward跳转,条件是只能跳本应用的请求。 注意response操作之后直接return,filter的链已经没必要再走下去了。[/quote] 您知道怎么往里面传参数吗?post
HinanaiTenshi 2014-08-29
  • 打赏
  • 举报
回复
引用 4 楼 u010620575 的回复:
[quote=引用 3 楼 magi1201 的回复:] 用户名和密码存放在session中 通过filter拦截到请求后,将session中的用户名和密码添加上 按照url拼接参数的方式 再继续下去就可以了
主要就是filter拦截到了请求,该如何修改url,并且用post形式传参。[/quote] 修改url? 已经请求道服务器端了,url不会再发生变化,除非是redirect做302,但这么做的后果是浏览器里留下了跳转痕迹,传用户名密码不安全。 如果不想让浏览器重发请求,就直接用response做forward跳转,条件是只能跳本应用的请求。 注意response操作之后直接return,filter的链已经没必要再走下去了。
Mr_Vanto 2014-08-29
  • 打赏
  • 举报
回复
引用 3 楼 magi1201 的回复:
用户名和密码存放在session中 通过filter拦截到请求后,将session中的用户名和密码添加上 按照url拼接参数的方式 再继续下去就可以了
主要就是filter拦截到了请求,该如何修改url,并且用post形式传参。
姜小白- 2014-08-29
  • 打赏
  • 举报
回复
用户名和密码存放在session中 通过filter拦截到请求后,将session中的用户名和密码添加上 按照url拼接参数的方式 再继续下去就可以了
Mr_Vanto 2014-08-29
  • 打赏
  • 举报
回复
求关注啊!!!!
Mr_Vanto 2014-08-29
  • 打赏
  • 举报
回复
自顶!!!!!

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧