`
Inmethetiger
  • 浏览: 112139 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

编程心得第一期--2012-11-12

 
阅读更多

   注:以下这些是编程过程中遇到的一些问题。有的小到只要到网上一搜或者在官方文档里面一翻就能找到答案,有的却是自己花了一点时间去实验,最后才得到的一点结果。不过现在我把这些小的或者大的都放到这里。主要是为了自己能方便的记忆。那些很容易的记住的就当做知识点,那些实验了的结论就当做备忘。

第一期

   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

 

 

 

 

 

 

0
0
分享到:
评论

相关推荐

    关于C++的编程心得

    《关于C++的编程心得》是一本由林锐博士编写的高质量C++/C编程指南,旨在帮助程序员避免常见的编程错误,提升代码质量和可维护性。该书在2001年7月24日完成了v1.0的正式版本,经过了林锐的起草和朱洪海的审查,确保...

    编程之法:面试和算法心得 清晰完整版

    本书第1章至第6章分别阐述字符串、数组、树、查找、动态规划、海量数据处理等相关的编程面试题和算法,第7章介绍机器学习的两个算法—K近邻和SVM。 此外,《编程之法:面试和算法心得》每一章都有“举一反三”和...

    VHDL语言100例源码 VHDL学习资料VHDL 编程要点VHDL编程心得体会.zip

    第1例 带控制端口的加法器 第2例 无控制端口的加法器 第3例 乘法器 第4例 比较器 第5例 二路选择器 第6例 寄存器 第7例 移位寄存器 第8例 综合单元库 第9例 七值逻辑与基本数据类型 第10例 函数 第11例 七值逻辑线或...

    Mac编程入门资料(Objective-C)

    1. HelloWorld:创建第一个Objective-C程序,了解基本的语法和工程结构。 2. 简单应用:尝试开发一个简单的macOS或iOS应用,如计时器、计算器等,加深对语言特性的理解。 3. 深入学习:逐步学习Cocoa或Cocoa Touch...

    C和C++编程心得

    ### C和C++编程心得 #### 一、开始之前 **FAQ那是什么** - **定义**: FAQ代表“Frequently Asked Questions”,即常见问题解答。它是一种由专家或有经验的人整理出来的一系列常见问题及其答案的集合,目的是帮助...

    C和C++编程心得—前人的经验总结

    ### C和C++编程心得—前人的经验总结 #### 一、开始之前 **FAQ那是什么** FAQ(Frequently Asked Questions)是指常见问题解答。它通常由社区中的专家或者有经验的人整理出来,目的是为了方便解答新手们经常会问...

    程序员编程艺术:面试和算法心得.pdf

    第一部分 数据结构 • • • 第一章 字符串 o 1.0 本章导读 o 1.1 旋转字符串 o 1.2 字符串包含 o 1.3 字符串转换成整数 o 1.4 回文判断 o 1.5 最长回文子串 o 1.6 字符串的全排列 o 1.10 本章习题 第二章 数组 ...

    大数据实验四-MapReduce编程实践

    1. **编写Map处理逻辑**:设计一个Map函数,负责读取输入文件中的每一行数据,将其拆分为单词,并为每个单词分配一个初始计数值(通常是1)。 2. **编写Reduce处理逻辑**:设计一个Reduce函数,对中间结果进行汇总,...

    《Oracle9i&10g编程艺术》学习心得

    ### 《Oracle9i&10g编程艺术》学习心得 #### 一、前言 在深入探讨《Oracle9i&10g编程艺术》这本书的内容之前,有必要先对该书及作者进行简要介绍。该书由Thomas Kyte撰写,他是Oracle领域的权威专家之一,以其深厚...

    精品专题(2021-2022年收藏)XX数控编程实习心得体会.docx

    - 安全意识:在实际操作中,安全永远是第一位,严谨的操作态度能避免潜在风险。 通过这次实习,学员不仅提升了数控编程的技术水平,也锻炼了问题解决能力和团队协作精神。同时,理论与实践的结合让学员对数控编程...

    c++ primer plus第五版源代码与编程心得

    总之,《C++ Primer Plus 第五版》的源代码与编程心得是学习C++的宝贵资源。通过阅读和实践,我们可以深化对C++语言的理解,提升编程技巧,并且吸取前人的经验教训,避免在编程旅程中走弯路。这本书不仅适合初学者,...

    Java入门缓冲区溢出编程心得

    ### Java入门缓冲区溢出编程心得 #### 缓冲区溢出原理与实践 缓冲区溢出是一种常见的安全漏洞,通常发生在程序试图将过多的数据写入一个固定大小的内存区域时。这种行为可能会覆盖相邻的内存空间,从而导致程序...

    《编程之法:面试和算法心得2》算法心得

    ### 《编程之法:面试和算法心得2》算法心得 #### 第四章 查找匹配 本章节主要探讨了两种常见的查找技术:有序数组的查找和行列递增矩阵的查找。这两种查找方法不仅在面试中频繁出现,而且在实际开发过程中也具有...

    swift-iOSSwiftObjective-C心得

    在Swift开发中,`Zen Master`这一概念可能是指对Swift编程的精通程度,或者是一个特定的开发项目或教程的代称。在学习Swift的过程中,理解并掌握其核心原则,比如类型安全、内存管理(ARC)、闭包和延迟计算属性...

    编程之法:面试和算法心得.pdf

    《编程之法:面试和算法心得》一书专门在第六章介绍了关于海量数据处理的相关内容,旨在帮助读者掌握处理大数据的基本方法和技术。 #### 二、处理海量数据的典型方法 书中提到了十种处理海量数据的典型方法: 1. ...

    MATLAB编程心得.doc

    ### MATLAB编程心得知识点详解 #### 一、MATLAB的帮助与文件处理 1. **Helpwin与Doc的区别**: - `helpwin`主要用于查找MATLAB中的函数,它可以帮助用户找到特定的功能,但功能相对有限。 - `doc`提供更全面的...

    July著《编程之法:面试和算法心得》完整扫描版

    本书第1章至第6章分别阐述字符串、数组、树、查找、动态规划、海量数据处理等相关的编程面试题和算法,第7章介绍机器学习的两个算法—K近邻和SVM。  此外,《编程之法:面试和算法心得》每一章都有“举一反三”和...

    IOS开发-开发心得-技术栈-初学者-学习路线-开发原则

    苹果的官方文档与指南是获取权威信息的第一手来源,通过它们可以深入理解iOS开发的最佳实践与规范。 #### 二、精通Swift或Objective-C 对于iOS开发者而言,掌握Swift或Objective-C是必不可少的技能之一。Swift作为...

    电脑报2018第28期-2018年7月16日

    在那一期中,也许会有针对Java、Python等编程语言的最新特性的解析,或者是针对流行的开发框架如Angular、React的使用心得。 网络安全版块是《电脑报》的另一大特色,它不仅提供网络安全知识,还介绍常见的网络威胁...

Global site tag (gtag.js) - Google Analytics