学坛作文网

JSP实习报告

2022-03-21 17:46:54 3

JSP实习报告

JSP实习报告

 

实习内容:JSP

实习目的:通过JSP学习,您可以编写留言板,上载规范,测试系统,连接SQLServer数据库,以及如何配置JSP服务器。

实习要求:我知道什么是JSP,运行原理,其基本语法,内置对象,服务器输出缓冲区,文件流读取,JSP数据库,JDBC,ODBC,MySQL,Oracle等,JSP和JavaBeans,Java Servlet等待

 

JSP是Java Server页面的缩写,由Sun公司主张,许多公司涉及的许多公司在1999年推出的动态Web技术标准.JSP是一种用于建立安全和赞誉的先进动态网络技术。

 

首先,JSP工作

 

当首次请求JSP文件时,JSP引擎将JSP文件转换为servlet。而此引擎本身也是一个servlet,在jswdk或weblogic中,它是jspservlet。 JSP引擎首先将JSP文件转换为Java源文件。如果发现了JSP文件时发现了JSP文件,则转换过程将被中断,并且将错误消息输出到服务器和客户端;如果转换成功,JSP引擎使用Javac将Java源文件编译为相应的类文件。然后创建执行的servlet的实例,执行该实例,并且jspinit()方法仅在servlet的生命周期中执行一次。然后调用JSPService()方法来处理客户端的请求。对于每个请求,JSP引擎创建一个新线程来处理请求。如果有多个客户端同时请求JSP文件,则JSP引擎会创建多个线程。每个客户端请求一个线程。执行多线程方式可以大大降低系统的资源要求,提高系统的并发性和响应时间。但是你应该注意多线程编程限制,因为servlet总是在内存中,因此响应非常快。如果修改了.jsp文件,则服务器将决定是否根据设置重新编译文件。如果需要重新编译,则需要更换内存中的结果,并继续上述处理。虽然JSP效率很高,但第一次呼叫略有延迟。此外,如果在任何时候,如果系统不足,则JSP引擎将以一定不确定的方式从内存中删除servlet。发生这种情况时,首先调用JSPDestroy()方法,标记servlet实例以加入“垃圾收集”过程。 jspinit()和jspdestory()格式如下:jspinit()中的一些初始化工作,例如与数据库建立连接,或者建立网络连接,从配置文件中占用一些参数,释放相应的资源。

<%!

public void jspinit()

{

system.out.println(“jspinit”);

}

    

%>

<%!

public void jspdestory()

{

system.out.println(“jspdestory”);

}

%>

 

 

二,服务器的输出缓冲区

 

默认情况下:服务器将输出到客户端的内容,而不是直接写入客户端,但首先写入输出缓冲区。仅在以下三个的情况下,缓冲区的内容将输出到客户端上:

JSP页面已完成信息的输出

输出缓冲区已满

out.flush()或response.flushbuffer()在JSP中调用。

可以使用输出缓冲区的大小:或response.setBuffersize(),如下:

将输出缓冲区的大小设置为1KB。或response.setBuffersize(1);

将输出缓冲区的大小设置为0,即,它不会缓冲。或response.setBuffersize(0);

使用response.getBuffersize()或out.getBuffersize(),输出缓冲区的大小,单位为字节。使用response.iscommited()检查数据是否已输出到客户端。如果返回值为true,则数据已输出到客户端,尚未。

 

第三,服务器输出重定向

 

输出重定向有三种方法:

response.SetReedect(“URL”)此方法是向浏览器重定向的命令,以将浏览器重定向到浏览器以将浏览器重定向到浏览器。 response.sendredirect(“http:// localhost:7001 / index.html”);

以下方法还可以更改HTTP标题属性,它与1相同。

<

response.setstatus(httpservletresponse.sc_moved_persponse.sc_moved_persmental);

string newlocn =“/ index.html”;

response.setheader(“地点”,newlocn;

%>

使用此方法是使用服务器端将数据输出到缓冲区。在将缓冲区的内容发送到客户端之前,原始不会发送,更改页面内容,如果JSP:forword>有许多输出。以前的输出使缓冲区,自动输出到客户端,然后此语句将无法正常工作,这应该支付给它。在以下示例(1)输出索引中.html内容,的index.html 2中的内容不输出,但输出通过out.println(“@@@@@@@@@@@@@@@@@”);内容和服务结束将抛出:java.lang.illegalstateException:响应成像预告异常,但客户端没有任何错误输出。

(1)

<%@页面缓冲区=“1kb”%>

<

long i = 0;

    

for(i = 0; i <10; i ++)

{

通过out.println(“@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @【汇款【@【汇款【汇款【汇装】【汇款】【汇款【汇款】【汇装】【汇款】:【汇款【汇装】【汇款】【汇装】【汇款】【汇款】【汇款】【汇装】【汇款】【汇款】【汇款】【汇款】【汇款】【汇款】【汇款】【汇款】@

}

%>

(2)

<%@页面缓冲区=“1kb”%>

<%long i = 0;

for(i = 0; i <600; i ++)

{

通过out.println(“@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @【汇款【@【汇款【汇款【汇装】【汇款】【汇款【汇款】【汇装】【汇款】:【汇款【汇装】【汇款】【汇装】【汇款】【汇款】【汇款】【汇装】【汇款】【汇款】【汇款】【汇款】【汇款】【汇款】【汇款】【汇款】@

}

%>

描述:

1.方法(1),(2)可以使用变量来指示重定向的地址;方法(3)不能使用变量来表示重定向的地址。

String add =“./ index.html”;

无法重定向到index.html

String add = http:// localhost:7001 / index.html

response.sendredirect(添加);

您可以重定向到http:// localhost:7001 / index.html。

2.使用方法(1),(2)请求(由request.setttribute()用于保存在请求中的值),则方法(3)可以在新页面被采用。总之,我们应该使用(1),(2)重定向更好。

2.  采用方法(1),(2)request中的变量(通过request.setattribute()保存到request中的值)不能在新的页面中采用,采用方法(3)能.  综上,我们应该采用(1),(2)重定向比较好.    

四,JSP基本配置:

四、jsp基本配置:    

第1步:下载J2SDK和Tomcat:转到Sun官方网站()下载J2SDK,注意SDK for Windows离线安装,而最好下载J2SE 1.4.2文档,然后转到Tomcat官方网站()下载最新的4.1 .x版tomcat;

第一步:下载j2sdk和tomcat:到sun官方站点()下载j2sdk,注意下载版本为windows offline installation的sdk,同时最好下载j2se 1.4.2 documentation,然后到tomcat官方站点()下载tomcat(下载最新4.1.x版本的tomcat); 

步骤2:安装和配置J2SDK和Tomcat:执行J2SDK和Tomcat安装程序,然后按默认设置。

1.安装J2SDK后,需要配置环境变量,在我的计算机中添加以下环境变量 - >属性 - >高级 - >环境变量 - >系统变量(假设您的J2SDK安装在C:J2SDK1.4.2中):

java_home = c:j2sdk1.4.2

classpath =。;%java_home%libdt.jar;%java_home%lib ools.jar; (。;不能少,因为它代表了当前路径)

path =%java_home%

然后,您可以编写一个简单的Java程序来测试J2SDK是否已成功安装:

公共课程测试{

公共静态void main(字符串args []){

system.out.println(“这是一个测试计划”);

}

}

将上面的程序保存为名为test.java文件的文件。

然后打开命令提示符窗口,cd到test.java,然后键入以下命令

javac test.java.

Java测试

此时,如果您看到此测试程序。如果您有成功安装,如果您不打印此句子,则需要仔细检查您的配置。

2. Tomcat的安装后,加在我的电脑 - >属性以下环境变量 - >高级 - >环境变量 - >系统变量(假设你的Tomcat安装在C:OMCAT):

Catalina_Home = C:Omcat;

Catalina_Base = C:Omcat;

然后修改环境变量中的类路径,在commat安装目录下在commonlib下添加servlet.jar到类路径,修改后的类路径如下:

类路径=;%JAVA_HOME%libdt.jar;%JAVA_HOME%LIB ools.jar;%CATALINA_HOME%commonlibservlet.jar;

然后,您可以启动Tomcat,访问http:// localhost:8080 IE。

如果您看到Tomcat的“欢迎”页面,则指示成功。

如果看到tomcat的欢迎页面的话说明安装成功了。    

V. JSP和SQL调试

五、jsp与sql的调试    

JSP与带有SQL数据库的JDBC连接

安装JSP以访问SQL Server 2000的驱动程序:

从Microsoft的网站下载驱动程序:SQL Server 2000对于JDBC驱动程序,随便在百度搜索。

然后安装它。 (例如,安装目录为D:SQLDriverForJDBC。)

然后,您必须在安装目录中使用lib目录中的三个jar文件:

msbase.jar,mssqlserver.jar,msutil.jar commonlib复制到Directory Tomcat目录,然后修改类路径环境变量,为JDBC驱动程序安装目录的SQL Server 2000 D:SQLDriverForJDBCLIBMS.jar; D:sqldriverforjdbclibmssqlserver .jar; D:sqldriverforjdbccmsutil.jar;追加分类路径。

必须重新启动Tomcat!这样做的目的是,JSP页面在编译过程中没有SQL Server驱动程序类库的问题。

写一个简单的JSP代码来测试连接SQL Server 2000

<%@页面导入=“java.lang。*,java.io. *,java.sql。*,java.util。*”contentType =“text / html; charset = gb2312”%>

<%class.forname(“com.microsoft.jdbc.sqlser.sqlserverdriver)。newinstance();

String url =“jdbc:microsoft:sqlserver://localhost:1433; databaseName = pubs“;

//为您的数据库提供PUBS

字符串user =“sa”;

字符串密码=“admin”;声明STMT;

连接conn = drivermanager.getConnection(URL,用户,密码);

stmt = conn.createStatement(ResultSet.type_scroll_scsive,suckset.concur_updatable);

字符串SQL =“从作业中选择JOB_ID,JOB_DESC”;

ResultSet RS = stmt.executeQuery(SQL);

而(rs.next()){%>

您的第一个字段内容是:<%= rs.getstring(1)%>

您的第二个字段内容是:<%= rs.getString(2)%>

<%}%>

<%out.print(“数据库成功,祝贺”);%>

<%rs.close();

stmt.close();

conn.close();

%>

   

将上述JSP代码保存为SQL_TEST.JSP,将其放在/根目录下。

Servlet / JSP配置详细信息

首先下载驱动程序:

然后安装JDK,我把它放在C:JDK目录下面。

然后设置类路径的问题:

由于操作系统使用要搜索可执行文件的路径,因此Java运行时环境也将遍历类路径来查找类,即使是HelloWorld的简单程序,JVM也遍历了由类路径定义的每条路径,直到找到相应的文件。

我认为使用的系统不是2k是XP,然后设置路径如下:

我的电脑 - >属性 - >高级 - >环境变量

然后添加:C:JDKIN; C:环境变量背面的JDKLIB:C:JDKLIB;

它也可以配置:C:Jdkin;。;; C:jdklibdt.jar; C:jdklib ools.jar

★记住:环境变量。记住不能小,它代表了当前路径,如果错误等等。会说!

dt.jar是关于操作环境的类库,Tools.jar是关于一些工具的类库。

如果没有配置:c:jdkin,“javac”不是内部或外部命令,也不是运行程序或批处理文件。“这个错误。

下面我们将编写一个示例程序:

打开EditPlus,创建一个新的Java文件,请输入以下内容,您想要一个没有泄露的单词,然后选择案例:

公共类HelloWorld {

公共静态void main(String [] args){

system.out.println(“你好,世界!”);

}

}

}

然后将此文件(ctrl + s)保存到helloworld.java,Java是大小的,所以案例感觉必须划分,它是helloWorld.java或其他。

run:start - >运行 - > cmd

将目录切换到控制台中的当前目录:

Javac HelloWorld.java.

Java HelloWorld.

你会看到产出你好,世界!

javac是一个编译命令,它将helloworld.java编译为helloworld.class

Java是一个解释命令,JVM解释了HelloWorld.class。

此时:

1.如果在线程“main”java.lang.noclassdefounderror:helloworld中的例外

也就是说,您没有在环境变量中添加。 (点)

那就是你在环境变量中没有加上那个.(dot)

2,如果在线程“main”java.lang.nosuchmethodeerror:main中的例外

或HelloWorld.java:1:公共类Helloworld必须在一个名为的文件中定义

“helloWorld.java”。

也就是说,你不知道如何编写这个helloworld,或者你还没有保存为helloWorld.java。此名称必须与公共类的名称相同。

对于环境变量的问题,我会说这个,让我说如何在editplus中编译和运行,在工具 - > parameter - >配置用户工具中

  对于环境变量的问题就说到这里,下面我先所说怎么在editplus里面编译和运行,在tools->参数设置->配置用户工具

1.添加工具(添加应用程序)

菜单文本:编译Java程序

程序:C:jdkinjavac.exe

参数:文件名

初始目录:文件目录

  初始目录:文件目录

2.添加工具(添加应用程序)

菜单文本:运行Java程序

程序:C:jdkinjava.exe

参数:文件名(不包括扩展名)

初始目录:文件目录

可以添加工具集名称,例如调试Java程序。

然后在“工具”下拉菜单中,您将看到两个编译Java程序和运行Java程序的选项,可以使用Ctrl + 1编译和Ctrl +2运行程序。

让我们讨论servlet的操作环境:

要运行servlet,您需要jsp / servlet容器,我使用tomcat。

 要运行servlet,则需要jsp/servlet container,我用tomcat。

然后将此压缩包提取为:

C:Omcat.

然后配置环境变量;添加三个系统变量:

Java_Home:C:JDK

tomcat_home:c:omcat

类路径:%java_home%lib;%tomcat_home%lib

配置Tomcat的环境变量,以下验证Tomcat是否可以运行:

转到C:Omcatin在控制台中,运行启动,然后返回,然后跳转一个大字符串,最后服务器已运行。

输入http:// localhost:8080在浏览器中,欢迎界面,表明Tomcat没有问题。然后按照上面编写第一个servlet,编写第一个servlet。

导入java.io. *;

导入javax.servlet。 *;

导入javax.servlet.http。 *;

公共类HelloWorld扩展了Httpservlet

{

公共void doget(httpservletrequest请求,httpservletresponse响应)抛出servletexception,ioException

{

{

response.setContentType(text / html“);

printwriter out = response.getWriter();

out.println(“”);</p><p>出去.println(“这是我的第一个servlet);</p><p>out.println(“</ title> </ head> <body>”);</p><p>out.println(“<h1>你好,世界!</ h1>”);</p><p>out.println(“</ body> </ html>”);</p><p>out.println("</body></html>");</p><p>}</p><p>}</p><p>然后使用javac helloworld.java来编译此文件,如果有导入javax.servlet。 *</p><p>然后你应该在omcatcommonlib中复制servlet.jar文件到c:jdkjrelibext,再次编译,没问题!</p><p>  那么就是应该把c: omcatcommonlib里面的servlet.jar文件拷贝到c:jdkjrelibext中,再次编译,就没有问题了!</p><p>然后在Tomcat目录c:omcatwebapps oot在以下文件结构中:</p><p>rootindex.html.</p><p>rootwelcom.jsp.jsp.</p><p>rootweb-fintibmyservlet.jar(如果您的servlet被推入.jar文件,请将其放在lib下)</p><p>rootweb-infclasseshelldorld.class(放置上面生成的helloworld.class文件)</p><p>然后输入http:// localhost:8080 / servlet / helloWorld,由服务器希望返回:错误404 - 未找到</p><p>  然后在浏览器中输入http://localhost:8080/servlet/helloworld,于是server众望所归的报错了:error 404--not found </p><p>不要来,然后继续</p><p>servlet必须使用c:omcatwebapps CatWeb-Infroductory文件下面的Web.xml文件在EP中注册以打开此Web.xml文件,加入:</p><p>  servlet必须使用c: omcatwebapps ootweb-inf这个目录下面的web.xml文件进行注册,用ep打开这个web.xml文件,在里面加入:</p><p><servlet></p><p><servlet-name> helloWorld </ servlet-name></p><p><servlet-class> helloworld </ servlet-class></p><p></ servlet></p><p><servlet映射></p><p><servlet-name> helloWorld </ servlet-name></p><p><url-pattern> / servlet / helloWorld </ url-pattern></p><p></ servlet映射></p><p></servlet-mapping> </p><p>这种结构</p><p><servlet></p><p><servlet-name> helloWorld </ servlet-name></p><p><servlet-class> helloworld </ servlet-class></p><p></ servlet></p><p></servlet></p><p>表示指定的servlet类。和以下结构:</p><p><servlet映射></p><p><servlet-name> helloWorld </ servlet-name></p><p><url-pattern> / servlet / helloWorld </ url-pattern></p><p></ servlet映射></p><p></servlet-mapping></p><p>表示指定映射的HelloServlet的URL架构。</p><p>   表示指定helloservlet应当映射到哪一种url模式。</p><p>修改web.xml后,重新启动服务器,然后输入http:// localhost:8080 / servlet / helloworld,然后是一个Hello,World!等着你。</p><p>  在修改web.xml完毕过后,重新启动server,然后再输入http://localhost:8080/servlet/helloworld,那么偌大一个hello,world!等着你呢。</p><p> </p><p>第六,JSP和Servlet差异:</p><p>六、jsp和servlet的区别:  </p><p>Sun首先开发Servlet,它相对强壮,系统设计也非常先进。它只是它输出旧的CGI模式。它是一个输出,所以写和修改HTML是非常不方便的。后来,Sun推出了一个类似于ASP的JSP,嵌套Java代码进入HTML语句,以便大大简化和方便的Web设计和修改。 ASP,PHP,JSP都是嵌套脚本。分布式系统应分为三层:表示一个层,业务逻辑层,数据访问层,在J2EE体系结构中,servlet非常强大,但写一个表示层非常不方便。 JSP主要设计为方便地编写表示层。实体bean实现数据访问层,并且会话bean实现业务逻辑层。如果是一个简单的应用程序,您可以使用JSP + Bean的结构。 JSP仅存储与表示层相关的内容,即输出HTML网页的一部分。和所有数据计算,数据分析,数据库链接处理,所有这些属于业务逻辑,都应放在Java Bean中。通过JSP调用Java Bean来实现两层集成。事实上,微软的DNA技术简单地是ASP + COM / DCOM技术。类似于JSP + Bean,所有表示都由ASP完成,所有业务逻辑都由COM / DCOM完成。为什么要使用这些组件技术?由于简单的ASP / JSP语言效率非常低,如果有大量用户点击,纯粹的剪贴针将从他的功能上限迅速到达,并且组件技术可以大大提高功能上限,加速执行速度。另一方面,纯脚本混合在一起表示图层和业务逻辑层,导致修改不方便,并且无法重复使用代码,并且只能改变组件技术。对于复杂的应用程序,实体bean应该用于实现数据访问层,会话bean实现业务逻辑图层,调用jsp的会话bean,称为Entity bea by session bean </p><p>JSP实习报告</p>

同类文章

初中半命题作文:贵在真作文范文(三)

寻找照片,我也在寻找... 放大这些年的学生,转动时间的齿轮,我看到一部微型成电影的电影。这部电影从前面慢慢转动...... 夕阳在宁静的村庄里放了一块薄薄的金色纱布
【四六级】四级作文范文旅游和宅在家里

【四六级】四级作文范文旅游和宅在家里

作文题目: 旅行 1。连续不断的美景使人感到愉快。 2。旅游可以增长人们的知识。 3。然而,过多的旅游会使人感到疲劳。 参考范文: 一连串美丽的风景让人感到高兴
发牢骚,提意见的范文

发牢骚,提意见的范文

本着“忍一阵子,你越想生气,就会越生气”的精神,我将再次呕吐学生会。 我以前的黑板报是我出生以来最好的黑板报。从学校的路上,我不知道是哪位祖父和祖母放出了天the之音。听到“夕阳红”之后
“爱国”主题作文不会写?素材+范文,赶紧来学习

“爱国”主题作文不会写?素材+范文,赶紧来学习

学中文,一个人不能一起学习! 爱国主义是他的祖国已经有数千年历史的最深层的情感。在古代和近代的中国及国外,有多少有远大理想的人,为了在热中拯救祖国,为了捍卫祖国的尊严,为了祖国的繁荣与发展
【小学优秀作文范文】优秀范文:一件令我感动的事的9篇小学作文400字

【小学优秀作文范文】优秀范文:一件令我感动的事的9篇小学作文400字

感动了我 发生了什么变化?夏天,凉爽的微风感动着,冬天是温暖的阳光,甜美的春天,一杯香气浓郁的热茶……随着我们的触摸,我们的心将变得更加明亮。宽敞,纯正... 我仍然记得
100句优美“段首句”,堪称评价最高,随便一句丢作文,篇篇范文

100句优美“段首句”,堪称评价最高,随便一句丢作文,篇篇范文

该段落的第一句100个漂亮句子,可以称为最高评价,随便扔一个作文,文章随笔 可以说是所有学科的主要特征这是学习其他学科的基础。特别是对于低年级的学生,一开始他们什么都不懂。一切都必须慢慢学习
初中英语:必考的20篇作文(附满分范文),值得拿去学习!

初中英语:必考的20篇作文(附满分范文),值得拿去学习!

作文是语言能力的全面表达,也是考试的重点。有很多方法可以改善写作,阅读,练习等,最终称为累积。到底积累了什么?英语写作的积累包括:句型,单词和短语,谚语,名人名言,甚至写作观念也越来越多地被阅读
2018全国卷3高考范文二:山水有责 长征有路_1000字

2018全国卷3高考范文二:山水有责 长征有路_1000字

它是一只鹰,有必要在空中战斗,飞翔数千英里;是老虎,要撼动大山西侧。花开了一个季节,有自己的美丽。每个物种都有每个物种的使命;每个景观对山区和河流负有全部责任;每个时代,每个时代都有长征
2012湖北高考作文范文:那一抹忧伤的底色_1000字

2012湖北高考作文范文:那一抹忧伤的底色_1000字

2012年湖北高考论文题目:技术的优缺点。 从自我选择的角度出发,一个话题引发了讨论:技术的利弊。可以替换字母吗?是否改变。 背景的悲伤 聂承儒 自古以来,字母一直是我们的传统中国传统
高考新材料作文优秀范文示例:身体健康与精神健康_900字

高考新材料作文优秀范文示例:身体健康与精神健康_900字

奥林匹克之父库伯汀(Coubertin)说:“强壮的肌肉是欢乐,活力,平静与纯洁的源泉。”鲁迅说:“每个脆弱的国家,即使健康,如何坚强,也无能为力。无关紧要的物质和来访者。” 世界卫生组织建议