Web程序设计
的
知
识
与
展
望
姓名:徐雪战
学号:061408246
班级:计算机科学与技术二班
在这个学期的教学课程设计中,我们计算机科学与技术专业
开设了java web设计这门课。并且在上学期。我们在陈红军老师的指导下学习了java面向对象程序设计这门课。通过对java这门课的学习。我了解到了java是和C语言完全不同的一门学科,并且根据在网上以及老师们那里获得的信息来看,学习java以后会有很大的发展空间。同时,我又在网上查询了关于这方面的信息。通过网上信息的获取,我了解到web设计要有一定的语言方面的功底。因为只有那样才能够熟练的应用到具体的web开发实例上面去。
在web的开发设计过程中,java是这门课程的前提与基础。只有较强的java语言功底,才能够顺利的快速接触学习web开发设计。同时,html和css是静态页面的设计基础。在现在的这个网络大爆炸的时代中,各个门户网站均是建的动态网站,但是,平地上的高楼大厦也是由一块块砖累积起来的。所以我认为在刚刚开始学习web开发与设计这门课的时候,千万不能够好高骛远,一下子就去接受学习那一些比较难的东西。因为那样的话,你就会发现,在你学习的时候你会觉得非常的迷茫,那样的话,不仅基础知识没有学习。高深的知识也没有学会。所以我们要认清路是一步步走出来的。在刚刚学习这门课的时候好好的从html和css入手。
要想学好web开发与设计,我认为首先要做的就是能够理解web的内核设计结构,因为只有这样,才能够做出好的web设计产品。B/S结构(Browser/Server)即浏览器和服务器结构。它是随着Internet发展,由C/S演化过来的一种变种的或改进的结构,在这种结构下,
用户的工作界面主要是同过web浏览器来实现。只有极少的一部分是在逻辑前段来实现的。所以我们要在学习这门课之前,对B/S结构有一定的了解。因为只有了解到了。他们的额具体工作的步骤和过称是怎么样的,才能够设计出来更好的web设计作品。
在web的设计的过程中,我们要学会跨平台的产品的制作,因为一个好的web设计的作品,要做到拿到哪里都能够被别人认可。要实现web作品的跨平台效果,xml起着非常重要的作用,xml(Extensible Markup Language)是一门可扩展性的标记语言,它与HTML一样,都是SGML(Standard Generalized Markup Language,标准通用标记语言)。Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具,扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。通过了解我们知道了,web设计的过程中,xml的举足轻重的作用,同时,xml也并不是特别难学习的语言。所以我们在学习的过程中,应该更加能够得认清要学习知识的重要性,沉下去,认真的去学习每一点知识。
在web的设计设计中,通过前人的对知识的总结,我了解到了xml和html之间的区别和联系, XML与HTML的设计区别是:XML是用来存储数据的,重在数据本身。而HTML是用来定义数据的,重在数据的显示模式具体点的区别可以归纳为下面几点:① XML扩展性比HTML强、② XML的语法比HTML严格,③
XML与HTML互补,面对xml在web设计中的重要性,我们要认真的学好xml语言,从而去设计出来好的web作品。
在前面,我们就了解到,在现在的这个网络大爆炸的时代中,动态网页的设计在整个web的作品设计中起着非常重要的作用,在动态网站的设计中,asp.net和javascript起着非常重要的作用,asp.net的前身是asp。 因为ASP.net是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应用软件几乎全部的平台上。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.net的Web应用中。所以在学习web的设计中,我们要把asp.net给学扎实了,从而去顺利的学习web设计。
另外,就是另外一种同样在动态网站设计中,起着非常重要作用的javascript。Javascript是一种由Netscape的LiveScript发展而来的原型化继承的面向对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。Javascript具有交互性,同时Javascript可以开发交互式Web网页。Javascript的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的内容。
同时,在很多web的设计工作中。软件工程师使用Struts为业务应用的每一层提供支持。它的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。我们仍然需要学习和
应用该架构,不过它将可以完成其中一些繁重的工作。如果想混合使用Servlets和JSP的优点来建立可扩展的应用,Struts是一个不错的选择。因此我们也应该学习好struts,为将来自己能够写出好的web作品打下坚实的基础。
AJAX即“Asynchronous JavaScript and XML”(异步JavaScript和XML),是一种创建交互式网页应用的网页开发技术能够提供更加更迅捷的响应速度使用Ajax,就是能在不更新整个页面的前提下维护数据。这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变过的信息。
通过上面的那么多东西的书写,相信为web的创作设计进行了一个详细的梳理。同时,通过在各个人才招聘网站上的信息收集,我也了解到了,现在的这个社会中,web设计有着很大很广的发展前景,让我们认真的去学习web的设计知识,以及去解决那些在学习中遇到的困难,相信在不远的明天,我们的学习会给我们带来无尽的财富。
第二篇:java web总结
Java Web 总结
1.JSP运行原理
(1)用户通过客户端浏览器向服务器发送请求。
(2)JSP文件将JSP引擎编译成Java的class文件,即servlet。
(3)将产生的servlet加载到内存执行。
(4)Servlet的运行结果以HTML(或XML)形式通过web服务器返回客户端的浏览器。
2.web项目设计
(1)公开目录 (2)web_INF目录 (3)Class目录
3.JSP的基本语法
(1)脚本元素:声明、脚本段、表达式。
(2)脚本段:<% %>
(3)声明:<%! %>不会产生任何输出内容→声明全局变量。
(4)表达式:<%= %>
(5)EL表达式:${ }
(6)指令元素:<% @ %>不在客户端可见
(7)page指令、include指令、taglib指令
page指令:language属性、contentType(text/html)、text/plain application/msword、application/x-msexecl、PageEncoding、info、import属性.
include指令:在JSP页面中静态包含一个文件 <@include file=" "%> taglib指令: <%@taglib uri="标记库的uri地址" prefix="前缀名"%> 指令元素翻译阶段执行,动作元素执行阶段被执行。
<jsp:include>用于包含其他文件可以是静态文件,也可以是动态文件。 <jsp:include>?</jsp:include>包含动态文件时
用<jsp:param>传 (建一值)
考点:
4.指令与动作的区别(include)
1.执行时间不同
指令<%@ include file=" "%>是偏译时包含静态文件
动作<jsp:include page=" ">?</jsp:include>是运行时包含的文件
2.引入内容不同
指令<%@include file="relatirveURI"%>引入静态文本(html.jsp)。
动作<jsp:include page="relativeURI" flash="true"/>引入执行页面或severlet的应答文本。
5.JSP内置对象
Out,request,response,session,application,page,pageContext,exception,config
request客户端向服务端发送请求。
response用于服务器端封装JSP处理请求后产生的结果。
response对象的send Redirect(url)方法相当于两次请求。
而<jsp:forward>在网址不变情况下内部跳转不同页面,但依旧属于同一次请求
6.session和cookie的区别
1.存放地点不同
Session存放在服务器端,cookie存放在客户端的硬盘里
2.存活时间
session随用户访问服务器而产生,随客户下线或超时而消失
3.安全性
session存放在服务器端,不能被修改,且随客户端浏览器的关闭而消失,安全性较好。Cookie存放在客户端,安全性较差。
7.数据库
java.sql.Driver
java.sql.DriverManager——加载驱动程序
java.sql.Connetion——表示数据库连接对象,对数据库一切操作都在这个基础上
java.sql.Statement——执行SQL语句和返回结果
java.sql.ResultSet——结果集用来暂时存放数据库查询操作结果
8.编写程序的步骤
1.装载驱动程序
class.forName("com.mySQL.jdbc.Driver")
2.定义所需连接数据库的地址
String mysqlURL="jdbc.mysql://host:port/dbName"
3.建立与数据库的连接
Connection conn=DriverMannager.get Connection(url,"登录数据库用户名","
密码")
4.声明并执行SQL语句
5.处理返回的结果
6.关闭对象
String driverStr="com.mysql.jdbc.Driver"
String connstr="jdbc:mysql://localhost:3306/book";
Class forName(driver Str)
Connection conn=DriverManager.getConnection(connstr."root"."123") 第4步:建立语句对象
Statement stmt=conn.createStatement()
第5步:声明并执行SQL语句
String sql="select*from book";
ResultSet rs=stmt.executeQuery( sql);
第6步:
Statement接口的3个方法:1、ResultSet executeQuery(String sql)
2、int execute Update(String sql)
3、boolean execute(String sql)
ResultSet的方法:1、boolean next()
2、get xxx()
第7歩:rs.close() stmt.close() con.close()
注:关闭资源的顺序与打开资源顺序恰好相反。
第8步:异常处理
try{.........}catch(SQLExecption ex){.........}
9.Java Bean 组件(可重用)
组件:是一个独立的模块,外界可以不了解内部如何实现,只需通过其提供的接口对组件进行访问即可,组件可重用。
特点:1、实现代码重复使用;2、易编写,易维护,易使用。
10.Java Bean类的编码约定
1、类实现了java.io.Serializable接口
2、必须放在某个Package(包)中
3、类中如果有构造方法,那么这个方法是共有的,并且无参数
4、所有属性都是私有的(private修饰)
5、get XXX:用来获取属性,此方法是共有的
6、set XXX:用来设置属性,此方法是共有的
7、对于boolean类型的成员变量允许使用“is”代替“get”和“set”
8、类中的普通方法不适合上面的命名规则,但这个方法必是public的。
3个标记:
<jsp:useBean>网页中创建JavaBean实例
<jsp:setProperty>用于为bean中的属性赋值
<jsp:getProperty>用于获取bean中属性的值
<jsp:useBean> id=”javaBean实例名” class=”javaBean对应的类名” <jsp:setProperty> 设置<jsp:useBean>的属性
<jsp:getProperty>获取JavaBean实例指令的属性值,并将这个值转换成字符串显示到JSP页面。
11.servlet的生命周期
(1)当客户第一次请求servlet时,servlet被加载到内存 容器会创建servlet实例,并调用其init()方法进行初始化工作。
(2)容器创建请求对象,然后调用servlet的service()方法为客户提供服务。
(3)当servlet不再被需求时,容器调用servlet的destory()方法将servlet实例销毁。
12.Servlet开发
引入import.javax.servlet.* 和import.javax,servlet.http.*包
13.Servlet过滤器
Servlet过滤器是一种java组件,它位于客户端和处理程序之间
Servlet过滤器工作原理
14.Model1和model2
Model1:JSP+JavaBean
Model2:JSP+Servlet+JavaBean
Model1中,jsp页面实现页面显示、业务逻辑和流程控制,数据处理由JavaBean完成。
优点:进行快速和小规模的应用开发时优势非常明显。
缺点:不利于web应用的扩展和更新;调试和排错困难。
Model2中,MVC模式--->模型-视图-控制器.即把web应用的输入输出和处理流程按照Model.View和Controller分成三层。
Model1和Model2的区别:
Model1和Model2实际上就是对采用JSP技术开发的web应用的不同模型的描述。Model1采用JSP+JavaBean技术开发web应用,它比较适合小规模应用的开发,效率较高,易于实现,但由于在JSP页面中内嵌了大量的Java代码,以至于当业务逻辑复杂时,代码可维护性、可扩展性和可重用性就会下降;Model2采用JSP+Servlet+JavaBean技术开发web应用,该模型基于MVC模式,完全实现了页面显示和逻辑的分离,它充分利用了JSP和Servlet两种技术的优点,JSP更适合前台页面的开发,而Servlet更擅长服务器端程序的编写,Model2分工明确,更适合大型项目的开发和管理。
视图(view)用于与用户交互,可以用HTML.JSP实现。
15.模型(model)用于表示业务数据和实现业务逻辑,可以用JavaBean实现 控制器(controller)完成流程控制,它接收来自视图层用户输入的数据,并调用相应的模型进行处理,最后选择合适的视图去响应用户。控制层可以用Servlet实现。
优点:MVC模式完全实现了页面表示和业务逻辑的分离;
MVC优势之一在于三层各司其职,互不干涉。
缺点:没有明确的定义。
模型层为JavaBean,实现了数据的表示和业务逻辑,视图层为JSP页面,只负责显示功能。
控制器为Servlet,负责接收用户的请求,设置JavaBean属性,调用JavaBean完成业务处理,最后将处理结果交给JSP页面显示。
16.自定义标签
对隐式对象的操作、处理表单、访问数据库及其他企业级服务。
自定义标签种类:
1.不带有属性和标签体:<my prefix:sometag/>
2.带有属性没有标签体的标签:<myfrefix.sometag . myAttribute:"test"/>
3.带有属性带有标签体:<myprefix:someteg myAttribute="test"/> myBody
</myprefix:sometag>
17.EL表达式
基本语法${expr}
功能:对属性对象的简明访问:${user}
对属性对象的属性访问:${customer.firstname}
对属性集合元素的访问:对数组和list:${variable[index]} 对map:${variable[key]}
对请求参数cookie等的简单访问.
请求参数${param.custID}
Cookie对象:${cookie.userCookie}
18."."操作符和"[ ]"操作符
${user.address}=${user[address]}
访问数组和集合元素,需使用[ ]
${class[0].name}=${class[0][name]}
${param.username}={%=request.getparameter("userName")%}
19."."与"[ ]"使用存在差异
1.当访问的数据中包含一个特殊字符(如:"."或"_"时),就必须用"[ ]"操作符
2.当动态取值时必须使用"[ ]"操作符,"."操作符只能取到静态的值
注:当"[ ]"操作符中的属性名为常量时必须用''''引起,否则将会当做变量来处理.
20.SQL标签
1.<sql:set Data Source>标签
2.<sql:query>执行数据库查询
3.<sql:update>执行数据库更新
4.<sql:param>和<sql:dateParam>指明参数值
5.<sql:transaction>用于事务处理
21. Tomcat的目录结构及描述:
\bin 放置启动和关闭Tomcat的可执行文件和批处理文件
\common 放置在此目录中的jar、class文件,可以被此服务器下所有的web应用使用
\conf 放置Tomcat的主要配置文件
\logs 放置Tomcat的日志文件
\server 放置Tomcat管理接口的应用
\src 放置Tomcat相关的源代码
\temp 放置Tomcat临时文件
\webapps 放置Tomcat应用的目录
\work 放置JSP页面翻译成对应的Servlet类的目录