name="zk"//DataSource名
type="javax.sql.DataSource"driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
//连接哪种数据库
password=""username="zk"
maxIdle="1"//最大活动dataSource的数量
maxWait="10000"//连接等待的最大时间
url="jdbc:
microsoft:
sqlserver:
//Localhost:
1433;DatabaseName=pubs"
maxActive="5"//此DataSource上提供的最大连接人数
/>
*:
必须将所需要的jar文件拷贝到tomcat的相应目录中
Servlet的深入---过滤器的使用
1.作用:
字符编码的过滤
2.作用:
身份的验证
Browers--过滤器--Servlet---DB
J2ee中内置对象的使用
1.请求对象request
a)处理汉字)iso-8859-1,UTF-8重新编码
byteb[]=获取的参数.getBytes("ISO-8859-1");
sname=newString(b);
b)处理数字Integer.parse(获取的参数):
异常的监控
c)常用的方法
i.Stringpatf=request.getServletPath():
映射路径
ii.Stringrp=request.getRealPath("/"):
物理路径
iii.Enumerationen=request.getParameterNames()
2.响应对象response
a)response.setContentType("text/html;charset=");
i.设置MIME类型(text/html,msword,msexcel)
b)自动刷新.setHeader(“Refresh”,”3;URL=open.jsp”)
c)页面的缓存
i.SetHeader(“Cache-Control”,”no-cache”)同时加上\Pragma
ii.SetDataHeader(“Expires”,0)页面的有效期,0:
当前有效
d)设置Cookie
e)设置响应的输出方式(字节,字符)
i.动态文件的下载
f)重定向
i.response.sendRedirect(地址+资源)
3.连接对象Session----(Tcp/ip的连接)
a)session.setAttribute(“属性名”,属性值(对象));
b)属性值(对象)=session.getAttribute(属性名)
____________________________________________
例题:
购物网站
用户表
商品表
订单表
购物车:
存放订单---Cart类
工厂模型+MVC
步骤:
1.建模(表)-----类对应
Application对象的使用
客户1
客户2
客户3
客户n
Server
Session1
Session2
Session3
Sessionn
Application
全局对象(容器级的对象)
Application:
的常用属性与方法
SetAttribute(key,value);
GetAttribute(key)
例题:
页面记数器
Jsp:
Applicationservlet:
ServletContext
使用servlet生成动态图片
Ps:
Servlet:
标准,过滤器
内置对象:
req,res,session,Application,Cookie,Config,
out,
Servlet的使用:
监听器
登陆
发言显示
例题:
留言板操作
Jsp的使用
组成:
指令标签
<%@page%>:
页面指令
<%@include%>静态包含
<%@taglib%>标签指令
动作标签:
系统已经封装好的脚本
脚本语言Spriclet<%%>
Jsp的内置对象
编程的方式:
Model1:
jsp+javaBean
Model2:
jsp+javaBean+Servlet
Dao:
getAll()-List(Vo模型对象)
Util:
Page(list)
1.rscount=list.size();
2.pagecount=5;
3.pages=rscount%5==0?
Rscount/5:
Rscount/5+1
4.isper,isnext,ishome,isend(True)
5.gopage(int)
6.getPagelist()
Servlet:
page产生的对象Session
ShowPage:
<%Page=session.getAttribute(pages)%>
<%if(page.isnext){%>
form.submit()”>
<%}%>
使用SamrtUpload上传文件
SmartUpload:
开源的jar包
原理:
File文件
IO流
服务器端
(读)—另存
EL表达式语言的使用${}<%=%>
<%
Stringstr=request.getparamter(“name”)
If(str!
=null){
Ou’t.print(str);}
%>
${name}
JSTL的使用
JSTL:
标准标签库(简化代码的编写)
Version:
1.1----Servlet2.4Jsp—2.0
Tomcat:
5.x
组成:
:
核心库
:
格式化库
作业:
用名
密码
身份
Aa
Aa
1
Bb
Bb
0
Jsp+Servlet+javabean+jstl+el(Model2)
Customer
Process
List(Customer对象)
自定义标签的使用
标签的组成:
\
1.Java程序---接口,继承某个类TagSupport
a)say/>
2.描述文件*.tld
a)存放在WEB-INF目录下
3.引用(JSP文件中)
a)<%@taglib%>
4.例题:
HelloWorld—mytld
自定义标签+Model2+分页+el+jstl的实例设计
步骤:
1.数据源的创建
2.数据表与类的映射
3.定义操作方法
a)方法的定义
b)方法的实现
c)创建数据库连接类(工厂方式)
4.自定义标签进行显示(表格)
5.Model2模型的创建
6.创建分页的辅助类
实例:
JSTL(SQL)+EL(*.jsp)
请选择你喜欢的人
曹操
(12/45)—(13/46)
吕布
(12/45)
关羽
(12/45)
貂蝉
(9/45)
步骤:
1.数据源的创建(表)
2.加载JSTL标签库
初步技术结束
Structs技术的使用
---MVC框架1.2
1.基本原理(工作)
a)登陆验证
i.数据源的建立
ii.项目的建立(加载框架)
1.结构的建立
iii.功能Bean—方法(DAO)
iv.Jsp---Servlet—Bean---DB
v.Servlet:
Action
vi.Jsp:
login/success
2.Bean的使用ActionForm
a)ActionForm对应jsp页面(属性)
b)ActionForm自带方法
c)对于ActionForm的验证
i.资源文件*.preporties
ii.自定义静态验证
ActionErrorserr=null;
err=newActionErrors();
err.add("页面的显示key",newActionMessage("资源文件的显示key"));
returnerr;
iii.动态验证
1.动态Form
2.带验证的动态Form
3.验证文件
a)Validate-rule.xml标准
b)Validation.xml细节
c)动态生成javaScript脚本
iv.例题
1.:
从页面中获取信息
2.信息:
判断信息合理性
3.将错误返回到页面中
3.Structs的国际化操作
i.资源文件*.properties的使用
1.命名规则
a)*_(语言版本).properties
2.利用JSTL(fmt)+EL动态
ii.学会设置资源文件的语言版本
4.Structs中实现文件上传
a)FormFile类<=--IO流=>File组件
b)以字节流的方式获取文件
5.Structs的预处理类—编码的转换----过滤器
6.Structs的数据源的使用
7.Structs的令牌的使用
8.Structs的标签与分页的使用
作业:
个人空间的创建
1.注册(验证电话…)
2.登陆(身份验证)---个人空间
3.文件上传(设置共享)
4.开辟空间(10m)—状态
5.文件操作
6.步骤:
a)设计原则
i.文件夹---(用户的专用)
ii.在文件夹文件操作—j2ee
b)用例:
i.User(name,sex,Account)
ii.Spaceuser(Account,size,exist,path)
iii.Fileuser(fname,fsize,avaible)
c)业务逻辑
注册bo-1.查询(合理—数据库)
2.插入(user表)
-3.建立文件夹(账号命名)
-4.插入文件夹表(space表)
登陆bo1.查询用户(合理—数据库)---验证
2.查询space(状态—数据库)
3.查询文件表(状态—数据库)
文件的上传bo1.获取文件的信息(大小)
同名的操作
-2查询查询space(状态—数据库)—比对--文件的信息(大小)
-3.上传
-4..将文件的信息插入文件表
5修改件夹表(space表)的状态
……….
d)项目分层
i.Vo(映射层)—表
ii.Dao(针对表)
iii.Bo—(事件的委托)
1.*合并方法(事务的创建)
iv.Web—(视图)
v.Util(辅助层)
vi.Test(测试层)
Structs的深入了解
MVC
M:
Form-(Action-Form必须一一对应)
JspAction-DTO(Bean>)--FormBean
DTO的种类:
1.ActionForm
2.DynaActionForm
3.ValidatorForm
4.ValidatorActionForm
5.DynaValidatorForm
6.DynaValidatorActionForm
1.共享form(多个Action公用一个Form)
2.使用集合(万能Form)
3.FormBean的值传递
V:
view(jsp)
*ps:
利用标签制作万能页面
姓名
密码
注册
登陆
C:
control的使用
Action的种类
1.ForwardAction
2.includeAction:
共享web组件
3.SwitchAction子应用程序
4.DispatchAction多动作
i.多个提交组件针对一个Action
ii.在该Action中包含多个可执行方法
iii.Action中必须包含参数
iv.参数的值等于Action中的方法名
Ps:
多表单公用一个Action
5.LookupDispatchAction多提交
i.前提:
必须使用资源文件
ii.在资源文件中定义key-value
iii.页面的提交按钮名与该Action的参数名相同
iv.页面的提交按钮的显示值,必须以messagekey=””/>进行显示
v.重载Action的getKeyMethodMap()—装载资源文件
6.MappingDispatchAction多映射
Struts的日志使用
作用:
1.跟踪程序的运行,记载程序运行的情况
2.Bug的调试器
3.生成日志表
日志的分级
1.致命:
fatal
2.错误:
error
3.警告warn
4.信息:
info
5.调试:
debug
6.跟踪trace
Logger器
Appender
工作原理:
Hibernate的使用
1.Hibernate的介绍
a)开源框架(数据表的对象化)
b)Object-(Table)----R/Mapping
c)屏蔽数据库之间的差异
d)转化后的对象必须是可序列化-----在表中必须存在主键字段
2.操作的步骤:
a)加载框架
b)创建配置文件*.cfg.xml—如何连接数据库(位置:
默认src)
c)选择数据源—生成描述文件
d)表的映射
i.类:
不能放置在根下(src)
ii.建包,生成类
iii.生成表的映射文件(*.hbm.xml)
iv.选择表的主键策略assigned:
指派
e)编程
i.数据源的建立
1.Configuration类
2.生成Sessionfactory工厂
3.打开Session的连接
4.save方法
5.update方法
6.delete方法
7.select方法—返回List
a)全部
b)一个
c)部分
Hibernate的大对象操作
大对象的定义)2种
1.Blob:
字节(2g)
2.Clob:
字符(4g)
例题:
Struts+Hibernate操作大对象
步骤:
1.加载框架(顺序)
2.工程分层(建包)
3.web—bo---dao(持久层)---vo---DB
4.表的映射(修改字段—属性—配置文件类型)
5.针对表创建DAO操作类
a)先编写接口
b)编写接口的实现类
6.合并DAO层的方法,创建BO(业务服务层):
业务委托
a)服务层的功能:
i.降低耦合Web—DAO
ii.合并DAO层的方法
7.Web层的创建