struts2拦截器页面跳转问题

我用html页面作为主页跳转页面,


<br> location.href=&#39;page_common_index.action&#39;;<br>

自定义一个拦截器,验证session中有没有user,如果有,放行,没有跳转登录页面
Object object = ServletActionContext.getRequest().getSession().getAttribute("user");
if(object == null){
return "login";
}
return invocation.invoke();
问题是我登录成功一次,然后清除session,直接访问主页,发现拦截器不起作用,直接能跳转到主页面,这是怎么回事?如果没有登录过,跳转页面没有问题,登录一次,清除session,跳转失效,清除浏览器缓存再试就可以拦截到,这是怎么回事

5个回答

第一,清除session的代码呢,是否有效;
第二,浏览器的设置,是否有缓存

wo812389882
wo812389882 ServletActionContext.getRequest().getSession().removeAttribute("user");这是清除session的代码,debug调试确实清除了,浏览器缓存是怎么回事,清除了浏览器缓存就没这个问题了,但是我不能让用户每次都自己清除缓存啊
2 年多之前 回复

你打个debug,一步步看下,应该是你代码哪里有问题

wo812389882
wo812389882 page_common_index.action这个url第二次访问拦截器不拦截,第一次是拦截的,怎么回事
2 年多之前 回复
wo812389882
wo812389882 debug过,发现有时拦截器能进去,有时进不去,而且即使拦截器进去,还没有到执行到放行代码,页面就已经跳转了,百度发现csdn有人碰到类似问题,不知道是struts2的bug,还是什么原因
2 年多之前 回复

你怎么清除session的,怀疑是你没有清除成功,所以导致这样的结果。

wo812389882
wo812389882 session确实清除了,debug代码进拦截器,object已经为null了,问题是page_common_index.action第二次访问拦截器失效,第一次没问题的
2 年多之前 回复

1.可能是你退出时候的销毁session时候代码有问题,如果你销毁项目时候,tom仍然启动,所以建议手动停止服务2.设置本地浏览器不要缓存,3.你可以换一个浏览器试试.4,clean项目,重新发布,希望能帮助你图片说明

问题解决,是缓存问题,在访问的页面url加个参数,保证唯一,时间戳就可以。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
ssh的struts2拦截器拦截请求后页面为什么没有跳转
我在struts.xml里把拦截器添加到了新的拦截器栈,命名了一个package名,然后我在一个子的struts-action-index.xml里继承了这个package做登录验证,并且程序执行时已经进入了拦截器类,并且执行完了类里的代码,返回了Action.Login,为什么通过全局返回处理页面没有跳转到登录页面 ``` <package name="struts-default-json" extends="struts-default"> <!-- 返回json类型数据 --> <result-types> <result-type name="json" class="org.apache.struts2.json.JSONResult" /> </result-types> <!-- 自动把页面传来的json解析成action中的对象 --> <interceptors> <interceptor name="json" class="org.apache.struts2.json.JSONInterceptor" /> <interceptor name="checkLogin" class="com.gtjc.interceptor.CheckInterceptor"/> <interceptor-stack name="myDefaultStack"> <interceptor-ref name="checkLogin"/> <interceptor-ref name="json" /> <interceptor-ref name="defaultStack" /> </interceptor-stack> </interceptors> <default-interceptor-ref name="myDefaultStack" /> <!-- 定义全局返回处理 --> <global-results> <result name="login" >/gtjc/login/jump.jsp</result> </global-results> </package> ``` ``` public String intercept(ActionInvocation in) throws Exception { System.out.println("进入拦截器"); User user=(User)ServletActionContext.getRequest().getSession().getAttribute("user"); if(user==null ){ return Action.LOGIN; }else{ return in.invoke(); } } ```
struts2 拦截器问题
struts2使用拦截器(自定义拦截器)时出现以下问题:[color=red]当不使用拦截器时页面正常跳转[/color],当使用拦截器后页面总是跳转到<result name="error">/error.jsp</result>页面,不管输入的是正确还是错误!请各位解答是怎么回事,谢谢了! 附相关代码: struts.xml: [code="java"] <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <package name="struts2Demo" extends="struts-default"> <interceptors> <interceptor name="myinterceptor" class="interceptor.MyInterceptor"></interceptor> </interceptors> <action name="myaction" method="execute" class="action.MyTestAction"> <result name="success">/success.jsp</result> <result name="error">/error.jsp</result> <interceptor-ref name="myinterceptor"></interceptor-ref> </action> </package> </struts> [/code] MyInterceptor.java: [code="java"] package interceptor; import com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.interceptor.AbstractInterceptor; public class MyInterceptor extends AbstractInterceptor { @Override public String intercept(ActionInvocation invocation) throws Exception { long start = System.currentTimeMillis(); String res = invocation.invoke(); long end = System.currentTimeMillis(); System.out.println("执行"+ invocation.getClass().getName()+"耗时"+(end-start)+"ms"); return res; } } [/code]
struts登录拦截器问题
问题:登录之后跳转到一个jsp页面,该页面上通过<a href="xxx.jsp"/>跳转时被登录拦截器拦截。 我想问的是,明明已经登录之后再跳转的,为什么会被登录拦截器拦截呢?刚开始接触这一块,不是很懂,希望能尽快得到大神们的帮助,谢谢谢谢谢谢!!
如何实现struts2拦截器失败 自动跳转
例如在浏览器里输入一个我并没有配置的action 动作,正常情况控制台会显示如下信息,请问如何实现跳转到我的主页上去 08:17:56,156 ERROR [Dispatcher] Could not find action or result There is no Action mapped for namespace / and action name login. - [unknown location] at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:186) at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:41) at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:494) at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:419) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:99) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446) at java.lang.Thread.run(Thread.java:619) [b]问题补充:[/b] 楼下的好像把所有的请求都拦截掉了
Struts2拦截器配置问题,麻烦大家
/** * 判断用户是否登录的一个拦截器 * @author Administrator * */ public class LoginInterceptor extends MethodFilterInterceptor{ protected String doIntercept(ActionInvocation invocation) throws Exception { //获取session User user = (User)ServletActionContext.getRequest().getSession().getAttribute("existUser"); if(user==null){ //说明用户没有登录 return Action.LOGIN; } return invocation.invoke(); } } //配置文件 <package name="all" extends="struts-default"> <!-- 自定义拦截器 --> <interceptors> <interceptor name="my" class="cn.xtgj.manager.interceptor.LoginInterceptor"></interceptor> <interceptor-stack name="mylogin"> <interceptor-ref name="my"> <param name="excludeMethod">login</param> </interceptor-ref> <interceptor-ref name="defaultStack"></interceptor-ref> </interceptor-stack> </interceptors> <!-- 默认拦截器 --> <default-interceptor-ref name="mylogin"></default-interceptor-ref> <!-- 配置全局跳转页面 --> <global-results> <result name="login">/login/login.jsp</result> </global-results> </package> //为什么我进登录页面也会拦截
java拦截器跳转jsp页面的问题
未登录的情况下请求一个jsp页面,再由js请求一个action。 这时候拦截器拦截到用户未登录状态,返回login登录页,但是页面并没跳转到登录页。 ![图片说明](https://img-ask.csdn.net/upload/201910/24/1571893522_646934.png)![图片说明](https://img-ask.csdn.net/upload/201910/24/1571893528_791955.png)![图片说明](https://img-ask.csdn.net/upload/201910/24/1571893537_471657.png)
struts实现拦截登录问题
ajax提交数据到后台---》struts分配请求映射到具体的action--》action返回result json字符串并且设置session--》ajax的success解析json 成功就跳转到拦截action去获取session--》用户名密码正确就返回“login”跳转到main.html的路径 这里可以实现跳转。。。但是以上的流程在拦截器里面获取不到session,但是我自己写一个简单的跳转action到具体页面后,在去进入这个action方法是可以获取到这个session 的 请问各位大神,我这样实现这个拦截有什么问题吗,还是session 的设置必须是完成一个完整的会话,我想不经过拦截器直接跳转到action,但是这样不是和直接访问一个jsp资源是一样的吗,拦截器不就没啥用处了吗大神来解答解答。。。 login.java if(password.equals(user.getPwd())){ ActionContext.getContext().getSession().put("userName", userName); ActionContext.getContext().getSession().put("passWord", password); map.put("result", "success"); JSONObject json = JSONObject.fromObject(map); result=json.toString(); System.out.println("成功返回数据"); return "success"; } ajax的success var result = d.result; //返回success则自动跳转到主界面 if (result == "success") { location.href = "login"; } } srtuts的跳转 <package name="" namespace="/" extends="default"> <action name="login" class="com.zjm.interceptor.testLogin"> <interceptor-ref name="sessionCheckStack"/> </action> 拦截器 <global-results> <!-- 配置tocken的invalid.tocken的返回试图,即当页面重复提交,页面将自动转到error.jsp --> <result name="invalid.token">/error.jsp</result> <result name="backhome" type="redirectAction">IndexAction</result> <result name="login">/WEB-INF/main.html</result> <result name="noLogin">/login.html</result> </global-results> 拦截器内获取session代码 String userName=(String)session.get("userName"); String passWord=(String)session.get("passWord"); System.out.println(userName+" "+passWord); if(userName!=null&&passWord!=null){ User user=sysUserService.findOneUser(userName); String result=user!=null?(passWord.equals(user.getPwd())?Action.LOGIN:"noLogin"):"noLogin"; return result; } 这一套流程下来输出的session为null 我简单写了一个action跳转到一个空页面,在action里面设置了sessio,在成功跳转到一个页面以后再去调用这个拦截器里面的方法是可以输出这个session里面的内容
Struts2自定义异常处理拦截器出现问题
struts.xml: <interceptors> <interceptor name="exception" class="com.opensymphony.xwork.interceptor.ExceptionMappingInterceptor"></interceptor> <interceptor name="exceptionInceptor" class="com.lul.interceptor.ExceptionInterceptor"></interceptor> </interceptors> <global-results> <result name="error">error.jsp</result> </global-results> <global-exception-mappings> <exception-mapping result="error" exception="com.lul.exception.BusinessException"></exception-mapping> </global-exception-mappings> <action name="insert" class="com.lul.action.InsertAction"> <result name="success">success.jsp</result> <interceptor-ref name="exceptionInceptor"></interceptor-ref> </action> 自定义异常类: [code="java"]public class BusinessException extends RuntimeException { private static final long serialVersionUID = 1L; public BusinessException(String errorMessage) { super(errorMessage); } }[/code] 自定义用于异常处理的拦截器: public String intercept(ActionInvocation invocation) throws Exception { String result = null; try { result = invocation.invoke(); } catch(DataAccessException dae) { throw new BusinessException("数据库操作失败"); } ... ...捕获常见的异常,并以友好异常信息抛出 } 在调用insert.action后,dao抛出异常,但不知为什么不能跳到error.jsp页面,而是 [color=red]HTTP Status 500 - -------------------------------------------------------------------------------- type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception javax.servlet.ServletException: com.lul.exception.BusinessException: Sorry, 数据库操作失败 Please try again! org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:515) org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:419)[/color] 有哪位高手知道错误原因,请指教! [b]问题补充:[/b] <global-results> <result name="exceptionPage" type="redirect">error.jsp</result> </global-results> <global-exception-mappings> <exception-mapping name="exceptionPage" exception="java.lang.Exception" result="exceptionPage"/> </global-exception-mappings> 这样是可以跳到error.jsp页面,但我想要的是在拦截器中对异常进行分类和包装,然后再以友好的方式提示到error.jsp [b]问题补充:[/b] to jones: 我是在exceptionInceptor拦截器里对异常进行分类,然后交给BusinessException去提示异常信息,不可能在Action里用N多的catch把异常分类吧,不知道有没有别的好的方法。 [b]问题补充:[/b] to jones: 我明白你的意思,并且这样可以跳转到指定的错误页面,但我想请教一下,怎么能在错误页面获取拦截器里的异常提示信息。多谢!
Ajax的请求在struts2中怎么实现跳转
我前台用的ext,所有请求都是Ajax的请求,然后我后台用的struts,配置了一个全局的权限拦截器。如果未登录就自动跳转到登陆界面。也配置了全局的跳转。 <global-results> <result name="login" type="redirect">/login.jsp</result> </global-results> 但是因为是Ajax的请求,所以界面并不跳转。但是都可以在后台输出跳转 2010-05-13 17:05:49,281 DEBUG (org.apache.struts2.dispatcher.ServletRedirectResult:57) - Redirecting to finalLocation /graduation/login.jsp 用firedebug也有跳转到login.jsp的一个get方法。 后来想在拦截器里面直接用后台的代码跳转。 HttpServletRequest req = (HttpServletRequest) ctx.get(StrutsStatics.HTTP_REQUEST); HttpServletResponse resp = (HttpServletResponse) ctx.get(StrutsStatics.HTTP_RESPONSE); resp.sendRedirect(req.getContextPath()+"/login.jsp"); 或者是 req.getRequestDispatcher("/login.jsp").forward(req, resp); 但是都会在后台报错:严重: Servlet.service() for servlet default threw exception java.lang.IllegalStateException at org.apache.catalina.connector.ResponseFacade.sendError(ResponseFacade.java:407) at org.apache.struts2.dispatcher.Dispatcher.sendError(Dispatcher.java:770) at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:505) at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77) at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:619) 请教高手啦、、、、、
Struts2跳转
我前台是ext做的,我想实现当用户没有登陆或session失效,那么用户请求数据的时候在ActionSupport里就让其返回到一个指定页面。但是我用HttpServletResponse.sendRedirect("/error.jsp") [b]问题补充:[/b] return inter.invoke(); inter是什么定义? [b]问题补充:[/b] 不好意思,看到了,我试一下。 [b]问题补充:[/b] 我已经写了,打了断点,为什么没有执行,是要在web.xml配置吗? [b]问题补充:[/b] 我看懂了,这样是不是每一个action要引入啊?如果这样,岂不是很麻烦? [b]问题补充:[/b] 确是进来了,不过我该了一点点东西, [code="java"] <interceptor-ref name="authentication"> <param name="excludeMethods">login</param> <param name="includeMethods">init</param> </interceptor-ref> [/code] 我现在的问题是,includeMethods如何配置,基本上除了一个login我不用拦截以外,其他全部拦截。我不可能把所有的东西都拦截吧。 还有一点是,我在Web下的文件如何拦截防止用户直接去在浏览器中获取, http://localhost:8084/OA2/manag/index.jsp.
web.xml中shiro过滤器和Struts2过滤器配置的是不是存在先后顺序问题
今天在练习一个项目时,用到了shiro框架,刚开始在web.xml中把shiro过滤器的声明放到了struts2过滤器的后面,然后在spring配置文件中注入shiro的URL拦截规则,运行时发现并没有按照预想的规则进行拦截。经过一段时间调试后,发现书上web.xml的配置是把shiro的过滤器声明放到了最前面,然后我也试着把shiro的声明放到了struts过滤器声明的前面,最后成功进行了拦截。想问一下web.xml中shiro过滤器和Struts2过滤器配置的是不是存在先后顺序问题?希望知道原理的大佬能解答一下。 spring配置文件中用到的shiro拦截规则如下: ``` <!-- 配置一个bean用于创建shiro框架用的过滤器 --> <bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean"> <!-- 注入安全管理器 --> <property name="securityManager" ref="securityManager"></property> <!-- 注入当前系统登录页面 --> <property name="loginUrl" value="/login.jsp"></property> <!-- 注入登录成功页面 --> <property name="successUrl" value="/index.jsp"></property> <!-- 注入权限不足页面 --> <property name="unauthorizedUrl" value="/unauthorizedUrl.jsp"></property> <!-- 注入URL拦截规则 --> <property name="filterChainDefinitions"> <value> /login.jsp* = anon /userAction_login.action = anon /* = authc </value> </property> </bean> ``` 在页面点击登录后,会跳到index.jsp,由于在index.jsp中我用了重定向,书上说会被最后一个拦截规则拦截,需要认证通过才能访问,所以要会跳转到登录页面。而开始我在web.xml文件中吧shiro的过滤器声明放到了最后面,发现并没有被拦截,直接访问到了主页。而把shiro的声明放到struts过滤器声明的前面时,却能被正确拦截。有点不太明白。。想请教一下。
关于extjs获取json数据,后台错误时怎么显示错误页面
struts2返回json数据错误时,怎么捕获异常。跳转到错误页面。我写了个拦截器。session过期时跳转到login.jsp。可是他却直接给我弹出一个login.jsp源代码。查看网上都说struts的拦截器无法捕捉ajax的异常。那我又该如何做呢?改struts核心文件?求大神赐教!
权限拦截器问题
我在使用拦截器时,如果拦截器不通过,会保存一条提示信息,问:这条提示信息是属于哪个action的?、 如:我要访问一个页面,对应的方法action是LookAction,如果没登陆,拦截器提示 action.addActionError("请先登录!"),并跳转到Login.jsp, 那这条提示信息是属于LookAction.ActionError 的还是属于别的Action,为什么又能在login.jsp上得到它。是否ActionError是session类型的,。
页面跳转回来后,背景图片全没了.这是怎么回事?
页面跳转回来后,背景图片全没了.这是怎么回事? 我做了个登陆页面,有用户名和密码的文本输入框,然后在Struts2 的Action里做了判断,如果用户名不存在,或是密码输错了,都会重新回到登陆页面,并告诉用户"密码错误"之类的提示. 现在的问题是.我登陆的时候页面显示很正常的.但一旦密码输错了,重新跳回这个登陆页面的时候,所有的图片都失效了. 我都调了n长时间了,问了N多人,都不知道是怎么回事? 一开始的时候,系统退出重新回到登陆页面时,显示也不正常.后来我把results类型改成了redirect,总算解决了系统退出的问题了. 但一开始登陆校验的时候,我无论如何也不能设成redirecte啊,那样提示信息不也会丢失吗? 不知道有没有高手可以帮我解决下这个问题,不胜感激... 我用的架构是Struts2+Spring2.5+hibernate3.2 拦截器和过滤器都试过了,跳转回来后,页面显示都出问题.
struts2登录设计思路的问题,求解!
a页面是登录页面,登录成功就转到b页面,并且把a页面里的信息保存到session供操作表时使用,但是如果没有登录的话b页面是不允许访问的,输入b的地址要跳转到登录页面a,还有如果在firefox里成功进入了b,把b的地址复制到opera里怎样调到登录页面?地址复制应该是无效的,有好的解决方法吗?不要很模糊的回答用“拦截器”,”过滤器“,我想知道思路
如何将跳转完整链接放入filter或者拦截器中
如何将跳转完整链接放入filter或者拦截器中: 使用ServletActionContext.getRequest().getRequestURL()得到是: http://202.38.202.187:8088/Manager/baseInfo_park_edit.do 如果要获取到完整的链接地址: http://202.38.202.187:8088/Manager/baseInfo_park_edit.do?parkID=${parkid} 如何做才可以实现呢? 或者有什么方法将parkID=${parkid}放入filter或者拦截器中?
struts2 数据类型转换
最近在做一个ssh2项目 action 中用domain model public baseService bs; public saleslipinputservice ss; public syukoInputDto syukodto 其中 syukoInputDto 为一domain model syukoInputDto : private String actionKbn; private TkrClientTbl client; private TkrCurTbl curr; private String errmsg; private String flg; private TkrSyukoTbl syukotbl; TkrSyukoTbl 为一实体bean 里面有string 类型int类型 double类型数据字段 考虑到string到double转换struts2可能有问题 加了一个转换类 public class DoubleConvert extends StrutsTypeConverter { @Override public Object convertFromString(Map context, String[] values, Class toClass) { if (Double.class == toClass) { String doubleStr = values[0]; if (doubleStr.length()==0){ return 0; } Double d = Double.parseDouble(doubleStr); return d; } return 0; } @Override public String convertToString(Map context, Object o) { return o.toString(); } } 在jsp页面中先用ajax方式查询TkrSyukoTbl 查询结果放在jsp页面、再修改、提交 但提交时没有到达action中的相应方法 大概在struts2的数据类型转换拦截器、或set方法时就出错了 也没有出错提示、直接跳转到刚才的登录jsp 且文本框为空 但是我不用ajax方式查数据、而是直接在文本框中填数据、 则能跳到相应的action方法 不知为何? 各位是否碰到类似问题?
有关拦截器的问题>AbstractInterceptor>ActionSupport>不跳转!
![图片说明](https://img-ask.csdn.net/upload/201905/10/1557419593_564871.png)![图片说明](https://img-ask.csdn.net/upload/201905/10/1557419603_543490.png)![图片说明](https://img-ask.csdn.net/upload/201905/10/1557419611_653280.png)![图片说明](https://img-ask.csdn.net/upload/201905/10/1557419618_911626.png) AbstractInterceptor 里面怎么不跳转了?
Struts2 addActionMessage()和addActionError()问题
项目中遇到了一个问题,用addActionError()提示用户登录错误信息,第一次输入错误账号密码后,在第二次及以上提交不管错对都会跳转到input视图。还没有想出是为什么…之后我改用addActionMessage(),然后就OK了。 本以为这两个方法是差不多的,用哪个都成,但还是发现了不一样。官方文档上对addActionMessage()的描述:Add an Action-level message to this Action.对addActionError()的描述:Add an Action-level error message to this Action.仅仅一词之差,哦,还是不明白,这真的差不多啊。又debug了半天,看了源码,发现用addActionError()时在第一次输错情况下第二次及以上提交时没有到Action就直接返回到input视图资源了,网上说是拦截器拦截后发现错误直接返回input,没有经过action,不知是否正确,望大神们多多指教。
相见恨晚的超实用网站
搞学习 知乎:www.zhihu.com 简答题:http://www.jiandati.com/ 网易公开课:https://open.163.com/ted/ 网易云课堂:https://study.163.com/ 中国大学MOOC:www.icourse163.org 网易云课堂:study.163.com 哔哩哔哩弹幕网:www.bilibili.com 我要自学网:www.51zxw
花了20分钟,给女朋友们写了一个web版群聊程序
参考博客 [1]https://www.byteslounge.com/tutorials/java-ee-html5-websocket-example
爬虫福利二 之 妹子图网MM批量下载
爬虫福利一:27报网MM批量下载    点击 看了本文,相信大家对爬虫一定会产生强烈的兴趣,激励自己去学习爬虫,在这里提前祝:大家学有所成! 目标网站:妹子图网 环境:Python3.x 相关第三方模块:requests、beautifulsoup4 Re:各位在测试时只需要将代码里的变量 path 指定为你当前系统要保存的路径,使用 python xxx.py 或IDE运行即可。
字节跳动视频编解码面经
引言 本文主要是记录一下面试字节跳动的经历。 三四月份投了字节跳动的实习(图形图像岗位),然后hr打电话过来问了一下会不会opengl,c++,shador,当时只会一点c++,其他两个都不会,也就直接被拒了。 七月初内推了字节跳动的提前批,因为内推没有具体的岗位,hr又打电话问要不要考虑一下图形图像岗,我说实习投过这个岗位不合适,不会opengl和shador,然后hr就说秋招更看重基础。我当时
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 顺便拉下票,我在参加csdn博客之星竞选,欢迎投票支持,每个QQ或者微信每天都可以投5票,扫二维码即可,http://m234140.nofollow.ax.
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
Python 基础(一):入门必备知识
目录1 标识符2 关键字3 引号4 编码5 输入输出6 缩进7 多行8 注释9 数据类型10 运算符10.1 常用运算符10.2 运算符优先级 1 标识符 标识符是编程时使用的名字,用于给变量、函数、语句块等命名,Python 中标识符由字母、数字、下划线组成,不能以数字开头,区分大小写。 以下划线开头的标识符有特殊含义,单下划线开头的标识符,如:_xxx ,表示不能直接访问的类属性,需通过类提供
这30个CSS选择器,你必须熟记(上)
关注前端达人,与你共同进步CSS的魅力就是让我们前端工程师像设计师一样进行网页的设计,我们能轻而易举的改变颜色、布局、制作出漂亮的影音效果等等,我们只需要改几行代码,不需...
国产开源API网关项目进入Apache孵化器:APISIX
点击蓝色“程序猿DD”关注我回复“资源”获取独家整理的学习资料!近日,又有一个开源项目加入了这个Java开源界大名鼎鼎的Apache基金会,开始进行孵化器。项目名称:AP...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 欢迎 改进 留言。 演示地点跳到演示地点 html代码如下`&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;music&lt;/title&gt; &lt;meta charset="utf-8"&gt
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。 1. for - else 什么?不是 if 和 else 才
数据库优化 - SQL优化
前面一篇文章从实例的角度进行数据库优化,通过配置一些参数让数据库性能达到最优。但是一些“不好”的SQL也会导致数据库查询变慢,影响业务流程。本文从SQL角度进行数据库优化,提升SQL运行效率。 判断问题SQL 判断SQL是否有问题时可以通过两个表象进行判断: 系统级别表象 CPU消耗严重 IO等待严重 页面响应时间过长
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 c/c++ 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7
通俗易懂地给女朋友讲:线程池的内部原理
餐厅的约会 餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”我楞了一下,心里想女朋友今天是怎么了,怎么突然问出这么专业的问题,但做为一个专业人士在女朋友面前也不能露怯啊,想了一下便说:“我先给你讲讲我前同事老王的故事吧!” 大龄程序员老王 老王是一个已经北漂十多年的程序员,岁数大了,加班加不动了,升迁也无望,于是拿着手里
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
编写Spring MVC控制器的14个技巧
本期目录 1.使用@Controller构造型 2.实现控制器接口 3.扩展AbstractController类 4.为处理程序方法指定URL映射 5.为处理程序方法指定HTTP请求方法 6.将请求参数映射到处理程序方法 7.返回模型和视图 8.将对象放入模型 9.处理程序方法中的重定向 10.处理表格提交和表格验证 11.处理文件上传 12.在控制器中自动装配业务类 ...
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹
面试官:你连RESTful都不知道我怎么敢要你?
面试官:了解RESTful吗? 我:听说过。 面试官:那什么是RESTful? 我:就是用起来很规范,挺好的 面试官:是RESTful挺好的,还是自我感觉挺好的 我:都挺好的。 面试官:… 把门关上。 我:… 要干嘛?先关上再说。 面试官:我说出去把门关上。 我:what ?,夺门而去 文章目录01 前言02 RESTful的来源03 RESTful6大原则1. C-S架构2. 无状态3.统一的接
求小姐姐抠图竟遭白眼?痛定思痛,我决定用 Python 自力更生!
点击蓝色“Python空间”关注我丫加个“星标”,每天一起快乐的学习大家好,我是 Rocky0429,一个刚恰完午饭,正在用刷网页浪费生命的蒟蒻...一堆堆无聊八卦信息的网页内容慢慢使我的双眼模糊,一个哈欠打出了三斤老泪,就在此时我看到了一张图片:是谁!是谁把我女朋友的照片放出来的!awsl!太好看了叭...等等,那个背景上的一堆鬼画符是什么鬼?!真是看不下去!叔叔婶婶能忍,隔壁老王的三姨妈的四表...
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
致 Python 初学者
欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
相关热词 c#选择结构应用基本算法 c# 收到udp包后回包 c#oracle 头文件 c# 序列化对象 自定义 c# tcp 心跳 c# ice连接服务端 c# md5 解密 c# 文字导航控件 c#注册dll文件 c#安装.net
立即提问