0926
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了0926相关的知识,希望对你有一定的参考价值。
Spring:
Ioc:接口注入,setter方法注入,构造器Constructor注入:(1)索引
(2)名称
Ioc容器是Spring的核心容器将创建对象并管理他们从创建到销毁
Aop:切面思想:日志,事物(特性:隔离,传播):
事物被视为单一的工作单元操作序列,这些操作要么完整的执行,要么完全不执行 用四个关键字描述:ACID
原子性:事务应该当作一个单独单元的操作,这意味着整个序列操作要么是成功,要么是失败的。
一致性:这表示数据库的引用完整性的一致性,表中唯一的主键等。
隔离性:可能同时处理很多有相同的数据集的事务,每个事务应该与其他事务隔离,以防止数据损坏。
持久性:一个事务一旦完成全部操作后,这个事务的结果必须是永久性的,不能因系统故障而从数据库中删除。
通过sql发布事物到数据库:(1)begin transation开启事物
(2)使用sql执行各种操作
(3)如果所有的操作都成功就执行提交 否则回滚操作
springMVC:提供了模型-控制-视图的体系的灵活开发:
模型M:封装了应用程序的数据,通常他们由POJO组成 除controller和jsp
视图V:主要用于呈现模型层数据,并且通常生成客户端浏览器可以解析的html输出 有jsp html
控制C:主要处理各种请求,并且构建合适的模型并传递到视图呈现 controller层
<context:component-scan>扫描controller层注解
<mvc:annotation-driven> 请求映射,数据绑定
文件上传:
文件上传加enctype="multipart/form-data" (因为普通表单提交不用提供流的支持,一般都用不到配置,所以默认是普通表单提交
当涉及到图片上传时,需要流的支持,所以要用到这种提交方式,他继承了普通提交的方法,所以也支持普通表单提交)
发布项目:
怎么直接访问项目名就能可以访问到后台的方法?
(1)可以通过<mvc:view-controller path="/" view-name="redirect:/index"/>配置在springMVC中,这样访问项目就可以直接访 问到后台的index方法(但是web.xml中的拦截路径只能是/拦截所有)
(2)还可以直接访问到index.jsp页面,在index.jsp页面中用<jsp:forward>标签直接转发到后台方法。
将项目发布到tomcat中webapps下的ROOT中可以直接通过ip+端口访问到项目(正规发布项目)
静态资源:
我们通常会遇到这样的情况,我们在配置springMVC的核心控制器的时候,基于rest风格通常会拦截所有路径/但是这样的话我们的一些静态文件
也会被拦截,我们就要处理,有三种方式
1、使用默认使用静态资源问题,<mvc:default-servlet-handler/>,此方法就相当于降级处理,就是如果list.action静态文件找不着,就会去使用默认的list.jsp或者list.html中加载,如果路径正确那么就可以加载进来
2、<mvc:resources mapping="/eazyui/**" location="/eazyui/" />使用这种方式可以放过指定规则的路径,这样也可以解决静态资源被拦截
3、可以在web.xml中配置servlet-mapping将指定后缀的静态资源放过
xml(可扩展标记语言):
XSD是指XML结构定义,XML Schema 是DTD的替代品,xsd用于检验xml中的格式是否正确和检查标签的正确性,xsd可以定义xml中的标签、属性、
子元素、子元素的数量、子元素的顺序、元素是否为空、元素和属性的数据类型、元素或属性的默认和固定值。
String的20个属性
1、length() 字符串的长度
2、charAt() 截取一个字符
例:char ch;
ch="abc".charAt(1); 返回‘b‘
3、 getChars() 截取多个字符
void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)
sourceStart指定了子串开始字符的下标,sourceEnd指定了子串结束后的下一个字符的下标。因此, 子串包含从sourceStart到sourceEnd-1的字符。接收字符的数组由target指定,target中开始复制子串的下标值是targetStart。
例:String s="this is a demo of the getChars method.";
char buf[]=new char[20];
s.getChars(10,14,buf,0);
4、getBytes()
替代getChars()的一种方法是将字符存储在字节数组中,该方法即getBytes()。
5、equals()和equalsIgnoreCase() 比较两个字符串
比较当前字符串和参数字符串,在两个字符串相等的时候返回true,否则返回false。
6、compareTo()和compareToIgnoreCase() 比较字符串
对字符串内容按字典顺序进行大小比较,通过返回的整数值指明当前字符串与参数字符串的大小关系。若当前对象比参数大则返回正整数,反之返回负整数,相等返回0。
7、startsWith()和endsWith()
startsWith()方法决定是否以特定字符串开始,endWith()方法决定是否以特定字符串结束
String str = "student";
str.contains("stu");//true
str.contains("ok");//false
8、equals()和==
equals()方法比较字符串对象中的字符,==运算符比较两个对象是否引用同一实例。
例:String s1="Hello";
String s2=new String(s1);
s1.eauals(s2); //true
s1==s2;//false
9、indexOf()和lastIndexOf()
indexOf() 查找字符或者子串第一次出现的地方。若没有出现则返回-1。
lastIndexOf() 查找字符或者子串是后一次出现的地方。若没有出现则返回-1。
10、substring()
它有两种形式,第一种是:String substring(int startIndex)
第二种是:String substring(int startIndex,int endIndex)
11、concat() 连接两个字符串
12 、replace() 替换
它有两种形式,第一种形式用一个字符在调用字符串中所有出现某个字符的地方进行替换,形式如下:
String replace(char original,char replacement)
例如:String s="Hello".replace(‘l‘,‘w‘);
第二种形式是用一个字符序列替换另一个字符序列,形式如下:
String replace(CharSequence original,CharSequence replacement)
13、trim() 截去字符串两端的空格,但对于中间的空格不处理。
14、valueOf() 转换为字符串
15、toLowerCase() 转换为小写
16、toUpperCase() 转换为大写
17、split 分隔
String str = "asd!qwe|zxc#";
String[] str1 = str.split("!|#");//str1[0] = "asd";str1[1] = "qwe";str1[2] = "zxc";
form表单标签的enctype属性的作用
一、 application/x-www-form-urlencoded
这是通过表单发送数据时默认的编码类型。我们没有在from标签中设置enctype属性时默认就是application/x-www-form-urlencoded类型的。application/x-www-form-urlencoded编码类型会把表单中发送的数据编码为名称/值对。这是标准的编码格式。当表单的ACTION为POST的时候,浏览器把form数据封装到http
body中,然后发送到服务器。当表单的ACTION为GET的时候,application/x-www-form-urlencoded编码类型会把表单中发送的数据转换成一个字符串(name=coderbolg&key=php),然后把这个字符串附加到URL后面,并用?分割,接着就请求这个新的URL。当我们通过POST方式向服务器发送AJAX请求时最好要通过设置请求头来指定为application/x-www-form-urlencoded编码类型。方法是在xmlobject.open()方法之后添加
- xmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded")
不然服务器会接收不到POST过来的数据。
二、 multipart/form-data
这个是专门用来传输特殊类型数据的,如我们上传的非文本的内容,比如图片或者MP3等。这种编码类型不对字符编码,数据通过二进制的形式传送到服务器端,这时如果用request是无法直接获取到相应表单的值的,而应该通过stream流对象,将传到服务器端的二进制数据解码,从而读取数据。
三、 text/plain
数据以纯文本形式进行编码,其中不含任何控件或格式字符。
以上是关于0926的主要内容,如果未能解决你的问题,请参考以下文章