javaweb实训报告.docx
- 文档编号:7788416
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:9
- 大小:113.27KB
javaweb实训报告.docx
《javaweb实训报告.docx》由会员分享,可在线阅读,更多相关《javaweb实训报告.docx(9页珍藏版)》请在冰豆网上搜索。
javaweb实训报告
javaweb-实训报告
1、实习题目:
java软件开发
2、实习目的:
本人由于在达内实训时,各项成绩优异,被北京木联能科技有限公司录用为java软件开发实习生,作为即将步入社会的应届毕业生,我带着无比激动的心情和远大的理想,到北京木联能科技有限公司实习,实习目的如下:
进一步了解java开发的相关知识,掌握java开发的基本技术,丰富java开发的实战经验。
学习SQL的基础知识及正确的运用方法,和有用的相关技术,提高自己的工作效率。
通过实习,巩固大学所学专业的基本知识,提高分析、判断和处理实际问题的能力,锻炼自己的实际动手能力,增强自己的团队协作意识,了解软件开发的思考角度和主要流程。
为毕业之后能够更快地进入工作状态并且能够更好的工作,打好一定的基础。
3、实习时间:
2010年3月15号—2010年6月
petabyte(千兆兆)和更大的文件也能在Linux上实现。
然而,最大可用的文件容量仍取决于多项因素,其中之一就是用于存储MySQL表的文件系统。
另外,Windows用户请注意:
FAT和VFAT (FAT32)不适合MySQL的生产使用。
应使用NTFS。
在默认情况下,MySQL创建的MyISAM表允许的最大尺寸为4GB。
你可以使用SHOW TABLE STATUS语句或myisamchk -dv tbl_name检查表的最大尺寸。
如果需要使用大于4GB的MyISAM表(而且你的操作系统支持大文件),可使用允许AVG_ROW_LENGTH和MAX_ROWS选项的CREATE TABLE语句。
创建了表后,也可以使用ALTER TABLE更改这些选项,以增加表的最大允许容量。
处理MyISAM表文件大小的其他方式:
· 如果你的大表是只读的,可使用myisampack压缩它。
myisampack通常能将表压缩至少50%,因而,从结果上看,可获得更大的表。
此外,myisampack还能将多个表合并为1个表。
· MySQL包含一个允许处理MyISAM表集合的MERGE库,这类MyISAM表具有与单个MERGE表相同的结构。
6.3.5 java与SQL的应用
Java语言是编写数据库应用程序的杰出语言之一,它提供了方便访问数据的技术。
利用Java语言中的JDBC技术,用户能方便地开发出基于Web网页的数据库访问程序,从而扩充网络应用功能。
JDBC(Java Database Connectivity,Java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一的访问接口。
JDBC由一组用Java语言编写的类与接口组成,通过调用这些类和接口所提供的方法,用户能够以一致的方式连接多种不同的数据库系统(如Access、SQL Server 2000、Oracle、Sybase等),进而可使用标准的SQL语言来存取数据库中的数据,而不必再为每一种数据库系统编写不同的Java程序代码。
SQL Server2000是微软公司新一代的数据库产品,它是在SQL Server7.0建立的坚固基础上产生的,并对SQL Server7.0做了大量扩展。
SQL Server2000通过高端硬件平台以及最新网络和存储技术的支持,可为最大的Web站点和企业级应用提供可扩展性和高可靠性。
Java通过JDBC、ODBC接口访问数据库。
6.3.6 JDBC、ODBC接口
Java应用程序通过JDBC API(java.sql)与数据库连接,而实际的动作则是由JDBC驱动程序管理器(JDBC Driver Manager)通过JDBC驱动程序与数据库系统进行连接。
ODBC(Open DataBase Connectivity)即开放式的接口,它为用户提供了一个访问关系数据库的标准接口,对于不同的
数据库它提供了一套统一的API;可以使应用程序通过API访问任何提供了ODBC驱动程序的数据库,而目前所有的关系数据库都提供了ODBC驱动程序,所以ODBC已经成为数据库访问的业界标准,并得到了广泛应用。
JDBC-ODBC桥是一种JDBC驱动程序,它通过将JDBC操作转换为ODBC操作来实现的。
利用JDBC-ODBC桥可以使程序开发人员不需要学习更多的知识就可以编写JDBC应用程序,并能够充分利用现有的ODBC数据源。
JDBC-ODBC桥驱动程序可以使JDBC能够访问几乎所有类型的数据库。
7. Servlet技术
7.1 什么是Servlet?
一个servlet就是Java编程语言中的一个类,它被用来扩展服务器的性能,服务器上驻留着可以通过“请求-响应”编程模型来访问的应用程序。
虽然servlet可以对任何类型的请求产生响应,但通常只用来扩展Web服务器的应用程序。
Java Servlet技术为这些应用程序定义了一个特定于HTTP的 servlet类。
javax.servlet和javax.servlet.http包为编写servlet提供了接口和类。
所有的servlet都必须实现Servlet接口,该接口定义了生命周期方法。
7.2 Servlet的生命周期
一个servlet的生命周期由部署servlet的容器来控制。
当一个请求映射到一个servlet时,该容器执行下列步骤。
(1) 如果一个servlet的实例并不存在,Web容器 a.加载servlet类。
b.创建一个servlet类的实例。
c.调用init初始化servlet实例。
该初始化过程将在初始化servlet中讲述。
(2)调用service方法,传递一个请求和响应对象。
服务方法将在编写服务方法中讲述。
如果该容器要移除这个servlet,可调用servlet的destroy方法来结束该servlet。
结束过程将在结束Serlvet中讨论。
7.3控制对共享资源的并发访问
在多线程的服务器中,可能出现对共享资源的并发访问。
除了作用域对象属性外,共享资源还包括存储器中的数据(如实例和类变量)、外部对象(如文件)、数据库连接和网络连接。
并发访问可出现在多个情况下。
·多个Web组件访问存储在Web上下文中的对象。
·多个Web组件访问存储在会话中的对象。
·一个Web组件中的多个线程访问实例变量。
一个Web容器一般为每个请求创建一个线程来处理。
如果用户确认一个servlet实例每次只处理一个请求,servlet就能实现SingleThreadModel 接口。
如果servlet实现了这个接口,用户就能确保servlet的服务方法中不可能有两个线程并发执行。
Web容器可通过同步访问一个servlet的单独实例、或者通过维护一个Web组件池为每个实例调用一个新的请求来实现。
这个接口并不能防止Web组件访问共享资源(如静态类变量、外部对象)导致的同步问题。
8. JSP页面
8.1 JSP 2.0介绍
新的JSP规范版本包括新的用于提升程序员工作效率功能,主要有:
An Expression Language (EL)
允许开发者创建 Velocity-样式 templates (among other things).更快更简单的创建新标签的方法。
Hello, ${param.visitor}
<%-- same as:
Hello, <%=request.getParameter("visitor")%> --%> MVC 模式
为了把表现层presentation从请求处理request processing 和数据存储data storage中分离开来,SUN公司推荐在JSP文件中使用一种“模型-视图-控制器”Model-view-controller 模式。
规范的SERVLET或者分离的JSP文件用于处理请求。
当请求处理完后,控制权交给一个只作为创建输出作用的JSP页。
有几种平台都基于服务于网络层的模-视图-控件 模式(比如Struts 和Spring framework)。
8.2 JSP技术的强势
(1)一次编写,到处运行。
在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。
(2)系统的多平台支持。
基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。
相比ASP/PHP的局限性是显而易见的。
(3)强大的可伸缩性。
从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
(4)多样化和功能强大的开发工具支持。
这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
8.3 JSP技术的弱势
(1) 与ASP一样,Java的一些优势正是它致命的问题所在。
正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。
(2) Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。
从另一方面,它还需要硬盘空间来储存一系列的.java文件和.class文件,以及对应的版本文件。
8.4 JSP内置对象
8.4.1request对象:
该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息,即使用该对象可以获取用户提交信息。
8.4.2 response对象:
对客户的请求做出动态的响应,向客户端发送数据。
8.4.3 session对象:
session对象是一个JSP内置对象,它在第一个JSP页面被装载时自动创建,完成会话期管
理。
从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。
当一个客户访问一个服务器时,可能会在这个服务器的几个页面之间反复连接,反复刷新一个页面,服务器应当通过某种办法知道这是同一个客户,这就需要session对象。
8.4.5 application对象:
服务器启动后就产生了这个application对象,当客户在所访问的网站的各个页面之间浏览
时,这个application对象都是同一个,直到服务器关闭。
但是与session不同的是,所有客户的application对象都是同一个,即所有客户共享这个内置的application对象。
8.4.5 out对象:
out对象是一个输出流,用来向客户端输出数据。
out对象用于各种数据的输出。
8.5 JSP的技术方法
8.5.1将内容的生成和显示进行分离
用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面,并
使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求变化的,例如请求账户信息或者特定的一瓶酒的价格等)。
生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在脚本中,所有的脚本在服务器端运行。
由于核心逻辑被封装在标识和JavaBeans中,所以Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。
8.5.2适应平台
几乎所有平台都支持Java,JSP+JavaBeans几乎可以在所有平台下通行无阻。
从一个平台移植到另外一个平台,JSP和JavaBeans甚至不用重新编译,因为Java字节码都是标准的与平台无关的。
8.5.3 数据库连接
Java中连接数据库的技术是JDBC,Java程序通过JDBC驱动程序与数据库相连,执行查询、
提取数据等操作。
此外,通过开发标识库,JSP技术可以进一步扩展。
第三方开发人员和其他人员可以为常用功能创建自己的标识库。
这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来进行工作。
JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且能扩展到支持企业级的分布式应用中。
作为采用Java技术家族的一部分,以及Java 2(企业版体系结构)的一个组成部分,JSP技术能够支持高度复杂的基于Web的应用。
由于JSP页面的内置脚本语言是基于Java的,而且所有的JSP页面都被编译成为Java Servlets,所以JSP页面具有Java技术的所有好处,包括健壮的存储管理和安全性。
作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。
9、实训的收获与体会
初次涉及Java领域,感觉到Java入门是好像没有C,C++入门快,工具也没有什么Turbo C,Visual C++好用,什么JAVA_HOME,CLASSPATH,虚拟机等概念都是初次基础,旁边的人都很少用Java的。
感觉Java就是做Applet的。
慢慢的知道了,开始知道Java博大精深。
让我不可思议的是JAVA 2,JDK,J2SE,J2EE,J2ME等新名词在自己的脑海里蔓延。
慢慢的自己知道了JCP组织是制定Java相关规范的发源地 ,于是订阅了一份邮件列表。
真是好东西啊,定期有Java的最新动向,所以Java的动态尽收眼里,搭起Java开发环境后,记得刚开始还是用UltraEdit编辑并编译的慢慢的改用JCreator了,最开始买了一套
对于入门来说足够了。
慢慢的知道
有了Java经验后,看这本书特别过瘾,所以现在还经常翻翻。
周而复始的看,效果特别好。
慢慢的知道了Oreilly公司出的图书不错,不知道什么时候,要开始干项目了,以前从书上看到的东西,慢慢的在项目中有了很好的机会去温习,慢慢的有了感觉,开始主要是用Swing,开发桌面系统,放置一个按钮怎么也放不好,后来才知道有一个布局管理器。
慢慢的开始涉及到数据库访问,JDBC。
随后Java规范了。
最开始下载的规范是JDBC Specification,很多概念一目了然,尤其是DATABASE的事务性控制,自己对于她的理解慢慢的有了较为深入的了解。
对于开发C/S结构,比如,Swing+JDBC,开发数据库应用系统,让我学会开发两层结构的应用系统。
也不知道什么时候要开始开发一个网站,基于Linux+JSP+JavaBean+Oracle的系统。
很是有意思。
为什么这么说呢?
因为不同于Swing+JDBC的开发模式,系统之间多了一层;同时,很多开发技术和面向左面系统不一样,比如分页技术。
完成项目后,自己对于Java的很多方面都比较了解了。
开始思考一个问题,J2EE是什么东西?
。
我们学习Java大概有3个方向,第一,桌面系统,包括C/S结构;第二,J2ME,面向无限领域,很有潜力的家伙,看看中国的手机用户就知道了。
第三,面向企业应用、计算的平台,J2EE. 在痛苦的抉择后,我选择J2EE..分享J2EE给我带来的快乐。
学到现在,最大的感觉,就是:
简单就是美,美就是Java.不会有学MFC的痛苦,也不会有去分析STL的艰辛,网路应用上一点也不逊色于C++。
Servlet过滤器,XML方面较为全面的知识,知道了J2EE整个框架中各种技术的实际应用。
慢慢的,开始研究WebLogic配置好的Pet Store(也是Sun公司的)。
慢慢的分析两者的不同之处。
开始对J2EE Specification有了很好的感觉。
因为J2EE Specification本身是很严肃的,但Pet Store给出了活力。
在反复的学习中,我明白了J2EE构架的70—80%。
新的问题又出来了,实际企业中会如何建构一个J2EE系统呢?
带着这个问题,我开始分析Core J2EE Patterns,这本书。
同时,也有EJB Design Patterns。
慢慢的,开始知道了J2EE的魅力所在,知道了J2EE为什么会在企业中得到较为好的认可。
大家都知道,设计模式一词,在公司上班,你们的老板会看你的代码吗?
会赞赏你的DP很好吗,我想很少。
在完成你的工作进度之余,加班,加班,再加班,我想你没有更多的时间去分析研究DP.但,J2EE框架不一样,她内置了很多优秀的设计模式,我们在设计开发、构架一个J2EE系统中用到了很多设计模式。
比如,MVC,EJB中封装的DAO设计模式。
构架J2E系统用Session Façade,Message Façade设计模式也不会太困难。
这也是后来J2EE吸引我的地方。
慢慢的我知道了,作为一个J2EE开发者,我们要掌握其中的核心内容。
我个人认为,3方面很重要。
实施EJB系统常用的架构、设计模式,比如session façade、message façade、DTO等。
J2EE系统构架中常用的模式。
UML-> EJB,EJB->UML相互映
射。
通过实训,我自身发生了重大的转变,我相信我会在JAVA开发这条路上走的更长更远。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- javaweb 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)