注:以下这些是编程过程中遇到的一些问题。有的小到只要到网上一搜或者在官方文档里面一翻就能找到答案,有的却是自己花了一点时间去实验,最后才得到的一点结果。不过现在我把这些小的或者大的都放到这里。主要是为了自己能方便的记忆。那些很容易的记住的就当做知识点,那些实验了的结论就当做备忘。
第一期
Q1:<mvc:annotation-driven>是什么?
A1:相当于注册了DefaultAnnotationHandlerMapping(实现类型级别的注解)和AnnotationMethodHandlerAdapter(实现方法级别的注解)
Q2:<context:component-scan>
A2:用来包扫描。这个还有其他的意义,暂时不写,因为还不是很懂
Q3:<context:annotation-cofig>
A3:表示注册了一下bean:
AutoWireAnnotaitionBeanPostProcessor --@Autowired.
CommonAnnotationBeanPostProcessor --@Resource @PostConstruct @PreDestroy
PersisternceAnnotationBeanPostProcessor --@PersistenceContext
RequireAnnotationBeanPostProcessor --@Required
如果使用了<context:component-scan>则 这个可以不写。
Q4:<context:component-scan> <mvc:annotation-driven> <context:annotation-cofig>三者之间怎么搭配?
A4:如果使用了<context:component-scan>则<context:annoation-config>可以省略。那么就只要考虑前面两者。试了一下。全部放在[servlet-name]-servlet.xml中或者applicationContext.xml中是可以的。只是。如果<context-component-scan>放在applicationContext.xml,而将<mvc:annotaiton-driven>放到[servlet-name]-servlet.xml中,则不行。
T:两者放到一起可以理解。因为[servlet-name]-servlet.xml是applicationContext.xml的子WebApplicationContext。但是分开为什么不行。这个还要思考。
Q5:在类上加@RequestMapping和在方法上加@RequestMapping有何区别
A5:首先是,对应的类不同。在类上,处理的是DefaultAnnotationHandlerMapping,在方法上是AnnotationMethodHandlerAdapter。这个在Q1上有说明那个。其次:如果在类上有这样的一个请求@RequestMapping("/simple")。 在方法上有这样的几个请求@RequestMapping("/index.do"),@RequestMapping("/login.do")。则访问方法上的请求时,simple/index或者simple/login。即:都以类上的请求作为根(这个也不能说是根)
Q6:如果项目中是这样的,该怎么访问路径:
WebContext
----users
--admin
--images
--js
--WEB-INF
--admin
--index.jsp
--adduser.jsp
A:在Controller中。return adduser。访问根目录。admin/aduser,访问admin/adduser。admin/WEB-INF/adduser。就是访问WEB-INF/admin/adduser.jsp
前提:org.springframework.web.servlet.view.InternalResourceViewResovler的prefix的属性为"/"
Q7:在使用spring的时候,通过getBean取到的bean不匹配、
A7:应该返回接口,IService s = ctx.getBean("name",IService.class)。而不是getBean("name",ServiceImpl)。当然,这是在有接口的情况下。
Q8:在@RequestParam("param")的时候,如果没有传递参数怎么办?
A8:可以使用他的requried=false(这个是好久之前遇到的问题了)
Q9:在搭建Maven web项目的时候,为什么不能出来web app的骨架(就是有那个webapp)的那个
A9:不选择骨架(quick-start)都不需要。点击simple,将打包方式改成war。(这是用eclipse的Maven插件来做的)
Q10:自定义异常时,在其他程序中throw new MyException,却还是要提示需要使用try catch
A10:自定义异常extends RunTimeException 而不是 Exception。
Q11:出现版本冲突,但经过排查发现并没有冲突发生
A11:使用Maven的 clean install命令。
Q12:前台使用UTF-8。后台spring mvc @ResponseBody返回数据是乱码?
A12:1:提交方式用post 。其次,@ResponseBody默认编码是ISO-8859-1。在[servlet-name]-serlet.xml中配置bean:AnnotationMethodHandlerMapping。里面有个属性可以覆盖。网上有例子。
Q13:用svn删除某个文件夹后,有时候提交出现异常。
A13:在svn确定要删除某个文件夹的话,删掉后马上提交。如果忘记提交,则先revover(恢复),然后删除+提交
Q14:Struts blank包下的例子运行不了,报找不到路径
A14:将struts.xml example.xml放到src下。而不是之前放的地方。因为,你如果把他放到eclipse中的话,class下面的会重新编译。
Q15:使用淘宝,怎样取消登录短信验证
A15:我的淘宝---操作保护设置--设置--操作保护--登录---按照提示
Q16:路径问题:比如在admin/login.jsp下发起请求<action = "login.do"。则页面跳转路径是:http://localhost:8080/myApp/admin/login.do。而我需要的是跳转是 /myApp/login.do。(即从跟路径开始)
A16:在action中这样写:<action ="./login.do" 当然,也可以获取项目名。其中要表达的是跟路径为./
Q17:不能运行struts2-showcase
A17:因为我复制到eclipse后,先构建,然后清理,web-app下的classes清空了,所以不行。必须要包那个class中的文件放到src目录下。这个和Q14类似。
Q18:spring 的mapping
A18: href="<c:url value='/simple.'"> ---- myApp/simple
href="/simple" 则不行。应该是./simple (也是路径问题)
Q19:在powerdesinger的类图中,继承和实现分别选哪个个?
A19:在powerdesinger的类图中,继承和实现都用Generalization。软件能自动识别
Q20:idref 和ref区别在哪里?
A20:idref是引用另外一个bean的bean name。而ref则是直接引用一个bean
Q21:@Respository,@Component我们一般在需要自动扫描的类上写上这样的注解,但是在接口上要写吗?
A21:类似必须要写(如果不使用component-scan则另当别论)。接口上则不必要写。
T:因为接口是无法实例化的,所以写了也没用。因为写这个相当于初始化的时候实例化标注了该注解的类。但是接口是无法实例化的。所以,不需要写。
Q22:@Controller @Respoty @Service @Component 与Autowired
A22:前面的那些主要是用spring mvc 和component-scan中。后者主要是IOC中(当然,这个说法并不准确。只是让我区分)
Q23:使用mysql练习spring 的事务,发现控制台中,数据已经回滚了, Rolling back JDBC transaction on Connection 。但是数据库中仍然插入
A23:mysql的root账户,是自动提交的。所以,要设置,或者选择另外的数据库。后面用sqlite和postgre试了一下。事务回滚后,数据库中的数据也就删除了。
Q24:spring中配置占位符?
A24:<context:property-placeholder location="classpath:jdbc.properties" />或者
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<value>/WEB-INF/jdbc.properties</value>
</property>
</bean>
http://inmethetiger.iteye.com/blog/1733222
分享到:
相关推荐
本书第1章至第6章分别阐述字符串、数组、树、查找、动态规划、海量数据处理等相关的编程面试题和算法,第7章介绍机器学习的两个算法—K近邻和SVM。 此外,《编程之法:面试和算法心得》每一章都有“举一反三”和...
第1例 带控制端口的加法器 第2例 无控制端口的加法器 第3例 乘法器 第4例 比较器 第5例 二路选择器 第6例 寄存器 第7例 移位寄存器 第8例 综合单元库 第9例 七值逻辑与基本数据类型 第10例 函数 第11例 七值逻辑线或...
1. HelloWorld:创建第一个Objective-C程序,了解基本的语法和工程结构。 2. 简单应用:尝试开发一个简单的macOS或iOS应用,如计时器、计算器等,加深对语言特性的理解。 3. 深入学习:逐步学习Cocoa或Cocoa Touch...
第一部分 数据结构 • • • 第一章 字符串 o 1.0 本章导读 o 1.1 旋转字符串 o 1.2 字符串包含 o 1.3 字符串转换成整数 o 1.4 回文判断 o 1.5 最长回文子串 o 1.6 字符串的全排列 o 1.10 本章习题 第二章 数组 ...
### 《Oracle9i&10g编程艺术》学习心得 #### 一、前言 在深入探讨《Oracle9i&10g编程艺术》这本书的内容之前,有必要先对该书及作者进行简要介绍。该书由Thomas Kyte撰写,他是Oracle领域的权威专家之一,以其深厚...
- 安全意识:在实际操作中,安全永远是第一位,严谨的操作态度能避免潜在风险。 通过这次实习,学员不仅提升了数控编程的技术水平,也锻炼了问题解决能力和团队协作精神。同时,理论与实践的结合让学员对数控编程...
总之,《C++ Primer Plus 第五版》的源代码与编程心得是学习C++的宝贵资源。通过阅读和实践,我们可以深化对C++语言的理解,提升编程技巧,并且吸取前人的经验教训,避免在编程旅程中走弯路。这本书不仅适合初学者,...
### Java入门缓冲区溢出编程心得 #### 缓冲区溢出原理与实践 缓冲区溢出是一种常见的安全漏洞,通常发生在程序试图将过多的数据写入一个固定大小的内存区域时。这种行为可能会覆盖相邻的内存空间,从而导致程序...
### 《编程之法:面试和算法心得2》算法心得 #### 第四章 查找匹配 本章节主要探讨了两种常见的查找技术:有序数组的查找和行列递增矩阵的查找。这两种查找方法不仅在面试中频繁出现,而且在实际开发过程中也具有...
在Swift开发中,`Zen Master`这一概念可能是指对Swift编程的精通程度,或者是一个特定的开发项目或教程的代称。在学习Swift的过程中,理解并掌握其核心原则,比如类型安全、内存管理(ARC)、闭包和延迟计算属性...
《编程之法:面试和算法心得》一书专门在第六章介绍了关于海量数据处理的相关内容,旨在帮助读者掌握处理大数据的基本方法和技术。 #### 二、处理海量数据的典型方法 书中提到了十种处理海量数据的典型方法: 1. ...
### MATLAB编程心得知识点详解 #### 一、MATLAB的帮助与文件处理 1. **Helpwin与Doc的区别**: - `helpwin`主要用于查找MATLAB中的函数,它可以帮助用户找到特定的功能,但功能相对有限。 - `doc`提供更全面的...
本书第1章至第6章分别阐述字符串、数组、树、查找、动态规划、海量数据处理等相关的编程面试题和算法,第7章介绍机器学习的两个算法—K近邻和SVM。 此外,《编程之法:面试和算法心得》每一章都有“举一反三”和...
苹果的官方文档与指南是获取权威信息的第一手来源,通过它们可以深入理解iOS开发的最佳实践与规范。 #### 二、精通Swift或Objective-C 对于iOS开发者而言,掌握Swift或Objective-C是必不可少的技能之一。Swift作为...
编程之法 面试和算法心得。 涉及面试、算法、机器学习三个主题。...本书第1章至第6章分别阐述字符串、数组、树、查找、动态规划、海量数据处理等相关的编程面试题和算法,第7章介绍机器学习的两个算法—K近邻和SVM。