版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机语言JSP实习报告实习内容:JSP实习目的:通过 JSP的学习,可以独立 的编写留言板、上传规格、考试系统、连接SQLServer数据库、以及怎么样配置运行 jsp服务器实习要求:懂得什么是 JSP,运行原理,它的基本语法,内置对象,服务端的输出 缓冲区,文件流的读取,jsp数据库如:jdbc、odbc、mysql、 oracle 等,jsp 与 javaBeans,javaServlet 等 JSP 是 JavaServerPages的缩写,是由 Sun公司倡导、许多公司参 与,于1999年推出的一种动态网页技术标准。JSP是一个建立安全的、夸平台的先进动态网页技术。一、JSP工作原理
2、 在一个JSP文件次被请求时,JSP引擎把该JSP文 件转换成为一个servlet 。而这个引擎本身也是一个 servlet ,在 JSWDF或 WEBLOGI中,它就是 JspServlet 。JSP 引擎先把该JSP文件转换成一个 Java源文件,在转换时如 果发现jsp文件有任何语法错误,转换过程将中断,并向服 务端和客户端输出出错信息;如果转换成功,JSP引擎用javac把该Java源文件编译成相应的 class文件。然后创建 一个该SERVLET勺实例,该SERVLET勺jspInit方法被执行,jspInit 方法在servlet的生命周期中只被执行一次。然后 jspService
3、方法被调用来处理客户端的请求。对每一个请求,JSP引擎创建一个新的线程来处理该请求。如果有多个客户端同时请求该JSP文件,则JSP引擎会创建多个线程。每个客户端请求对应一个线程。以多线程方式执行可大大降低对系统的资源需求,提高系统的并发量及响应时间但应该注意多线程的编程限制,由于该 servlet始终驻于内存,所以响应是非常快的。如果.jsp文件被修改了,服务器将根 据设置决定是否对该文件重新编译,如果需要重新编译,则将编译结果取代内存中的servlet ,并继续上述处理过程。虽然JSP效率很高,但在次调用时由于需要转换和编译而有 一些轻微的延迟。此外,如果在任何时候如果由于系统资源不足的原因
4、,JSP引擎将以某种不确定的方式将servlet从内存中移去。当这种情况发生时jspDestroy 方法首先被调用,然后servlet实例便被标记加入"垃圾收集"处理。jspInit 及jspDestory 格式可在jspInit中进行一些初始化工作,如建立与数据库的连接,或建立网络连接,从配置文件中取一些参数等,在jspDestory 中释放相应的资%!publicvoidjsplnit("jspinit");%!publicvoidjspDestory("jspDestory");%、服务端的输出缓冲区缺省情况下:服务端要输出到客
5、户端的内容,不直接写到客户端,而是先写到一个输出缓冲区中.只有在下面三中情况下,才会把该缓冲区的内容输出到客户端上:该JSP网页已完成信息的输出输出缓冲区已满 JSP中调用了或输出缓冲区的大小可以用:或 设置,设置输出缓冲区的大小为1KB。或 ;设置输出缓冲区的大小为0,即不缓冲。或(0);用或可取的输出缓冲区的大小,单位为字节.用 可检查看服务端是否 已将数据输出到客户端.如果返回值是TRUB则已将数据输出到客户端,是FALSE则还没有.三、服务端输出重定向有以下3种方法可以做到输出重定向:("URL")该方法通过修 改HTTP协议的HEADERS分,对浏览器下达重定向指
6、令的,使 浏览器显示重定向网页的内容.("http:/localhost:7001/");下面的 方法也 能改变HTTPHEADER属性,它的原理和 1 是一样 的.(_MOVED_PERMANENTLY);StringnewLocn="/"("Locati on",newLocn);% 采用 JSP:FFORWOR该方法是利用服务器端先将数据输出到缓冲区 的机制,在把缓冲区的内容发送到客户端之前,原来的不发送,改为发送该页面的内容,如果在JSP:FORWOR之前有很多 输出,前面的输出已使缓冲区满,将自动输出到客户端,那么 该语句将
7、不起作用,这一点应该特别注意.如下面的例子中(1)会输出的内容,2不会输出的内容,而是输出("中门并且在服务端会抛出:Responsealreadymitted异常,但客户端没有任何错误输 出 。(1)%pagebuffer="1kb"%longi=0;for(i=0;i10;i+)("");%jsp:forwardpage="./"/Q%pagebuffer="1kb"%longi=0;for(i=0;i 600;i+)("T);%法(1),(2) 可以使用变量表示重定向的地址 ;方法(3)不
8、能使用变量表 示重定向的地址。 Stringadd="./"jsp:forwardpage=add/ 无 法 重 定 向 到 中 去 Stringadd=http:/localhost:7001/(add);可以重定向到http:/localhost:7001/ 中去。2.采用方法(1),(2)request 中的变量(通过 保存到request中的值)不能在新的页面中 采用,采用方法 能.综上,我们应该采用(1),(2)重定向比 较好. 四、JSP基本配置: 步:下载j2sdk和tomcat : 到sun官方站点下载j2sdk,注意下载版本为 WindowsOffline
9、lnstallation 的 SDK 同时最好下载,然后 到tomcat官方站点下载tomcat ; 第二步:安装和配置 你的j2sdk和tomcat :执行j2sdk和tomcat的安装程序, 然后按默认设置进行安装即可。1.安装j2sdk以后,需要配置一下环境变量,在我的电脑-属性-高级-环境变量-系统变量中添加以下环境变量(假定你的j2sdk安装在 ): JAVA_HOME=c:=.;%JAVA_HOME%lib;%JAVA_HOME%lib;: CATALINA_HOME=c:tomcat;CATALINA_BASE=c:tomcat;然 后修改环境变量中的classpath ,把to
10、mat安装目录下的monlib 下的追加到 classpath 中去,修改后的 classpathclasspath=.;%JAVA_HOME%lib;%JAVA_HOME%lib;%CATALINA_HOME%monlib; 接着可以启动tomcat,在IE 中访问http:/localhost:8080如果看到tomcat的欢迎页面的话说明安装成功了。五、JSP与SQL的调试 JSP用Jdbc与SQL数据库连接安装 JSP访问SQLServerXX的驱动程序: 从微软的网站上下载驱动程序:SQL Server XX ForJDBC驱动程序,在百度中随便搜索就有。然后将它安装好。(比如安装目
11、录是D:SQLDriverForJDBC。) 然后必须将安装目录中的lib目录下三个jar文件:,拷贝到Tomcat目录下 mon'lib 目录下,之后,修改环境变量中的 CLASSPAT,把SQLServerXXForJDBC驱动程序安装目录下的 D:SQLDriverForJDBClib;D:SQLDriverForJDBClib;D :SQLDriverForJDBC; 追加到 CLASSPAT中去。必须重新启 动Tomcat!这样做的目的是,jsp页面在编译过程中不会出 现找不到sql server driver类库的问题。写一个简单的用来测试连接 SQL Server XX的
12、JSP代码 % pageimport="*,*,*,*"contentType="text/html;charset=gb2312"% htmlbody%("").newlnstance;Stringurl="jdbc:microsoft:sqlserver:/localhost:1433;Data baseName=pubs" /pubs为你的数据库的Stringuser="sa"StringConnectionpassword="admin"Statementstmt;(
13、url,user,password);String from jobs" % 您的个字段conn= stmt=(_SCROLL_SENSITIVE,_UPDATABLE); sql="selectjob_id,job_descResultSet rs=(sql);while()您的第二个字段内容% ("数据库操作成功,恭喜;% /body /htmlsql_,放在/Root目录下。然后就是安内容为:%=(1)%br为:=(2)%br% %你");% ;配置详解首先下载驱动程序:将上面的JSP代码保存为Servlet/JSP装JDK我是把它装到从 c:JD
14、K目录下面。然后设置CLASSPATI的问题了:正如操作系统利用 PATH来搜索可执行程序一样,Java运行环境也会遍历 CLASSPAT来查找类, 即便是 HelloWorld 这样简单的程序,JVM也会遍历 CLASSPATH定义的每一个路径,直到找到相应的文件为止。相信大家用的系统不是 2k就是XP,然后就应当如下设置 Path :我的电脑- 属性- 高级- 环境变量然后在环境变量的Path后面追加:C:JDKbin;.;C:JDKlib也可以这样配置 :C:JDKbin;.;C:JDKlib;C:JDKlib记住:环境变量中的.切记不能少,它表示当前路径,如果少 掉出现的错误等会就说!
15、是关于运行环境的类库,是关于一些工具的类库如果没有配置:C:JDKbin ,则会出 现“javac '不是内部或外部命令,也不是可运行的程序或 批处理文件。”这样的错误。下面我们就写一个示例程序:打开Editplus,新建一个Java文件,请照着如下输入,要一 字不漏,并且分清大小写: publicclassHelloWorldpublicstaticvoidmain(String args)("Hello,World!");然后把这个文件保存(ctrl+s)到Java是分大小写的,所以大小写一定要分清, 是不是或者其他。运行:开始- 运行- cmd 在控制台中把目
16、录切换到当前目录:你就会在控制台上看见输出的 Hello,World!javac是编译命令,它把编译成java就是解释命令,JVM把解释执行. 在这个时候:1、如果出现 Exceptioninthread"main":HelloWorld 那就是 你在环境变量中没有加上那个.(dot)2、如果出现Exceptioninthread"main":main或者:1:Publicclasshelloworldmustbedefinedinafilecalle d"".那就是你没有分清大小写的写入这个HelloWorld ,或者保存得时候没有
17、保存为。这个名字一定要跟 publicclass的名字一样对于环境变量的问题就说到这里,下面我先所说怎么在 Editplus里面编译和运行,在Tools 参数设置- 配置用户工具1.添加工具菜单文字:CompileJavaProgram 程序:C:JDKbin 参数:文件名称初始目录:文件目录 2.添加工具菜单文字:RunJavaProgram 程序:C:JDKbin参数:文件名称初始目录:文件目录工具组名称可以随便添,比如DebugJavaProgram。 然后在Tools的下拉菜单 中,你就会看见 CompileJavaProgram 以及 RunJavaProgram 这两个选项,以后你
18、就可以利用ctrl+1 编译和Ctrl + 2运行程序了下面我们讨论Servlet的运行环境:要运行Servlet,则需要 JSP/Servletcontainer ,我用 Tomcat。http:/builds/jakarta-tomcat-5/nightly/然后把这个压缩包解压到:C:Tomcat然后再配置环境变量; 添 加 三 个 系 统 变 量:JAVA_HOME:C:JDKTOMCAT_HOME:C:TomcatCLASSPATH:%JAV A_HOME%lib;%TOMCAT_HOME%lib Tomcat 的环境变量就 配置完毕了,下面检验 Tomcat是否能够运行:在控制台中
19、转到C:Tomcatbin 这个目录,运行 startup ,然后回 出现一个窗口,连跳一大串东西,最后表示 Server已经运 行。在浏览器中输入 http:/localhost:8080 ,出现欢迎界面,则表示 Tomcat没问题了。然后和上面一样,写入 你的个Servlet。*;*;*;publicclassHelloWorldextendsHttpServletpubli cvoiddoGet(HttpServletRequestrequest,HttpServletRes ponseresponse)throwsServletException,IOException("t
20、ext/html");PrintWriterout=;ntln(”v html > v head > v title >");("ThisismyfirstServlet");("v /title >v /head >vbody > ");(" v hl > Hello,World! v /hi >");(" v /body > v /html >");然后照样用来编译这个文件,如果出现无法*那么就是应该把C:Tomcatmonlib
21、里面的文件拷贝到 C:JDKjrelibext中,再次编译,就没有问题了!然后在 Tomcat目录里面的C:TomcatwebappsROOT 里面按如下的文件结构:(如果你的 servlet 的.class 打成 了 .jar 文件,则放在 lib 下面)ROOTWEB-INFclasses(把 上面生成的文件放在这个里面)然后在浏览器中输入http:/localhost:8080/servlet/HelloWorld,于是 Server众望所归的报错了 :Error404-NotFound出不来,然后继续弄下面的Servlet 必须使用C:TomcatwebappsROOTWEB-INF
22、这个目录下面的文件进 行注册,用EP打开这个文件,在里面加入:v servlet> v servlet-name > HelloWorld v /servlet-name > v servlet-class > HelloWorld v /servlet-class > v /servlet > v servlet-mapping > v servlet-name > HelloWorld v /servlet-name > v url-pattern >/servlet/helloworld/url-pattern这样的结构v se
23、rvlet > vservlet-name>HelloWorldservlet-class>HelloWorld/servlet >表示指定包含的/servlet-mapping >v /servlet-name> vv /servlet-class> vservlet类。而以下的结构:v servlet-mapping > v servlet-name > HelloWorld v/servlet-name >v url-pattern > /servlet/HelloWorld v /url-pattern > v /
24、servlet-mapping >表示指定HelloServlet 应当映射到哪一种 URL模式。 在修改完毕 过后,重新启动 Server , 然后再输入 http:/localhost:8080/servlet/HelloWorld,那么偌大一个Hello,World! 等着你呢。六、JSP和Servlet的区别:SUN首先发展出 SERVLE T其功能比较强劲,体系设计也很 先进,只是,它输出 HTML语句还是采用了老的 CGI方式, 是一句一句输出,所以,编写和修改HTML非常不方便。后来SUN推出了类似于 ASP的JSP,把JAVA代码嵌套到 HTML 语句中,这样,就大大简化
25、和方便了网页的设计和修改。ASP,PHP JSP都是嵌套型的 SCRIPT语言。一个分布式系统应分 为三层:表示层,业务逻辑层,数据存取层,在J2EE体系结构 中,SERVLET用来写业务逻辑层是很强大的,但是对于写表示层就很不方便。JSP则主要是为了方便写表示层而设计的。ENTITYBEAF实现数据存取层,SESSIONBEA实现业务逻辑层。如果是简单的应用系统,可采用JSP+BEANS的结构进行设计,JSP中应该仅仅存放与表示层有关的东西,也就是说,只放输出HTML网页的部份。而所有的数据计算,数据分析, 数据库联结处理,统统是属于业务逻辑层,应该放在 JAVABEAN中。通过JSP调用JAVABEAN,实现两层的整合。 实际上,微软的 DNA技术,简单说,就是 ASP+C0M/DCOM 术。与JSP+BEAN完全类似,所有的表示层由 ASP完成,所 有的业务逻辑由 COM/DCOI完成。为什么要采用这些组件技 术呢?因为单纯的 AS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- pwc -引领未来的数字化领导力模型
- 海-气相互作用和环流异常(讲义)-2025年高考地理一轮复习
- 2024年文教体育用品项目投资申请报告代可行性研究报告
- 2023年炮塔式铣床资金筹措计划书
- 强化管理-有效教育-交通安全-常抓不懈1
- 经济数学-教学日历
- Python程序设计实践- 习题及答案汇 张银南 ch01-21 Python程序设计实验的目的与要求- 中文词云
- 关于青春无悔演讲稿范文分享(33篇)
- 设计单元教学计划
- 【沪科】第三次月考卷
- 2025年蛇年春联带横批-蛇年对联大全新春对联集锦
- 山东省菏泽市牡丹区2023-2024学年七年级上学期期中数学试题(含解析)
- 国家开放大学《比较初等教育》终结性考核大作业参考答案
- 西师大版数学五年级上册 小数混合运算
- 南京某校2023-2024四年级上册语文期中试卷
- 中国普通食物营养成分表(修正版)
- 《大学生创新创业教育》教案 项目5 组建创业团队
- 第12课 明朝的兴亡【知识精研】 《中国历史》 中职中专 高效课堂课件
- 99版-干部履历表-A4打印
- 小学道德与法治-天下兴亡匹夫有责的爱国情怀教学设计学情分析教材分析课后反思
- 广东省通用安装工程综合定额(2018)Excel版
评论
0/150
提交评论