Web技术应用基础学习心得
本学期我们学习了Web技术应用基础的课程,虽然课时不长,但我学到了很多。
现在做一下总结。
在此课程中我学到了好多开发页面的工具,还有美化的等等。
不过令我最感兴趣的是jsp。
JSP是英文Java Server Pages的简写,是由Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准。
JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。
用JSP开发的Web 应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。
网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。
JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP 文件中的HTML代码一起返回给客户。
插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
JSP与JavaServlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
JSP还有其他的优点比如:
(1)一次编写,到处运行。
除了系统之外,代码不用做任何更改。
(2)系统的多平台支持。
基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。
相比ASP/.net的局限性是显而易见的。
(3)强大的可伸缩性。
从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
(4)多样化和功能强大的开发工具支持。
这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
(5)支持服务器端组件。
web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。
JSP可以使用成熟的JAVA BEANS 组件来实现复杂商务功能。
当然也有缺点,比如:
(1)与ASP一样,Java的一些优势正是它致命的问题所在。
正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。
(2) Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。
从另一方面,它还需要硬盘空间来储存一系列的.java文件和.class文件,以及对应的版本文件。
JSP内置对象:
一.request对象:
该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息,即使用该对象可以获取用户提交信息。
它是HttpServletRequest的
实例。
下面介绍request的常用方法:1,getParameter();使用如下 String
str=request.getParameter();2,setAttribute();和
getAttribute();removeAttribute();getMethod();getProtocol();getReqeust URI();getRemoteAddr();getServerPort();和 getServerName();
二.response对象:
对客户的请求做出动态的响应,向客户端发送数据。
三.session对象
1.什么是session:session对象是一个JSP内置对象,它在第一个JSP 页面被装载时自动创建,完成会话期管理。
从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。
当一个客户访问一个服务器时,可能会在这个服务器的几个页面之间反复连接,反复刷新一个页面,服务器应当通过某种办法知道这是同一个客户,这就需要session对象。
2.session对象的ID:当一个客户首次访问服务器上的一个JSP页面时,JSP 引擎产生一个session对象,同时分配一个String类型的ID号,JSP引擎同时将这个ID号发送到客户端,存放在Cookie中,这样session对象和客户之间就建立了一一对应的关系。
当客户再访问连接该服务器的其他页面时,不再分配给客户新的session对象,直到客户关闭浏览器后,服务器端该客户的session
对象才取消,并且和客户的会话对应关系消失。
当客户重新打开浏览器再连接到该服务器时,服务器为该客户再创建一个新的session对象。
3.session 对象存在一定时间过期问题,所以存在session中的名值对会在一定时间后失去,可以通过更改session有效时间来避免这种情况。
同时编程时尽量避免将大量有效信息存储在session中,request是一个不错的替代对象。
四.application对象
1.什么是application: 服务器启动后就产生了这个application 对象,当客户在所访问的网站的各个页面之间浏览时,这个application对象都是同一个,直到服务器关闭。
但是与session不同的是,所有客户的application 对象都是同一个,即所有客户共享这个内置的application对象。
2.application对象常用方法: (1)public void setAttribute(String key,Object obj): 将参数Object指定的对象obj添加到application对象中,并为添加的对象指定一个索引关键字。
(2)public Object
getAttribute(String key): 获取application对象中含有关键字的对象。
五.out对象
out对象是一个输出流,用来向客户端输出数据。
out对象用于各种数据的输出。
六.Page
page对象就是指向当前JSP页面本身,有点象类中的this指针,它是ng.Object类的实例JSP网页本身,page对象是当前页面转换后的Servlet类的实例。
从转换后的Servlet类的代码中,可以看到这种关系:Object page = this;在JSP页面中,很少使用page对象。
七.config
javax.servlet. ServletConfig 的实例,该实例代表该JSP 的配置信息。
常用的方法有getInitParameter(String paramNarne) 及getInitParameternarnes() 等方法。
事实上, JSP 页面通常无须配置,也就不
存在配置信息。
因此,该对象更多地在Servlet 中有效。
八.exception
ng.Throwable 的实例,该实例代表其他页面中的异常和错误。
只有当页面是错误处理页面,即编译指令page 的isErrorPage 属性为true 时,该对象才可以使用。
常用的方法有getMessage()和printStackTrace()等。
九. pageContext
javax.servlet.jsp.PageContext 的实例,该对象代表该JSP 页面上下文,使用该对象可以访问页面中的共享数据。
对于这个不是很熟,所以具体用法不在呈现。
心得体会:
我对网页设计非常感兴趣,一心想设计出一个美观、实用、内容丰富的个人网页。
本学期的实验课很多,我们基本上一半都是在机房中实践中度过的,在这样的环境和动力下,通过自己动手、动脑,通过网络资源,老师的指导,在不断发现问题和解决问题的过程中学到了很多知识,也增强了我的创作能力和动手能力,在网页设计过程中,从构思到设计、完善、维护,整个过程我都全身心投入,使我真正学到了网页设计的知识。
由于平时学习比较繁忙,时间比较少,对于网页设计软件的强大功能运用得还不够。
在网页设计过程中,由于“欠练”,所以在设计时也遇到了很多麻烦,有时插入一个特效脚本也是很麻烦。
在网页制作过程中,想提高设计水平,想有个理想的网页,必须要勤奋练习,我将在以后的学习过程中不断努力。
总体来说,通过本学期的对web的学习,有收获也有遗憾、不足的地方,但我想,我已经迈入了web技术开发设计的大门,只要我再认真努力的去学习,去提高,凭借我对网页设计的热情和执着,我将来设计出的网页会更加专业,更完善。