




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JSP动态网页设计一、三层架构、表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。 、数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。优点1、开发人员可以只关注整个结构中的其中某一层; 2、可以很容易的用新的实现来替换原有层次的实现; 3、可以降低层与层之间的依赖; 4、有利于标准化; 5、利于各层逻辑的复用。 缺点1、降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。 2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。 二、开发环境Java JDK 设置环境变我的电脑-属性-高级-环境变量JAVA_HOME C:Program FilesJavajdk1.5.0_04。配置Tomcat :找到文件路径,将startup.bat 文件启动起来;运行过程中不能关闭,否则无法显示页面。新建一个web project 项目,找到WebRoot下面的WEB-INF文件夹下的lib将jar包导入或复制粘贴。部署新建的项目,选择合适的Tomcat版本:如:Tomcat 5.x, Tomcat 6.x,并添加该类型下的JDK安装路径。启动Tomcat Tomcat 5.x或 Tomcat 6.x,在浏览器中输入正确的URL地址即可:如:1433/webJSP/chapter1/index.jsp。其中是本机IP也可以用localhost代替。如:http:/localhost:8080/webJSP/chapter1/index.jsp,8080指的是端口号。注:webJSP是项目名,但在URL中不一定是原始路径下的项目名,所以必须找到WebRoot路径。方法:右击项目名-属性-Eclipse-Web-web context root 复制粘贴至项目名处即可。如果出现错误:1)Tomcat 未启动。2)未部署web项目。3)URL输错。4)存放文件的目录无法对外引用:如,WEB-INF、META-INF. 三、实际操作1、连接数据库右键点击项目,导入数据库驱动包。在我的电脑-管理-服务和应用程序-SQL2005 网络配置设置MSSSERVER的协议和SQLEXPRESS 的协议的TCP/IP均改为启动,设置IP TCP动态设为0,端口设为1433确定;启动服务(重新启动)数据库,加载设置。2、写一个连接数据库帮助类(底层-数据访问层)3、写一个具体操作类(根据业务需求-业务逻辑层)。4、客户端界面JSP实现动态网页(-表示层)。四、具体语法技巧概括1、集合框架存储对象有关接口:Collection、List、Map方法:List list=new ArrayList();= List list=new LinkedList();Map map=new HashMap();键-值对:左为键,右为值2、区别Collection 与Collections:前者是Interface,后者是class(算法)ArrayList 与 HashMap 运用前者查询速度快(指定位置查找)后者很占内存查询速度缓慢(循环查找)3、堆栈:stack 特点:先进后出。注:具体用法参看MSDN文档即可。4、JDBC数据库驱动程序(1)虚拟机:JDBC驱动包导入后可直接调用Class.forName(DRIVER_CLASS);(2)加载驱动建立连接:Connection conn=DriverManager.getConnection(DR_CLASS,DR_USER,DR_PWD);(3)发送SQL语句结果集Statement st=conn.createStatement(sql);或PreparedStatement st=conn.PreparedStatement(sql);ResultSet rs=st.executeQuery();(4)处理结果 while(rs.next() int s=rs.getInt(“ID”);.(5)纯Java驱动方式Class.forName(com.microsoft.); Connection conn =DriverManager.getConnection(“jdbc:jt:.”,”sa”,”123456”);(6)几种连接驱动的写法 1. MySQL()mysql-connector-java-2.0.14-bin.jar Class.forName( org.gjt.mm.mysql.Driver ); cn= DriverManager.getConnection( jdbc:mysql:/MyDbComputerNameOrIP:3306/myDatabaseName, sUsr, sPwd ); 2. PostgreSQL()pgjdbc2.jar Class.forName( org.postgresql.Driver ); cn = DriverManager.getConnection( jdbc:postgresql:/MyDbComputerNameOrIP/myDatabaseName, sUsr, sPwd ); 3. Oracle(/ip/deploy/database/oracle9i/)classes12.zip Class.forName( oracle.jdbc.driver.OracleDriver ); cn = DriverManager.getConnection( jdbc:oracle:thin:MyDbComputerNameOrIP:1521:ORCL, sUsr, sPwd ); 4. Sybase()jconn2.jar Class*forJame( com.sybase.jdbc2.jdbc.SybDriver ); cn = DriverManager.getConnection( jdbc:sybase:Tds:MyDbComputerNameOrIP:2638, sUsr, sPwd ); /(Default-Username/Password: dba/sql) 5. Microsoft SQLServer() Class.forName( net.sourceforge.jtds.jdbc.Driver ); cn = DriverManager.getConnection( jdbc:jtds:sqlserver:/MyDbComputerNameOrIP:1433/ master, sUsr, sPwd ); 6. Microsoft SQLServer() Class.forName( com.microsoft.jdbc.sqlserver.SQLServerDriver ); cn = DriverManager.getConnection( jdbc:microsoft:sqlserver:/MyDbComputerNameOrIP:1 433;databaseName=master, sUsr, sPwd ); 7. ODBC Class.forName( sun.jdbc.odbc.JdbcOdbcDriver ); Connection cn = DriverManager.getConnection( jdbc:odbc: + sDsn, sUsr, sPwd ); JDBCODBC桥连:JDK中包含JDBCODBC的驱动接口,不需下载JDBC,只需要配置ODBC数据源即可。8.DB2 Class.forName(.DB2Driver); String url=jdbc:db2:/08:6789/SAMPLE cn = DriverManager.getConnection( url, sUsr, sPwd );(7)注意细节:注释(,,),表达式(),指令(),同级目录(返回(”./”),声明方法()设置欢迎界面(index.jsp )(8)JSP 执行过程1、翻译(translation)2、编译(compilation)阶段3、执行阶段五、实现客户请求1、结合JavaScript、HTML、SQLDB和Java共同实现2、应用三层架构,页面显示表单提交数据拓展等等。3、传输用户信息:session.getAttibute(“user”,u);user前后大小写必须一致。4、JSP内置对象:out、 session、 request、 response 和application。5、传值方式:URL、HTTP(get/post)、A、重定向。6、include 指令:调用文件,输入路径,增加代码重用。7、application的使用:用于统计登陆人数、查看所有信息等等,它是一个全局变量。注意:使用application的时候一定要加以判断,将现有值存起来再向List中添加,否则数据遗失仅当前登录用户的信息,从而造成管理上的弊端。8、sendRedirect()方法是通过浏览器重定向的,所以第二个JSP页面中获得的request并非是前一个页面的request(两次请求生成了前后两个不同的 request对象了)。response.sendRedirect()是指重定向,跳转的页面文件的相对路径或URL以字符串形式写在括号内。六、有关时间(1)javascript求时间差的方法var date1 = new Date(2005,1,26,22,0,0);var date2 = new Date(2005,2,26,11,0,0);/ 时间差(单位为0.001秒)var diffs=(date1.valueOf()-date2.valueOf()/ 相差的精确天数var days=(date1.valueOf()-date2.valueOf()/86400000/ 相差的精确小时数var days=(date1.valueOf()-date2.valueOf()/3600000(2)Java、JSP格式化输出时间S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智慧小镇申论题目及答案
- 六年级数学教研组工作计划(5篇)
- 食品饮料餐饮销售市场推广拓展计划
- 农业生产技术规范及标准
- 中级爆破工程考试试题及答案
- 2025年山东省烟台市事业单位工勤技能考试题库(含答案)
- CN120269262A 一种装修用支架焊接的辅助工装 (苏州卿露扬精密机械科技有限公司)
- CN120111157B 基于fpga的高清图像旋转系统及方法 (成都维德青云电子有限公司)
- UPS电池安装安全培训课件
- CN120107836A 一种体育跑道路面损伤识别方法 (泉州信息工程学院)
- 燃气市场风险分析报告
- 人教部编版小学五年级语文上册第一、第二单元测试题
- 瓷砖粘贴施工方案
- DL-T325-2010电力行业职业健康监护技术规范
- 目视判读的一般过程和方法与目视判读举例
- 保育员取餐分餐环节培训
- 个人简历模板(空白简历表格)
- 北师大版小学6六年级数学上全套完整课件
- T-HNCAA 023-2020 混凝土砖单位产品综合能耗限额和计算方法
- 智能网联汽车协同控制技术(第2版)课件 第1-9章 智能网联汽车相关技术发展过程-智能网联汽车动力学模型
- 洗浴运营方案
评论
0/150
提交评论