struts2的url、param标签的使用

我使用url标签,并通过param标签给它传参数(param里面放的参数是一个对象)会出错,是我取值的方式不对吗?
请大神帮我看看,我是第一次在这里问问题,不太会,有纰漏望指出。
设置参数代码如下:

/s:param
/s:url
/s:a
取参代码如下:
public String execute() throws Exception {
Task task = (Task) ServletActionContext.getRequest().getAttribute("task");
System.out.println(task.toString());
return "success";
}
报的错误信息是:
ERROR org.apache.struts2.dispatcher.Dispatcher - Exception occurred during processing request: null
java.lang.NullPointerException
at org.apache.struts2.impl.StrutsActionProxy.getErrorMessage(StrutsActionProxy.java:69)
at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:185)
at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:63)
at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:553)
at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:434)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:537)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1085)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:658)
at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1556)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1513)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)

1个回答

ServletActionContext.getRequest().getParameter(“XXX”) 应该是这样取吧

Eleven1022
三度秋树 首先,不好意思,由于放假,现在才看,非常抱歉!getParameter函数不是只能返回String类型吗?可我放进去的是一个object类型啊,没有其他方法了吗?
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
struts2 ---> 【s:url标签动态添加s:param失效】
使用struts2的时候,如何动态的给一个s:url标签添加s:param,例如如下代码: [code="java"] <s:url id="myurl" action="myAction"> <s:param name="aa" value="a1"></s:param> <s:iterator value="myList" id="beam"> <s:param name="aa">11</s:param> </s:iterator> </s:url> <s:a href="%{myurl}">测试</s:a> [/code] 经过测试,通过<s:iterator>产生的<s:param>根本就不会出现在跳转链接里! 请各位帮忙解决一下,哪怕提供一点思路!TKS!
使用ajax和struts2,处理struts2返回结果的问题
首先主界面如下 ![图片说明](https://img-ask.csdn.net/upload/201607/22/1469201699_106243.jpg) 上边是导航栏,导航栏下的内容为根据导航栏中a标签异步加载的内容,此时是一个表单,对应后台是通过struts和hibernate进行数据库存储的操作。 现在的状况是,等struts返回后,会自动刷新整个页面,异步加载的内容就会消失,标签又回到了Home下(默认)。以下是我前后端部分的主要代码: jsp表单,表单的部分: ``` <button type="submit" class="btn btn-block btn-info btn-lg disabled" onclick="addAndUpdateCategories()">提交</button> ``` 对应的click点击事件(js): ``` function addAndUpdateCategories() { $.ajax({ type : "post", url : "addVipAction.action", data : $("#vipForm").serialize(), cache : false, dataType : "json", }); } ``` struts2中的action ``` public String addVip() throws Exception{ ServletRequest request = ServletActionContext.getRequest(); String msg = ""; Map<String, Object> map = new HashMap<String, Object>(); map.put("data", vip); map.put("msg",msg); result = map.toString(); return SUCCESS; } ``` 对应的配置文件 ``` <action name="addVipAction" class="loginAction" method="addVip"> <result type="json"> <param name="root">result</param> </result> </action> ``` 现在我想要的效果是:struts返回后只重新加载表单部分,或者将表单部分异步加载为别的页面,而不是重新刷新整个页面。我应该怎么做?
请问如何将URL?NAME=111,中的name参数传入到STRUTS2的页面<s:form>表单中?
比如用户打开http://localhost:8080/regist.jsp?name=1111的url 那在注册页面的 <s:form> <s:textfield name="name" value=""/> </s:form> 如何让这个输入框打开页面后把url中的参数传递进去 struts2标签好像不支持 <%=name%> 谢谢! 有人说<s:textfield name="name" value="${param.name}"/> 和 value="#parameters.name" 我试过都不行
struts2 标签的问题
<td><s:property value="id"/></td> <td><s:property value="sname"/></td> <s:url id="url_pre" value="delete.do"> <s:param name="pageNow" value="??"></s:param> </s:url> 或者: <td><a href="delete.do?id=??">删除</a></td> 想问一下 这么把最上面的那个id 值 搞到下面的 ?? 处!
JAVA SSH Struts 关于a标签调用Action含参数就异常反之正常
struts 异常 Action path SSH 异常信息 There is no Action mapped for namespace [/dd] and action name [laladList] associated with context path [/baee]. - [unknown location] at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:185) at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:63) at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39) at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58) at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:501) 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.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738) 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:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 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:293) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:619) OrderAction.java public void lalad() throws Exception { System.out.println("lalad()被执行到了"); //return null; } applicationContext.xml <bean id="OrderActionBean" class="cn.baee.action.OrderAction" scope="prototype"> <property name="services" ref="GenericServiceImplBean"></property> </bean> struts.xml 文件位置:/WEB-INF/classes <!-- 加载国际资源文件 --> <constant name="struts.custom.i18n.resources" value="cn.baee.config.langResource"></constant> <!-- 将Action的创建交给spring来管理 --> <constant name="struts.objectFactory" value="spring" /> <!-- 去掉struts2请求后缀 --> <constant name="struts.action.extension" value=","></constant> <package name="dd" namespace="/dd" extends="struts-default"> <action name="*List?indexPage=*" method="{1}" class="OrderActionBean" > <param name="indexPage">{2}</param> <result name="success" type="redirectAction"> <param name="actionName">cc</param> </result> </action> </package> web.xml 文件位置:/WEB-INF/ <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> <init-param> <param-name>config</param-name> <param-value>struts-default.xml,struts-plugin.xml,struts.xml</param-value> </init-param> </filter> <filter-mapping> <filter-name>UrlRewriteFilter</filter-name> <url-pattern>/*</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> </filter-mapping> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> <dispatcher>INCLUDE</dispatcher> </filter-mapping> 问题描述: (1)<s:action name="laladList?indexPage=1" executeResult="true" namespace="/dd"/> (2)http://localhost:8080/baee/dd/laladList?indexPage=1 执行(1)语句的时候没有任何问题,控制台输出了相应的东西,表示我的配置没有任何问题可以正常运行。 执行(2)直接在浏览器访问这个网址的时候却出现了上面的异常,控制台也没有输出,表示根本没有到Acion的这个方法里。 我要实现的效果是利用<a>标签访问Action我指定的这个方法并且可以动态传递参数给它,所有我直接编写了绝对路径去访问这个Action 但是不行,我就很疑惑了,百度了一圈还是解决不了。 附加:如果我没传递任何参数、类似于直接访问(http://localhost:8080/baee/dd/laladList)是可以正常运行的,但是我动态传递了参数进去 就是出现上面的404 找不到这个ACTION的异常。 很急 求高手指教。
strtuts2 <s:iterator>标签中嵌套<s:a>的onclick参数问题
例: <s:iterator value="#request.userList" id="user" status="status"> <dt> <s:url id="url" action="edit_user"> <s:param name="id" value="#user.id" /> </s:url> <s:a href="%{url}" [color=red]onclick="foo(user.id)"[/color]> <s:property value="#user.name"/> </s:a> </dt> </s:iterator> 上面的代码中,红字部份的内容应该怎么写? 想问下,在struts2 的iterator的标签中,如果使用struts2<s:a>或<a>时,如何在onclick中使用对象中的属性?
Struts2 Unterminated &lt;s:iterator tag
这是一个显示页,显示最终的分页效果。使用Struts2标签时,报错:Unterminated &lt;s:iterator tag ``` <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="GB18030"%> <%@ taglib uri="/struts-tags" prefix="s"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=GB18030"> <title>Struts2 实现分页</title> </head> <body> <div  align="center">       <table  border="1">         <tr>            <th>学号</th>           <th>姓名</th>           <th>地址</th>           <th>电话</th>        </tr>         <s:iterator  value="students">           <tr>               <td><s:property  value="id" /></td>              <td><s:property  value="stuName" /></td>              <td><s:property  value="address" /></td>              <td><s:property  value="stuPhone" /></td>           </tr>        </s:iterator>       </table>          <s:url  id="url_pre"  value="show.action">            <s:param  name="pageNow"  value="pageNow-1"></s:param>        </s:url>             <s:url  id="url_next"  value="show.action">            <s:param  name="pageNow"  value="pageNow+1"></s:param>        </s:url>               <s:a  href="%{url_pre}">上一页</s:a>                  <s:iterator  value="students"  status="status">           <s:url  id="url"  value="show.action">               <s:param  name="pageNow"  value="pageNow" />           </s:url>        </s:iterator>             <s:a  href="%{url_next}">下一页</s:a>        </div> </body> </html> ```
Struts的div标签向服务器发送异步请求的问题!?
通过Struts的div标签向服务器发送异步请求,并把请求的响应结果加载到生成的div元素中,代码如下: <s:form action="flow_addFlow" theme="simple"> <table width="300" align="center" border="0" cellpadding="0" ellspacing="0"> <tr> <td> <s:url id="tolist1" value="product_listProduct.action"> <s:param name="productId" value="product.productId"/> </s:url> <s:div href="%{tolist1}" theme="ajax"/> </td> </tr> <tr> <td> <s:url id="tolist2" value="indent_listIndent.action"> <s:param name="indentId" value="indent.indentId"/> </s:url> <s:div href="%{tolist2}" theme="ajax"/> </td> </tr> </table> </s:form> 请求的响应结果能正常显示到生成的div元素中,但是在网页的下方会额外显示一条"DEBUG: widget ID collision on ID: flow_addFlow_"的信息,不知怎么回事?如何把它去掉?
关于struts2和spring整合的问题
以前培训的时候讲到过这个,整合正常的做法是导入struts2-spring-plugin.jar包,然后在struts.xml里面配置action标签的class属性时直接写创建action类的bean id的名字,而不是直接写类的路径,当然new action类是通过spring来创建bean的(不管是注解方式还是xml方式),但是实验结果是就算不导入struts2-spring-plugin.jar包,struts.xml里面配置action标签的class属性时直接写类的路径,并且也不用spring来new action类也是可以将struts2和spring整合起来的,下面我贴下一个实验代码: (没有导入struts2-spring-plugin.jar) applicationContext.xml: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd"> <!-- 设置需要进行Spring注解扫描的类包 --> <context:component-scan base-package="com.niit" /> </beans> struts2.xml: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <constant name="struts.devMode" value="true" /> <constant name="struts.enable.DynamicMethodInvocation" value="true" /> <package name="root" namespace="/" extends="struts-default"> <action name="user" class="com.niit.test.UserAction" > <result name="res">/res.jsp</result> </action> </package> </struts> web.xml: <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- 定义Spring配置文件位置 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath:applicationContext.xml </param-value> </context-param> <!-- 对Spring容器进行实例化 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> </web-app> index.jsp: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <a href="user!sss.action">111</a> <br> </body> </html> res.jsp: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'res.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> res <br> </body> </html> UserAction.java: package com.niit.test; import javax.annotation.Resource; public class UserAction { @Resource private UserServiceInterface userService; public String sss(){ userService.asd(); return "res"; } public UserServiceInterface getUserService() { return userService; } public void setUserService(UserServiceInterface userService) { this.userService = userService; } } UserService.java: package com.niit.test; import org.springframework.stereotype.Service; @Service public class UserService implements UserServiceInterface{ public void asd(){ System.out.println("asd"); } } UserServiceInterface.java: package com.niit.test; public interface UserServiceInterface { public void asd(); } 我的疑问就是应该是struts2自己new了一个UserAction实例,但是这个实例并没有交给spring管理啊,这个UserAction实例里面的userService属性应该是不会被spring注入实例的,但是为什么UserAction里面还是拿到了userService并且没有报nullpoint错误,实验的结果说明了struts2创建的UserAction实例确实交给spring了,这是为什么呢
struts2+servlet过滤器出现不能转发的现象
filter @SuppressWarnings("deprecation") public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain)throws ServletException, IOException{ HttpServletRequest httpRequest = (HttpServletRequest)request; StringBuffer requestURL = new StringBuffer(); requestURL.append(httpRequest.getRequestURI()); log.info(requestURL); if(1==1){ httpRequest.getRequestDispatcher("/index.jsp").forward(request, response); } } web.xml <!-- 我的过滤器 --> <display-name > myFilter</display-name > <filter> <filter-name > myFilter </filter-name > <filter-class > com.jidi.filter.MyFilter </filter-class > </filter > <filter-mapping > <filter-name > myFilter </filter-name > <url-pattern > /* </url-pattern > </filter-mapping > <!-- 文件上传 --> <display-name > Struts 2 Fileupload </display-name > <filter> <filter-name > struts-cleanup </filter-name > <filter-class > org.apache.struts2.dispatcher.ActionContextCleanUp </filter-class > </filter > <filter-mapping > <filter-name > struts-cleanup </filter-name > <url-pattern > /* </url-pattern > </filter-mapping > <!-- spring 不配置此param,默认在web-inf下 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/classes/applicationContext.xml</param-value> </context-param> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener> <!-- struts2 --> <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.FilterDispatcher </filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> 转发到静态文件没有问题,但转发到jsp或者action就会出现错误 转发到action报404错误 转发到jsp报标签错误,错误信息如下: 严重: Servlet.service() for servlet jsp threw exception The Struts dispatcher cannot be found. This is usually caused by using Struts tags without the associated filter. Struts tags are only usable when the request has passed through its servlet filter, which initializes the Struts dispatcher needed for this tag. - [unknown location] at org.apache.struts2.views.jsp.TagUtils.getStack(TagUtils.java:60) at org.apache.struts2.views.jsp.StrutsBodyTagSupport.getStack(StrutsBodyTagSupport.java:44) at org.apache.struts2.views.jsp.ComponentTagSupport.doStartTag(ComponentTagSupport.java:48) at org.apache.jsp.index_jsp._jspx_meth_s_005fform_005f0(index_jsp.java:112) at org.apache.jsp.index_jsp._jspService(index_jsp.java:80) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:384) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:687) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301) at com.jidi.filter.MyFilter.doFilter(MyFilter.java:53) 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:228) 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:104) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445) at java.lang.Thread.run(Unknown Source) 2009-6-30 13:17:00 org.apache.catalina.core.StandardWrapperValve invoke 严重: Servlet.service() for servlet default threw exception The Struts dispatcher cannot be found. This is usually caused by using Struts tags without the associated filter. Struts tags are only usable when the request has passed through its servlet filter, which initializes the Struts dispatcher needed for this tag. - [unknown location] at org.apache.struts2.views.jsp.TagUtils.getStack(TagUtils.java:60) at org.apache.struts2.views.jsp.StrutsBodyTagSupport.getStack(StrutsBodyTagSupport.java:44) at org.apache.struts2.views.jsp.ComponentTagSupport.doStartTag(ComponentTagSupport.java:48) at org.apache.jsp.index_jsp._jspx_meth_s_005fform_005f0(index_jsp.java:112) at org.apache.jsp.index_jsp._jspService(index_jsp.java:80) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:384) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:687) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301) at com.jidi.filter.MyFilter.doFilter(MyFilter.java:53) 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:228) 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:104) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445) at java.lang.Thread.run(Unknown Source) 不太明白到底是怎么了,希望大家给支招 [b]问题补充:[/b] 可是我的过滤器必须在最开始执行 [b]问题补充:[/b] 能不能有什么办法可以解决这个冲突呢?我尝试将我的Filter写在最后面,这样写之后除了转发的目标和action可以访问外,其他资源的全部不可以访问,连js都不可以访问 [b]问题补充:[/b] 最终我没有在过滤器中转发到action,而是转发到html,然后通过ajax请求action,绕了好几个湾,感觉很是不爽,不知道shizone有没有好的办法不用绕弯呢
struts1.X 的 filter 问题
错误:标签<web-app>处报错,错误如下 The content of element type "web-app" must match "(icon?,display- name?,description?,distributable?,context-param*,servlet*,servlet-mapping*,session-config?,mime- mapping*,welcome-file-list?,error-page*,taglib*,resource-ref*,security-constraint*,login- config?,security-role*,env-entry*,ejb-ref*)". web.xml <?xml version="1.0" encoding="GBK"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd"> <web-app> <display-name>Struts Blank Application</display-name> <!-- Standard Action Servlet Configuration (with debugging) --> <servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml</param-value> </init-param> <init-param> <param-name>debug</param-name> <param-value>2</param-value> </init-param> <init-param> <param-name>detail</param-name> <param-value>2</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet> <!-- Standard Action Servlet Mapping --> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <!-- The Usual Welcome File List --> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <!-- Struts Tag Library Descriptors --> <taglib> <taglib-uri>/tags/struts-bean</taglib-uri> <taglib-location>/WEB-INF/struts-bean.tld</taglib-location> </taglib> <taglib> <taglib-uri>/tags/struts-html</taglib-uri> <taglib-location>/WEB-INF/struts-html.tld</taglib-location> </taglib> <taglib> <taglib-uri>/tags/struts-logic</taglib-uri> <taglib-location>/WEB-INF/struts-logic.tld</taglib-location> </taglib> <taglib> <taglib-uri>/tags/struts-nested</taglib-uri> <taglib-location>/WEB-INF/struts-nested.tld</taglib-location> </taglib> <taglib> <taglib-uri>/tags/struts-tiles</taglib-uri> <taglib-location>/WEB-INF/struts-tiles.tld</taglib-location> </taglib> <!-- =======================上面的无关======================================= --> <!-- 过滤器 --> <filter> <display-name>BookFilter</display-name> <filter-name>BookFilter</filter-name> <filter-class>com.ssh.filter.BookFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>GBK</param-value> </init-param> </filter> <filter-mapping> <filter-name>BookFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app> ================================================================== class Myfiler下红线 报错如下: The type Myfilter must implement the inherited abstract method Filter.destroy() ====================================================== filter 实体文件 package com.xubq.filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; public class Myfilter implements Filter { //定义一个encoding变量 public String encoding; //重写doFilter()方法 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { // TODO Auto-generated method stub // place your code here response.setCharacterEncoding(encoding); response.setContentType("text/html;charset="+encoding); request.setCharacterEncoding(encoding); // pass the request along the filter chain chain.doFilter(request, response); } public void init(FilterConfig fConfig) throws ServletException { // TODO Auto-generated method stub encoding = fConfig.getInitParameter("encoding"); } } 20分奉上 谢谢了。。
struts2 的iterator标签的循环不出值(分已经用完拉,请各位援助下)
<p><span style="background-color: #fafafa;">不说废话,先上代码:</span></p> <pre name="code" class="java">public class RetakePic { private List&lt;Goods&gt; goodsList; private int speakId; public void setGoodsList(List&lt;Goods&gt; goodsList){ this.goodsList = goodsList; } public List&lt;Goods&gt; getGoodsList(){ return this.goodsList; } public void setSpeakId(int speakId){ this.speakId = speakId; } public int getSpeakId(){ return this.speakId; } public List&lt;Goods&gt; getGoodsPic() throws Exception{ Session session = HibernateSessionFactory.getSession(); Transaction tran = session.beginTransaction(); String sql = "from Goods as g where g.speak=" +speakId; Query query = session.createQuery(sql); goodsList = query.list(); tran.commit(); session.close(); System.out.println(speakId); return goodsList; } }</pre> <p> </p> <p>前台页面的输出:</p> <pre name="code" class="html">&lt;s:bean name="com.shaiyaya.business.RetakePic" id="picList"&gt; &lt;s:param name="speakId"&gt; &lt;s:property value="#speak.speakId"/&gt; &lt;/s:param&gt; &lt;/s:bean&gt; &lt;s:iterator value="%{#picList.getGoodsPic()}" id="pic" &gt; &lt;s:property value="#pic.url" default="test"/&gt; &lt;/s:iterator&gt;</pre> <p> </p> <p> </p> <p>System.out.println(speakId);在后台已经输出值了,表明方法已经执行,但是前台的&lt;s:property value="#pic.url" default="test"/&gt;这句什么都没有输出(包括“test”),请各位看看!感谢十分!</p>
ACTION A标签直接访问异常
异常信息 There is no Action mapped for namespace [/dd] and action name [laladList] associated with context path [/baee]. - [unknown location] at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:185) at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:63) at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39) at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58) at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:501) 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.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738) 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:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 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:293) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:619) OrderAction.java public void lalad() throws Exception { System.out.println("lalad()被执行到了"); //return null; } applicationContext.xml <bean id="OrderActionBean" class="cn.baee.action.OrderAction" scope="prototype"> <property name="services" ref="GenericServiceImplBean"></property> </bean> struts.xml 文件位置:/WEB-INF/classes <!-- 加载国际资源文件 --> <constant name="struts.custom.i18n.resources" value="cn.baee.config.langResource"></constant> <!-- 将Action的创建交给spring来管理 --> <constant name="struts.objectFactory" value="spring" /> <!-- 去掉struts2请求后缀 --> <constant name="struts.action.extension" value=","></constant> <package name="dd" namespace="/dd" extends="struts-default"> <action name="*List?indexPage=*" method="{1}" class="OrderActionBean" > <param name="indexPage">{2}</param> <result name="success" type="redirectAction"> <param name="actionName">cc</param> </result> </action> </package> web.xml 文件位置:/WEB-INF/ <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> <init-param> <param-name>config</param-name> <param-value>struts-default.xml,struts-plugin.xml,struts.xml</param-value> </init-param> </filter> <filter-mapping> <filter-name>UrlRewriteFilter</filter-name> <url-pattern>/*</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> </filter-mapping> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> <dispatcher>INCLUDE</dispatcher> </filter-mapping> 问题描述: (1)<s:action name="laladList?indexPage=1" executeResult="true" namespace="/dd"/> (2)http://localhost:8080/baee/dd/laladList?indexPage=1 执行(1)语句的时候没有任何问题,控制台输出了相应的东西,表示我的配置没有任何问题可以正常运行。 执行(2)直接在浏览器访问这个网址的时候却出现了上面的异常,控制台也没有输出,表示根本没有到Acion的这个方法里。 我要实现的效果是利用<a>标签访问Action我指定的这个方法并且可以动态传递参数给它,所有我直接编写了绝对路径去访问这个Action 但是不行,我就很疑惑了,百度了一圈还是解决不了。 附加:如果我没传递任何参数、类似于直接访问(http://localhost:8080/baee/dd/laladList)是可以正常运行的,但是我动态传递了参数进去 就是出现上面的404 找不到这个ACTION的异常。
SSH Action 动态调用 参数 404异常
``` 1. 异常情况: 1. There is no Action mapped for namespace [/dd] and action name [laladList] associated with context path [/baee]. - [unknown location] 1. at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:185) 1. at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:63) 1. at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39) 1. at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58) 1. at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:501) 1. at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77) 1. at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91) 1. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 1. web.xml 1. <?xml version="1.0" encoding="UTF-8"?> 1. <web-app version="3.0" 1. xmlns="http://java.sun.com/xml/ns/javaee" 1. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 1. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 1. http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> 1. 1. <display-name>项目名称</display-name> 1. <description>项目描述</description> 1. 1. <jsp-config> 1. <taglib> 1. <!-- 配置标签的引用地址 JSP页面中引用时使用--> 1. <taglib-uri>/el-extends</taglib-uri> 1. <!-- 配置标签的TLD文件地址 --> 1. <taglib-location>/WEB-INF/ELExtends.tld</taglib-location> 1. </taglib> 1. </jsp-config> 1. 1. <!-- 指示服务器在收到引用一个目录名而不是文件名的URL时,使用哪个文件 --> 1. <welcome-file-list> 1. <welcome-file>index.jsp</welcome-file> 1. </welcome-file-list> 1. 1. <!-- 配置Session十分钟有效时间 --> 1. <session-config> 1. <session-timeout>10</session-timeout> 1. </session-config> 1. 1. <!-- 配置错误页面 --> 1. 1. 1. <!-- 将HibernateSession开关控制配置在Filter,保证一个请求一个session,并对lazy提供支持 --> 1. <filter> 1. <filter-name>OpenSessionInViewFilter</filter-name> 1. <filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class> 1. </filter> 1. 1. <!-- 配置伪静态 --> 1. <filter> 1. <filter-name>UrlRewriteFilter</filter-name> 1. <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class> 1. </filter> 1. 1. <filter-mapping> 1. <filter-name>UrlRewriteFilter</filter-name> 1. <url-pattern>/*</url-pattern> 1. <dispatcher>REQUEST</dispatcher> 1. <dispatcher>FORWARD</dispatcher> 1. </filter-mapping> 1. 1. <!-- 配置Struts2 --> 1. <filter> 1. <filter-name>struts2</filter-name> 1. <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> 1. <init-param> 1. <param-name>config</param-name> 1. <param-value>struts-default.xml,struts-plugin.xml,struts.xml</param-value> 1. </init-param> 1. </filter> 1. 1. <filter-mapping> 1. <filter-name>struts2</filter-name> 1. <url-pattern>/*</url-pattern> 1. <dispatcher>FORWARD</dispatcher> 1. <dispatcher>REQUEST</dispatcher> 1. </filter-mapping> 1. 1. <!-- 配置Spring --> 1. <context-param> 1. <param-name>contextConfigLocation</param-name> 1. <param-value>classpath:cn/baee/config/applicationContext.*.xml</param-value> 1. </context-param> 1. <listener> 1. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 1. </listener> 1. 1. <!-- log4j的配置文件里可以用${project}来表示刚刚设进去的系统变量 --> 1. <context-param> 1. <param-name>webAppRootKey</param-name> 1. <param-value>project</param-value> 1. </context-param> 1. 1. <!-- 配置由Sprng载入的Log4j配置文件位置 --> 1. <context-param> 1. <param-name>log4jConfigLocation</param-name> 1. <param-value>/WEB-INF/classes/cn/baee/config/log.properties</param-value> 1. </context-param> 1. 1. <!-- Spring刷新Log4j配置文件变动的间隔,单位为毫秒 --> 1. <context-param> 1. <param-name>log4jRefreshInterval</param-name> 1. <param-value>10000</param-value> 1. </context-param> 1. <listener> 1. <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> 1. </listener> 1. 1. <!-- 配置监听器 --> 1. <listener> 1. <listener-class>cn.baee.listener.IniListener</listener-class> 1. </listener> 1. <listener> 1. <listener-class>cn.baee.listener.ReportsListener</listener-class> 1. </listener> 1. <listener> 1. <listener-class>cn.baee.listener.CountsListener</listener-class> 1. </listener> 1. </web-app> 1. 1. struts.xml 1. <?xml version="1.0" encoding="UTF-8" ?> 1. <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> 1. 1. <struts> 1. 1. <!-- 加载国际资源文件 --> 1. <constant name="struts.custom.i18n.resources" value="cn.baee.config.langResource"></constant> 1. 1. <!-- 将Action的创建交给spring来管理 --> 1. <constant name="struts.objectFactory" value="spring" /> 1. 1. <!-- 去掉struts2请求后缀 --> 1. <constant name="struts.action.extension" value=","></constant> 1. 1. <package name="dd" namespace="/dd" extends="struts-default"> 1. <action name="*List?id=*" method="{1}" class="OrderActionBean" > 1. <param name="id">{2}</param> 1. <!--<param name="indexPage">{2}</param>--> 1. <result name="success" type="redirectAction"> 1. <param name="actionName">cc</param> 1. </result> 1. </action> 1. </package> 1. 1. <package name="root" namespace="/" extends="struts-default"> 1. <!-- 用户中心 --> 1. <action name="i" method="i" class="UserCenterActionBean"> 1. <result name="signin">/user_center/signin.jsp</result> 1. <result name="welcome">/user_center/welcome.jsp</result> 1. <result name="system">/user_center/system.jsp</result> 1. <result name="order">/user_center/order.jsp</result> 1. </action> 1. <action name="UserCenter*" method="UserCenter{1}" class="UserCenterActionBean"> 1. <result name="success" type="redirectAction"> 1. <param name="actionName">i</param> 1. </result> 1. </action> 1. 1. <!-- 控制中心 --> 1. <action name="cc" method="cc" class="ControlCenterActionBean"> 1. <result name="signin">/control_center/signin.jsp</result> 1. <result name="welcome">/control_center/welcome.jsp</result> 1. <result name="system">/control_center/system.jsp</result> 1. <result name="order">/control_center/order.jsp</result> <!-- 订单页 --> 1. <result name="order_list">/control_center/order_list.jsp</result> <!-- 订单列表 --> 1. </action> 1. <action name="ControlCenter*" method="ControlCenter{1}" class="ControlCenterActionBean"> 1. <result name="success" type="redirectAction"> 1. <param name="actionName">cc</param> 1. </result> 1. </action> 1. <action name="ControlCenter*?id=*" method="ControlCenter{1}" class="ControlCenterActionBean"> 1. <param name="id">{2}</param> 1. <result name="success" type="redirectAction"> 1. <param name="actionName">cc</param> 1. </result> 1. </action> 1. 1. 1. <!-- 订单 --> 1. <action name="*Order?id=*;sn=*" method="{1}" class="OrderActionBean"> 1. <param name="id">{2}</param> 1. <param name="sn">{3}</param> 1. <result name="success" type="redirectAction"> 1. <param name="actionName">cc</param> 1. </result> 1. </action> 1. 1. <action name="*List?indexPage=*" method="{1}" class="OrderActionBean" > 1. <param name="indexPage">{2}</param> 1. <result name="success" type="redirectAction"> 1. <param name="actionName">cc</param> 1. </result> 1. </action> 1. <!-- 订单列表 --> 1. <action name="*OrderList?orderBusinessId=*;orderSourceTypeId=*;orderStateId=*;indexPage=*" method="{1}" class="OrderActionBean"> 1. <param name="orderBusinessId">{2}</param> 1. <param name="orderSourceTypeId">{3}</param> 1. <param name="orderStateId">{4}</param> 1. <param name="indexPage">{5}</param> 1. <result name="success" type="redirectAction"> 1. <param name="actionName">cc</param> 1. </result> 1. </action> 1. 1. </package> 1. 1. <!-- BAEE Action --> 1. <package name="baee" namespace="/Be" extends="struts-default"> 1. <action name="SiteInitialize" method="Site" class="InitializeActionBean"></action> 1. <action name="PageInitialize?pageAction=*;errorTextCode=*;illegalTextCode=*" method="Page" class="InitializeActionBean"> 1. <param name="pageAction">{1}</param> 1. <param name="errorTextCode">{2}</param> <param name="illegalTextCode">{3}</param> <result name="success" type="dispatcher"> <param name="location">/cc</param> </result> </action> <action name="BugInitialize" method="Bug" class="InitializeActionBean"></action> </package> </struts> action java package cn.baee.action; @SuppressWarnings("serial") public class OrderAction extends GenericAction { private String id; // 订单Id public String getId() { return id; } public void setId(String id) { this.id = id; } public void lalad() throws Exception { System.out.println("lalad()被执行到了" + this.getId()); //return null; } } 问题描述: (1)<s:action name="laladList?id=2" executeResult="true" namespace="/dd"/> (2)http://localhost:8080/baee/dd/laladList?id=2 执行(1)语句的时候没有任何问题,控制台输出了相应的东西,表示我的配置没有任何问题可以正常运行。 执行(2)直接在浏览器访问这个网址的时候却出现了上面的异常,控制台也没有输出,表示根本没有到Acion的这个方法里。 我要实现的效果是利用标签访问Action我指定的这个方法并且可以动态传递参数给它,所有我直接编写了绝对路径去访问这个Action 但是不行,我就很疑惑了,百度了一圈还是解决不了。 附加:如果我没传递任何参数、类似于直接访问(http://localhost:8080/baee/dd/laladList)是可以正常运行的,但是我动态传递了参数进去 就是出现上面的404 找不到这个ACTION的异常。 疑惑1:我思考了半天就是不解了,(1)(2)按理说执行的都是一模一样的东西,连参数都是一样的 为什么在<s:action>就能成功执行呢?难道就因为它指定了一个namespace? 疑惑2:在疑惑1基础上,既然是因为没有指定namespace那么为什么没有带任何参数的时候,两种访问都能成功的访问到我指定的Action的指定方法()呢? 求大神帮解决。。。。 ```
SSH ACTION异常 很奇怪 麻烦大神看下
异常信息 There is no Action mapped for namespace [/dd] and action name [laladList] associated with context path [/baee]. - [unknown location] at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:185) at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:63) at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39) at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58) at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:501) 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.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738) 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:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 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:293) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:619) OrderAction.java public void lalad() throws Exception { System.out.println("lalad()被执行到了"); //return null; } applicationContext.xml <bean id="OrderActionBean" class="cn.baee.action.OrderAction" scope="prototype"> <property name="services" ref="GenericServiceImplBean"></property> </bean> struts.xml 文件位置:/WEB-INF/classes <!-- 加载国际资源文件 --> <constant name="struts.custom.i18n.resources" value="cn.baee.config.langResource"></constant> <!-- 将Action的创建交给spring来管理 --> <constant name="struts.objectFactory" value="spring" /> <!-- 去掉struts2请求后缀 --> <constant name="struts.action.extension" value=","></constant> <package name="dd" namespace="/dd" extends="struts-default"> <action name="*List?indexPage=*" method="{1}" class="OrderActionBean" > <param name="indexPage">{2}</param> <result name="success" type="redirectAction"> <param name="actionName">cc</param> </result> </action> </package> web.xml 文件位置:/WEB-INF/ <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> <init-param> <param-name>config</param-name> <param-value>struts-default.xml,struts-plugin.xml,struts.xml</param-value> </init-param> </filter> <filter-mapping> <filter-name>UrlRewriteFilter</filter-name> <url-pattern>/*</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> </filter-mapping> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> <dispatcher>INCLUDE</dispatcher> </filter-mapping> 问题描述: (1)<s:action name="laladList?indexPage=1" executeResult="true" namespace="/dd"/> (2)http://localhost:8080/baee/dd/laladList?indexPage=1 执行(1)语句的时候没有任何问题,控制台输出了相应的东西,表示我的配置没有任何问题可以正常运行。 执行(2)直接在浏览器访问这个网址的时候却出现了上面的异常,控制台也没有输出,表示根本没有到Acion的这个方法里。 我要实现的效果是利用<a>标签访问Action我指定的这个方法并且可以动态传递参数给它,所有我直接编写了绝对路径去访问这个Action 但是不行,我就很疑惑了,百度了一圈还是解决不了。 附加:如果我没传递任何参数、类似于直接访问(http://localhost:8080/baee/dd/laladList)是可以正常运行的,但是我动态传递了参数进去 就是出现上面的404 找不到这个ACTION的异常。
tomcat对javaweb项目中的web.xml解析顺序是怎样的
我的web.xml文件内容如下: <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>ssh_crm</display-name> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- 配置监听器 --> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- 配置指定配置文件路径 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:bean.xml</param-value> </context-param> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> </web-app> ``` ``` 这样的话,tomcat启动没有任何问题。然而,如果把<display-name>ssh_crm</display-name>放到</context-param>的后面,有时候启动服务器会报解析xml的错误。 然后还想问一下,这些标签对于现在的tomcat版本还有顺序要求吗,如果有,怎样的顺序 拜托了
action="/user" 不跳转到根目录
框架是struts1.3 jsp在form文件夹下 本来应该跳转到根目录的 但是url每次都跳转到/form/user?... . . 下面是相关代码 . . . signin.jsp,放在webroot/form文件夹下。 (form那块第一部分注释掉的是原本用struts的html标签做的,这个是可以正常跳转的。但我想用普通的html标签,但就是不行。。) ``` <%@ page language="java" pageEncoding="UTF-8"%> <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%> <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%> <html> <head> <title>JSP for UserForm form</title> </head> <body> <%-- <html:form action="/user"> <html:hidden property="action" value="signin"/> 账号 : <html:text property="account"/><html:errors property="account"/><br/> 密码 : <html:password property="pwd"/><html:errors property="pwd"/><br/> <html:submit/><html:cancel/> </html:form> --%> <form action="/user"> 账户 : <input type="text" name="account" value="admin1"><br> 密码 : <input type="text" name="pwd" value="1q!"><br> <input type="submit" value="Submit"> </form> </body> </html> ``` struts-config ``` <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd"> <struts-config> <form-beans > <form-bean name="userForm" type="com.changhe.struts.form.UserForm" /> </form-beans> <global-exceptions /> <global-forwards /> <action-mappings > <action attribute="userForm" input="/form/signin.jsp" name="userForm" path="/user" scope="request" type="com.changhe.struts.action.UserAction" cancellable="true"> <forward name="failure" path="/result/failure.jsp" /> <forward name="success" path="/result/success.jsp" /> </action> </action-mappings> <message-resources parameter="com.changhe.struts.ApplicationResources" /> </struts-config> ``` web.xml ``` <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <display-name>ncdba2_0</display-name> <servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml</param-value> </init-param> <init-param> <param-name>debug</param-name> <param-value>3</param-value> </init-param> <init-param> <param-name>detail</param-name> <param-value>3</param-value> </init-param> <load-on-startup>0</load-on-startup> </servlet> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> </web-app> ```
分页标签传参出来乱码
“搜索中文时,因为要把搜索的关键字 一直放在请求中。假如搜索的中文关键字是: "客 " 代码如下: <pg:pager items= "${page.totalCount} " url= "${ ctx }/infopush.do " index= "center " maxPageItems= "3 " maxIndexPages= "10 " isOffset= " <%= false %> " export= "pageOffset,currentPageNumber=pageNumber " scope= "request "> <pg:param name= "method " value= "infoTopicSearchAjax "/> <pg:param name= "best " value= "${ best } "/> <pg:param name= "category " value= "${ category } "/> <pg:param name= "keyword " value= "${ keyword } "/> <!--在页面里直接输出${keyword },输出的是“客”--> <pg:index> <jsp:include page= "/common/pagination/simple_ajax.jsp " flush= "true "/> </pg:index> </pg:pager> 当搜索的结果超过1页时,当点其它页(比如第2页),查看了下源代码如下: <a style= "cursor:pointer " href= "javascript:gotoPage( '/wsay/infopush.do?method=infoTopicSearchAjax&best=0&category=zhufu&keyword=%BF%CD&pager.offset=3&pageNo=2 ') "> 2 </a> 可以看到keyword的值不为“客”了,变成了“%BF%CD”。 当在后台String keyword = (String)request.getParameter( "keyword "); keyword的值不是“%BF%CD”,而是乱码: "?¨&ordf; " ,不知道其中原因。谢谢”有人知道怎么解决吗
IE6下的下载问题(把XXX放到桌面功能)
<p>如题,在FF下测试是正常的,chrome 也正常,IE7以上版本也正常,惟独IE6不行。<br><br>可在 http://www.tuanhaoduo.com 主页左上角上测试(绝非广告贴,还请管理员谅解)。<br><br>求解,谢谢了。</p> <pre name="code" class="java">@Controller @RequestMapping("/*.do") public class IndexController extends BaseController { // 省略其他无关函数 @RequestMapping public String down4desk(HttpServletRequest request, HttpServletResponse response) { response.setContentType("application/x-msdownload"); String content = ""; try { response.setHeader("Content-Disposition", "attachment;filename=" + new String("团好多.url".getBytes("gbk"), "iso-8859-1")); content = FileUtil.read(Constant.HTMLROOT + "tuanhaoduo.url", true, "UTF-8"); } catch (Exception e) { e.printStackTrace(); } return renderText(request, response, content); } }</pre>   <p><br><br><br>FileUtil类中的相关函数:</p> <pre name="code" class="java"> /** * 读取文件 * * @param filename * @param isSet * 是否需要加上换行 * @param strCode * 编码,如GBK * @return * @throws IOException */ public static String read(String filename, boolean isSet, String strCode) throws IOException { File file = new File(filename); InputStreamReader read = new InputStreamReader( new FileInputStream(file), strCode); BufferedReader reader = new BufferedReader(read); String line = ""; StringBuffer readfile = new StringBuffer(); while ((line = reader.readLine()) != null) { readfile.append(line); if (isSet) readfile.append("\r\n"); } reader.close(); read.close(); return readfile.toString(); }</pre>   <p><br><br>其中,Constant.HTMLROOT 的值从配置中取得,值为:/home/htmlfile/tuan/<br>模板语言用到了 apache volicity, 控制器用到了 springMVC。</p> <p> </p> <div class="crumbs"> <a href="../../ask">问答首页</a> <span class="arrow">→</span> <a href="../tags/Java">Java编程和Java企业应用</a> <span class="arrow">→</span> <a href="../tags/Struts">Struts</a>  </div> <div class="crumbs">把标签、技术分类弄错了,又修改不了,真是不好意思。</div> <p> </p> <p> </p>
相见恨晚的超实用网站
搞学习 知乎: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# gdi 占用内存 c#中遍历字典 c#控制台模拟dos c# 斜率 最小二乘法 c#进程延迟 c# mysql完整项目 c# grid 总行数 c# web浏览器插件 c# xml 生成xsd
立即提问