SpringMVC-Mybatis 个人总结
来源:互联网 发布:网上挂号预约软件 编辑:程序博客网 时间:2024/04/30 11:15
a. SpringMVC 乱码解决方法
- 修改tomact的配置文件 server.xml在 使用 URIEncoding=”UTF-8”
- 如果重定向使用
return "redirect:/brand/list.do?name"+name
//这种方法如果name 是中文的话,就会造成SpringMVC 不识别中文`,这种方式不建议被使
3. 通过ModeMap 进行传递参数,这种传递方式安全可靠,支持中文
b.火狐浏览器使用<a href="brak.do?id=1">
重复提交问题
现象:如果href的地址中有参数的话,会造成两次的提交,如果没有参数的话正常,仅仅有一次提交
方案
<a href="delete.do?id=1">删除</a>这种情况下后台会进行两次的”删除操作“
为了避免重复提交问题 通过下面的方式尽心解决
<a onclick="location.href='delete.do?id=2'" href="javascrpt:void(0)">删除</a>
c. <a href="c.html" target="mainFrame">
标签的target 属性
>
href的内容将会在target 所对应的 框架中显示,如果没有找到该框架的话,就会在一个新的窗口中显示出来
d. 在eclipse中clean 会修改原来的所有的东西,重新返回初始化状态
e.在MyBatis中 标签可以屏蔽掉 更新中的 逗号(,)
eg: update student <set> <if test="name!=null"> name=#{name}, </if> <if test="name!=null"> age=#{age}, </if> </set>
f .SpringMVC 表单提交的几种方式
第一种方法:表单提交,以字段数组接收
第二种方法:表单提交,以BeanListModel 接收
这种方法需要建立一个单独的实体类去接受 list
第三种方法:表单提交,以json对象序列化成json字符串提交
g. SpringMVC 中Model ,ModelMap 以及Map 都是针对的同一个对象
h.在Mysql数据库中只有InoDB 支持事物操作,其他的数据库引擎都不支持事物的操作
明天查找ModeAndView
i.ResultMap与ResultType 之间的区别是
resultMap 适合返回值是自定义的实体类的情况
resultType 适合返回值是数据类型的情况 即Jdk所提供的类型
<select id="selectPersonId" resultType="java.lang.Integer">
parameterMap 用来封装一些参数集合对象,可以是Bean或者是Map
reusltMap 用来封装查询结果集,type 可以是Bean,Object,
上传图片到另外的一个服务器中
1.修改server.xml 文件,把里面的
的端口号进行修改,大概有三个 ,其中第二个是我们需要的
2.默认的情况 tomcat 是不允许读写的
在tomcat的web.xml文件中添加一下代码:<init-param> <param-name>readonly</param-name> <param-value>false</param-value></init-param>
MultipartFile类中两个方法的区别
getName 获取表单中文件组件的名字
getOriginalFilename :获取上传文件的原名
配置SpringMVC上传图片功能一定需要配置
<bean id="multipartFile" class="org.springframework.web.multipart.commons.CommonsMultipartFile"><!-- 上传大小限制是1M 单位是byte --><property name="maxUploadSize" value="1048576" /></bean>
注意这里面的id= multipartFile这是死规定
如果没有配置的话 获得上传文件的、名称会一直报空指针
name like “%”#{name}”%”
MyBatis 实现模糊查询的两种方式 1.name like "%${name}%" 2.name like "%"#{name}"%" $("#tab a") 表示找到以id=tab 下的所有<a>标签 $("#tab").attr("class").indexof("here") 表示获取id=tab的标签下class 中here 的位置,如果没有找到的话返回的是-1 找到的话返回的是 返回here的所在位置>eg:<a id="tab" class="here"> 此时返回的是0> <a id="tab" class="ahere"> 此时返回的是1
使用FCK主要是连个文件
第一个文件 1. fckeditor.js
2.fckconfig.js
SpringMvc 返回url给fck
java-core-2.6.jar 这个就是java适合fck 的夹包
response.getWriter().write() 与out.print()区别
write()仅仅支持字符类型的数据,字符,字符数组,字符串等
print()可以支持各种类型(包括对象),通过默认的编码转换成byte字节形式
response.getWriter() 和out的区别
out.是一个jspWriter, 另外jspWriter 是个带缓存功能的printWriter,他不是直接把数据输出到页面,而是将数据刷新到Responsede 缓存区后再输出,out同时也是jsp内置对象
out.println(“”)此方法不能把页面进行换行
out.println(““);该方法能够实现页面布局的换行
response.getWriter 是java.io.PrintWriter 所以他是直接输出
Mybatis 生成主键并且返回 #
主要是利用useGeneratedKeys=“true” keyProperty=”id” 表示把生成的主键复制给id
<insert id="addProduct" parameterType="Product" useGeneratedKeys="true" keyProperty="id">
400错误总结
关于400错误总结,官方解释是:传递的Url语法错误实际的编码中的错误是 既想用post 提交,有需要通过get方式那样在url 中添加一些参数, 如果在url 添加参数过程中,不能有和url相同的clss 的参数,否则400错误稳稳的都是爱eg: UrL:这样show.do?name="+name+"&isShow="+isShow+"&pageNo="+pageNo form 表单中这样 <form id="jvform"><input type="hidden" name="pageNo" /> //此时url里面的pageNo与隐藏域的pageNo重复会造成表单提交错误2016/6/17 星期五 下午 1:55:53 搞了老子一个上午时间,fack </form>
SpringMvc 为了能够添加页面缓存 设置/product/display/display.shtml
注意 在页面上写跳转语句的时候,一定需要在语句末尾添加上分号,
<%response.sendRedirect(“/product/display/list.shtml”); %>
Http state500 --unable to compile class for jsp表示编译jsp 页面出现的错误,可能是没有添加逗号
javacError 表示java 编译错误
JQuery改变disabled 的状态
设置input框可用
1.(“#input”).attr(“disabled”,true);
2.(“#input”).removeAttr(“disabled”);
3.(“#input”).attr(“disabled”,”“);
设置input 框不可用(“#input”).attr(“disable”,false);
$(“#input”).attr(“disable”,”disabled”);
$.post(url,params,function(data){},'json'); 这个是异步提交,注意后面的参数类型$('#test').ajaxSubmit(otpion);//这个是表单异步提交
OScache介绍
OSCached 使用页面缓存机制是以 key-value 对的形式存在的
引入的标签
<%@taglib uri=”http://www.opensymphony.com/oscache” prefix=”oscache”%>
Key是url 如果指定key 的话,那么变化路径就会刷新 time 指定时间的刷新时间
value 是页面如jsp,html
优点:防止恶意的请求刷新
缺点:数据不同步,需要设置数据同步的时间
存储的域是:ApplicationContext
Session 与Cookie的区别
1.Session将信息保存在服务器上,cookie 保存在客户端上2.session 比cookie 更安全,session比cookie更占资源,所以可以放入到memcached中3.session使用cookie的机制,如果cookie被禁用,那么session也无法使用,因为sessionID是以cookie 的形式保存在客户端的内存当中
SpringAop 详解
1.AOP(Aspect Orient Programming) 面向切面编程,面向对象编程是从静态的角度考虑程序架构,面向切面编程(AOP)是从动态角度考虑程序运行过程2. 环绕通知的方法,第一个参数定义为org.aspectj.lang.ProceedingJoinPoint3. 前置通知和后置通知的方法,第一个参数定义为org.aspectj.lang.JoinPoint4. advice (通知),在切面类中,声明对业务方法做额外处理的方法 before advice前置通知 前置通知接口MethodBeforeAdvice后置通知接口AfterReturningAdvice环绕通知接口MethodInterceptor环绕通知与前置通知,后置通知的区别1.环绕通知能够控制目标方法是否被调用,通过过invocation.proceed()2.环绕通知可以控制返回值,可以返回一个proceed() eg public Object invoke(MethodInvocation invocation) throws Throwable{ Object object=invocation.proceed();//此句执行业务逻辑方法return obj;} 环绕通知基本上就可以取代前置通知和后置通知前置通知使用的是<aop:before method="doBefore" point="exectuion(..)"><aop:after method="doBefore" point="exectuion(..)"><aop:around method="doBefore" point="exectuion(..)"> 再通知方法里获得一些东西 主要是通过接入点joinPoint或者是ProceedingJoinPoint来获得的获得包名+类名 joinPoint.getTarget().getClass().getName();获得方法名 joinpoint.getSignature().getName();获得方法里面的参数,获得参数以后可以序列化成json字符串进行传递 joinPoint.getArgs();
- SpringMVC-Mybatis 个人总结
- SSM(Spring+SpringMVC+MyBatis)开发框架的搭建个人总结
- SpringMVC细节 :个人总结
- SpringMVC个人零碎总结
- SpringMVC个人总结
- SpringMVC个人零碎总结
- SpringMVC个人零碎总结
- SpringMVC 框架个人总结
- SpringMVC个人总结1
- SpringMVC个人零碎总结
- Mybatis个人总结
- Mybatis部分 个人总结
- Mybatis框架个人总结
- Ehcache整合springmvc 个人总结
- springmvc+mybatis整合问题总结
- springmvc+mybatis框架学习总结
- Spring SpringMVC Mybatis项目总结
- 关于Mybatis框架的个人总结
- make exception by masm
- 保存数据到SD卡
- Hbase_shell底层源码乱砍乱伐--59
- windows8 安装教程
- 获取手机存储空间信息
- SpringMVC-Mybatis 个人总结
- 进程间通信(IPC)之共享内存
- Android中Bitmap, Drawable, Byte,ID之间的转化
- Hbase事例基本方法--60
- Nginx
- 用IDEA追忆一下童年
- Android 按钮事件两种经典写法
- 面向对象和面向过程
- C 语言的运算符表达式 if switch while