MVC 三层架构 事务
来源:互联网 发布:mac lightroom 破解 编辑:程序博客网 时间:2024/05/12 10:13
批处理
Statement addBatch(sql); //添加SQL命令executeBatch()方法:执行批处理命令clearBatch()方法:清楚批处理命令
JDBC获取主键和调用存储过程
st=conn.prepareStatement(sql);st.excuteUpdate();rs=st.getGenerateKeys();if(rs.next()){ System.out.println(rs.getInt(i));}//存储过程//1.得到CallableStatement,并调用存储过程:CallableStatement cStmt=conn.prepareCall("{call demoSp(?,?)}");//2.设置参数,注册返回值,得到输出cStmt.setString(1,"abcdefg");cStmt.registerOutParameter(2,Types.VARCHAR);cStmt.execute();System.out.println(cStmt.getString(2));
MVC开发模式
JavaBean–>Model
Jsp–>View
Sevlet–>Controller
Web层
业务逻辑层
数据访问层(dao层)
分包:
domain
dao
dao.impl
service
service.impl
web.controller
web.listener
web.filter
utils
Junit.test
WEB-INF/jsp 保存网站所有jsp
EL表达式和JSTL
EL表达式${标识符}==pageContext.findAttribute()方法
用el表达式在取数据时,通常用“.”号,“.”号取不出来时,用“[]”
${pageContext.request.contextPath} //得到当前web应用的路径名称
JSTL:使用JSTL步骤:
- 1.导入jstl.jar和standerd.jar这两个JSTL的jar文件。
- 2.在JSP页面中使用<%@tablib uri=”” prifix=”“%>元素导入标签库。
<c:forEach var="person" items="list"> ${person.name} </c:forEach> <c:forEach var="entry" items="${map}"> ${entry.key} : ${entry.value.name} </c:forEach> <c:if test="${user!=null}"> 欢迎那您:${user.username} </c:if>
MVC与三层架构
1.搭建开发环境
1.1导开发包
- dom4j
- jstl
- beanUtils
- log4j
1.2创建组织程序的包
- domain
- dao
- dao.impl
- service
- service.impl
- web.controller(处理请求的servlet)
- UI(给用户提供用户界面)
- utils
- junit.test
- WEB-INF/jsp
事务
逻辑上的一组操作,要不全部成功,要不全部失败
start transaction; 开启事务
commit; 提交事务
rollback; 回滚事物
setAutoCommit(false); 开启事务
手动回滚后,一定要记得提交事务
特性:
- 原子性(A)
- 一致性 (C)
- 隔离性 (I)
- 持久性 (D)
脏读: 读取到了一个事务未提交的数据
不可重复读: 读取到了一个事务提交的数据
虚读(幻读): 读取到了别人插入的数据
ServletConfig
servletConfig对象,用于封装servlet的配置信息
在实际开发中,有一些东西不适合在servlet程序中写死,这类数据就可以通过配置方式配给servlet,例如 servlet采用哪个码表 servlet连接哪个库 servlet哪个配置文件
获取< init-param>里的初始化参数
//得到指定的
String value=this.getServletConfig( ).getInitParameter( ” data”);
System.out.println( value);
//得到所有的
Enumeration e= this.getServletConfig( ).getInitParameterNames( );
while( e.hasMoreElements( )){
String name=( String)e.nextElement( );
String value1=this.getServletConfig( ).getInitParameter( name);
System.out.println( name+” =”+value1);
}
乱码:
pageEncoding=” ” 通知web服务器已什么码表来翻译成Servlet
contentType=” ” 通知浏览器打开使用的码表
记事本 国标2312
java ISO8859-1
pageContext对象
page域作用范围为当前jsp页面
request.setAttribute( ” data”,” aaaa”);
String data=( String)pageContext.getAttribute( ” data”,PageContext.REQUEST_SCOPE);
out.write( data);
pageContext.findAttribute( ” data”); //page request session application
pageContext.forward( ” /1.jsp”);
pageContext.include( ” /foot.jsp”)
- MVC 三层架构 事务
- 三层架构和事务
- 什么是MVC(三层架构)
- MVC(三层架构)
- 什么是MVC(三层架构)
- 三层架构和MVC
- 什么是MVC(三层架构)
- 三层架构与MVC
- 三层架构与MVC
- 三层架构和MVC
- MVC与三层架构
- 三层架构与MVC
- 三层架构与MVC
- 三层架构与MVC
- MVC与三层架构
- MVC和三层架构
- MVC和三层架构
- MVC的三层架构
- 初窥Linux 之 我最常用的20条命令
- Linux:安装Redis和PHP操作Redis
- 第一行代码学习2(5)
- 打开外部程序
- 去掉signalserver,接收对方发起的连接ping一段时间就IceConnectionState变为kIceConnectionFailed
- MVC 三层架构 事务
- C++提供的四种新式转换
- 浅谈Linux
- VirtualBox内Linux系统怎样与Windows共享文件
- 系统运行位置
- Mac上使用Python
- java笔记 类中不能直接调用方法
- C++ 11相关知识学习
- python--数据结构