MVC-JSTL-EL-数据源-三层-sql

猫在裙角. 2020-09-07 05:00:49
三层的关系:
1.表示层接受用户的请求,根据用户请求去通知业务逻辑层
2.数据访问层收到请求后开始访问数据库
3. 下一层不能调用上一层
4. 下一层不依赖上一层
4. 上一层中不能出现下一层的慨念


实现数据源连接:DataSource (数据源是由Tomcat维护的)
(数据源通过jndi来获取数据源而不是实例化)
Context con = new InitialContext();
//通过"java:comp/env/" 为前缀来访问jndi资源
DataSource ds =(DataSource)con.lookup("java:comp/env/数据源");
Connection conn = ds.getConnection();

连接池:Tomcat
1.是由容器提供的
2.用来管理池中连接对象
3.应用程序从连接池中获取对象
4.连接池中的连接对象是由容器创建的
5.可以减轻数据库访问压力
6.存放的都是数据库连接
7.程序最后要使用Close()方法关闭连接

MVC: jsp三层架构
Serlvet控制层对象
V:表示层 (VIEW) JSP 用于显示和获取界面的数据
M:控制层 (Controller) Servlet 控制页面跳转等
C:模型层 (Model) javabean 处理上层传递的数据以及数据库获取的数据

maxActive 可以从对象池取出的最大对象数 为0表示无限制 默认为8
minldle 对象池中对象最小个数
maxidle 最大空闲连接数
validationQuery 验证连接是否成功 Sql Select指令最少返回一行
maxwait 最大等待秒数 单位ms -1为无限制

-----------------------------------------------------------------
| String contextPath = request.getContextPath(); |
| 获取项目的路径 |
-----------------------------------------------------------------

获取Servlet初始化参数:
初始化参数配置 【必须要在 一对<web-app> 里面】
<init-param>
<param-name>initParam</param-name>
<param-value>Hello Servlet</param-value>
</init-param>

获取参数:
//根据他的name来获取value
String initParam = getInitParameter( "initParam" );


获取Servlet上下文参数:
配置Servlet上下文 【必须要在 一对<web-app> 里面】
<context-param>
<param-name>contextParam</param-name> 初始化参数名
<param-value>Hello Servlet</param-value> 初始化参数值
</context-param>

获取上下文参数:
//根据参数名读取值
String contextParam = this.getServletContext().getInitParameter( "contextParam" );

------- System.out.println("Servlet初始化参数" + initParam);
------- System.out.println("系统初始化参数" + contextParam);


第八章
---------------------------------JSTL EL表达式----------------------

EL表达式简介:
1.什么是el: Expression Language(表达式语言)
2.EL的功能: 替代JSP页面中数据访问时的复杂编码
3.EL的特点: 【自动转换类型】 EL得到某个数据时可以自动转换类型 使用简单


EL表达式语法【6-1】 :
${ EL expression }
1. 通过变量名取值
2. 获取对象的属性值
3. 获取集合元素
4. 执行表达式


EL表达式语法【6-2】:
${变量名}
代码例:
// 在Servlet或JSP中保存数据
request.setAttribute("username", "LiYang");
// 在JSP中访问数据
姓名: ${username} //输出: 姓名:LiYang

按照page → request → session → application的作用域顺序依次查找,找到即返回,最终找不到返回null
指定作用域:
----------------------------------------------------------------------------------------------------------------------------
| 属性范围 EL中的名称 |
| page ageScope,例如${pageScope.username}表示在page作用域查找变量username,找不到返回null | | request requestScope |
| session sessionScope |
| application applicationScope |
----------------------------------------------------------------------------------------------------------------------------


EL表达式语法【6-3】:
获取对象的属性值: <%= ( (User) request.getAttribute("user") ) .getName() %>
点操作符 : ${user.name}
[ ]操作符 : ${user["name"]}

EL表达式语法【6-4】: 获取集合元素 List
// 在Servlet或JSP中保存数据
List names = new ArrayList();
names.add(0, "LiYang");
names.add(1,"WangHua");
request.setAttribute("names",names);
// 在JSP中访问数据
姓名:${ names[0] }<br/>
姓名:${ names[1] }<br/> 使用 [ ] 指定元素的下标

EL表达式语法【6-5】: 获取集合元素 Map
// 在Servlet或JSP中保存数据
Map names = new HashMap();
names.put("one", "LiYang");
names.put("two", "WangHua");
request.setAttribute("names", names);
// 在JSP中访问数据
姓名:${ names.one }<br/> 使用 点操作符输出
姓名:${ names["two"] }<br/> 使用 [ ]操作符输出

EL表达式语法【6-6】:
执行表达式:
1.关系操作符
2.逻辑操作符
3.empty操作符

-------------------------------------------------------------------------------------------
- 关系操作符 说明 示例 返回结果为 true -
- == eq 等于 ${5==5}或${5 eq 5} ${"a" =="a"}或${"a" eq "a"} -
- != ne 不等于 ${23!=5}或${23 ne 5} -
- < lt 小于 ${3<5}或${3 lt 5} -
- > gt 大于 ${23>5}或${23 gt 5} -
- <= le 小于等于 ${3<=5}或${3 le 5} -
- >= ge 大于等于 ${23>=5}或${23 ge 5} -
--------------------------------------------------------------------------------------------

----------------------------------------------------------------
- 逻辑操作符 说明 -
- && and 并且 条件同时成立为true -
- || or 或者 只要有一个条件成立就为true -
- ! not 非 条件结果反着来 -
----------------------------------------------------------------

------------------------------------------------------------------
- empty操作符 说明 -
- ${empty 变量} 判断是否为空 空为true 有值为false -
-------------------------------------------------------------------


EL隐式对象:
1.作用域访问对象
① pageScope
② requestScope
③ sessionScope
④ applicationScope
2.参数访问对象
① param
② paramValues
3.JSP隐式对象
① pageContext


JSTL核心标签库 导包:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>


<p>${ "<a href='http://www.baidu.com'>百度</a>" }</p> // 超链接百度

<c:out escapeXmI="false"
value="<a href='http://www.baidu.com'>百度</a>" /> //超链接百度
// escapeXmI 默认为true 为true时-----文本输出 false时----html输出
<c:out value="<a href='http://www.baidu.com'>百度</a>" /> //输出 value的所有值



<c:set var= "num" value="10" scope= "session" /> //将 值10 赋值给 变量num 作用域是Session
<c:out value= "${sessionScope .num }" /> //输出 Session作用域下的变量num的值

/*
C: choose 就是switch结构
C:when 可以写n个 跟 case一样
C: otherwise 可以写0-1个 跟default一样
整个 C: choose 里面只有一个输出
*/

<C: choose>
<C :when test= "${ sessionScope.num >10} ">
结果大于10
</c: when>

<c:when test= "${ sessionScope .num <10 } " >
结果小于10
</c :when>

<c:when test= "${ sessionScope.num ==10 }' >
结果等于10
</c :when>

<C: otherwise>
没有结果
</C: otherwise>

</C: choose>

-------------------------------------------------------------------------------------------------
<script> // jQuery代码

var bTime=result[i].bTime //获取当前的时间信息
var btime=bTime.substr(0,10); // 截取前10位 打到yyyy-mm-dd格式

/*
// yyyy-mm-mm的时间格式
//获取时间的文本
var time = $("input[name=btime]").val().trim(); //获取input标签的值
//正则表达式判断格式
var dateFormat =/^(\d{4})-(\d{2})-(\d{2})$/;
//判断时间格式是否是yyyy-mm-dd
if(!(dateFormat.test(time))){
alert("您输入的时间格式不对哦");
return false;
}

*/


//拼接字符串 循环显示内容 追加样式
//参数拼接
// <a href='bs?bid="+result[i].bId+"&mess=findByid' id='del'>删除</a></td></tr>");
var li=$("<tr><td>"+result[i].bName+"</td><td>"+result[i].bAuthor+"</td><td>"+result[i].bTime+"</td><td>"+btype+"</td><td><a href='#?bid="+result[i].bId+"' class=\"Del\">删除</a></td><input type='hidden' value='"+result[i].bId+"' class='iid'></tr>"); //自动创建li
$("#ta").append(li); //追加子节点
$("tr:even").css("background-color","#ffc0c
...全文
16 点赞 收藏 回复
写回复
回复
切换为时间正序
请发表友善的回复…
发表回复

还没有回复,快来抢沙发~

相关推荐
基于java的企业人事管理系统设计--软件工程课程设计(含源码与论文设计).rar 1 引言 4 1.1 课程设计目标 4 1.2 编程工具(编程环境)介绍 4 1.3 实施时间及主要实施步骤 4 2 需求分析 5 3 系统总体设计 6 4 数据库设计 6 5 主要功能模块的设计与实现 10 5.1 功能模块1详细设计(综合查询员工信息)..........................................................10 5.1.1 详细设计.......................................................................................................10 5.1.2 算法流程........................................................................................................15 5.1.3 界面设计及测试结果.....................................................................................15 6 调试分析 15 7 用户手册 16 8 测试结果 17 8.1 员工信息的添加...................................................................................................17 8.2 员工信息的修改...................................................................................................17 8.3 员工信息的删除...................................................................................................18 8.4 员工信息的综合查询...........................................................................................18 8.5 员工信息按性别统计的结果................................................................................19 8.6 员工信息按状态统计的结果...............................................................................19 8.7 员工信息按职称统计的结果................................................................................20 9 结论 20 10 参考文献 20
发帖
非技术区
创建于2007-09-28

2.3w+

社区成员

Java 非技术区
申请成为版主
帖子事件
创建了帖子
2020-09-07 05:00
社区公告
暂无公告