1.${SESSION_USER_V2}

会从大到小查找作用域中的attribute
PageContext PageScope
servletRequest RequestScope
httpSession SessionScope
Application/servletContext ApplicationScope


2.${param.name}

实际上是相当于request.getParameter("name")方法


3.空连接

href="#"方法:

其实也是空连接的意思,但是点击之后会自动跳转到页面的最上面,因为用了这个方法就相当于点击了一个锚记,但是这个锚记又没写ID,所以就默认跳转到页面顶部。

href="javascript:void(0);"方法:
void是一个操作符,这个操作符指定要计算一个表达式但是不返回值。如果在void中写入0(void(0)),则什么也不执行,从而也就形成了一个空链接。

#与javascript:void(0)的区别:
所以,#与javascript:void(0)的区别也很明显,#方法会跳转到页面的顶部,并且在页面URL后面会出现#,而javascript:void(0)方法不会,所以如果是空连接的话,还是推荐javascript:void(0)。



4.添加删除样式


$(function(){
$("#myArticle").click(function(){
$("#allArticle").removeClass("current");
$("#myArticle").addClass("current");//最好不要用Attr()和removeAttr(),因为css样式会继承
})
$("#allArticle").click(function(){
$("#myArticle").removeClass("current");
$("#allArticle").addClass("current");//
})

})



5.SpringMVC获取session
直接在方法上使用 HttpSession即可注入


或者注入HttpServletRequest--->再获取Session


6.拦截器配置
applicationContext.xml
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/comment*"/>
<mvc:mapping path="/article/add"/>
<mvc:mapping path="/article/myArticle"/>
<bean class="com.dooioo.samples.blog.inteceptor.LoginInteceptor" />
</mvc:interceptor>
</mvc:interceptors>

7. context root设置问题

比如我们的项目名称是myApp(即myApp文件夹下有WEB-INFO文件夹),发布在本机80端口,且context-root设置为myApp,
则访问默认欢迎页面时的url是:http://localhost:80/myApp。如果context-root设置成/,则url会变成:http://localhost:80/

1.在新建web项目时,仔细观察会有输入框提示输入context-root,如果希望url是后者的样子,则context-root框中只输入"/"即可,否则输入你想要的目录名称;

2.如果您使用eclipse开发,则在项目上右击,然后选择属性,再选择Web Project Settings,然后修改

context-root内容;若您使用myEclipse开发,则右击项目-->“Properties”-->“MyEclipse”-->“Web”,看到了吧“Context Root”选项卡里的“Web Context-root”,修改之;

8.修改eclipse虚拟机内存
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms256m
-Xmx1024m 堆内存
-XX:PermSize=512M 非堆内存
-XX:MaxPermSize=1024M

9.Target runtime Apache Tomcat v6.0 is not defined.
项目文件夹下
.settings\org.eclipse.wst.common.project.facet.core.xml文件中
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<runtime name="Apache Tomcat v6.0"/>
<fixed facet="java"/>
<fixed facet="jst.web"/>
<fixed facet="wst.jsdt.web"/>
<installed facet="java" version="1.6"/>
<installed facet="jst.web" version="2.5"/>
<installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>
删除掉 <runtime name="Apache Tomcat v6.0"/>



10. Server Tomcat v7.0 Server at localhost was unable to start within 45 seconds. If the server requires more time, try increasing the timeout in the server editor.



11. ibatis中sql语句中#与$的区别


1.#是把传入的数据当作字符串,如#user_id_list#传入的是1,2,则sql语句生成是这样,in ('1,2') ,当然不可以

2.$传入的数据直接生成在sql里,如#user_id_list#传入的是1,2,则sql语句生成是这样,in(1,2) 这就对了.

3.#方式能够很大程度防止sql注入

4.$方式无法方式sql注入

5.$方式一般用于传入数据库对象,例如传入表名



直观的说
#str# 出来的效果是 'str'
$str$ 出来的效果是 str

另外 ##只能用在特定的几个地方 $$可以用在任何地方 比如 order by $str$

你甚至可以直接写 $str$ 把 order by 这个字串放在str里传进来


12. model.addAttribute(article)

默认key为article的类型


13.springmvc的controller默认是单例的

可以加上@Scope("prototype")变为多实例的

14.<jsp:param>标签

<jsp:param>操作被用于以"名-值"对的形式为其他标签提供附加信息。
它可以和<jsp:include>,<jsp:forward>,<jsp:plugin>一起使用。


例1:实现 includeaction.jsp中展示come.jsp页面,值由主页面传入。

includeaction.jsp代码

<html><head><metahttp-equiv="Content-Type"content="text/html;charset=GB18030"><title>Include</title></head><body><%doublei=Math.random();%><jsp:includepage="come.jsp">//加载come.jsp<jsp:paramname="number"value="<%=i%>"/>//传递参数</jsp:include></body></html>


在come.jsp代码

<html><head><metahttp-equiv="Content-Type"content="text/html;charset=GB18030"><title>come</title></head><bodybgcolor=cyan><FontSize=3><%//获得includeAction.jsp传来的值:Stringstr=request.getParameter("number");doublen=Double.parseDouble(str);%>ThevalueformincludeActionis:<br><%=n%></Font></body></html>


15. return false
取消元素的默认行为


16.Ibatis中SqlMapClientTemplate和SqlMapClient的区别
SqlMapClientTemplate是org.springframework.orm.ibatis下的
而SqlMapClient是ibatis的
SqlMapClientTemplate是SqlMapClient的封装类.
SqlMapClient中包含着session的管理.
SqlMapClientTemplate用于session的封装,以及异常的捕捉.
所以按照以上的推断来说.应该尽量使用SqlMapClientTemplate.
保证session以及Exception的正常以及统一.
参考文章:
http://blog.csdn.net/wxwzy738/article/details/16953609


17.there is no statement named xxx in this SqlMap
sqlmap文件定义了namespace属性,就需要这样写:(你的namespace).(定义的statement的id),如果把namespace属性漏了,就被报此异常

<sqlMapnamespace="Category"><typeAliasalias="category"type="com.dooioo.samples.blog.model.Category"/><selectid="query"resultClass="category">select*fromcategorywherestatus!=-1</select><insertid="insert"parameterClass="category">insertintocategory(name)values(#name#)</insert><updateid="delete"parameterClass="int">updatecategorysetstatus=-1whereid=#id#</update><selectid="queryForPaginate2"parameterClass="category"resultClass="category">mst_sp_pageshowex4'$columns$','$table$','$where$','$orderBy$',$pageSize$,$pageNo$</select><selectid="count2"parameterClass="category"resultClass="integer">sp_pagecount'$table$','$where$'</select></sqlMap>




18. ibatis upadte delete insert 返回作用的行数

com.dooioo.web.converter.DyMappingJacksonHttpMessageConverter

19.HTTP400\HTTP500

HTTP400 错误的请求
HTTP500 内部服务器错误!

404请求 404状态码是一种http状态码,其意思是: 所请求的页面不存在或已被删除!
通俗的讲就是当用户输入了错误的链接时,返回的页面。

20.@ModelAttribute Article article, BindingResult result
(BindingResult result必须紧跟在@ModelAttribute后面)

21 @ModelAttribute和@Valid区别

@ModelAttribute is used to map/bind a a method parameter or method return type to a named model attribute. See @ModelAttributes JavaDoc. This is a Spring annotation.

@Valid is an annotation that marks an object for JSR-303 bean validation. See @Valids JavaDoc. It is part of JavaEE 6, but I think Hibernate has an earlier implementation that most people use instead.

The advantage of using @ModelAttribute is that you can map a form's inputs to a bean. The advantage of @Valid is that you can utilize JSR-303 bean validation to ensure that the bean that is made is validated against some set of rules.

Yes you can use @ModelAttribute and @Valid together.

JSR 303 – Bean Validation 是一个数据验证的规范

22.sqlserve服务器密码登录

http://blog.csdn.net/jufeng9318/article/details/8203780



23.EL表达式加三元表达式

<input id ="keyword" type="text" name="keyword" value="${ keyword !=null ? keyword : '输入问题关键词,如:产品线、技术分享等…' }" >

24. web.xml启动顺序
1.context-param
2.listener
3.filter
4.servlet