JavaEE

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Tomcat、MyEclipseTomcat是一个实现了JAVAEE标准的最小WEB服务器。此服务器是由Apache组织开发的,下载的Tomcat会有两种版本:1、手工安装版2、windows安装版3、使用windows安装版可以直接在服务中进行注册,通过服务启动Tomcat服务器,而手工的话,就必须进行单独的配置等在安装Tomcat之前系统需要有JAVASE的支持,需要配置好JAVASE的路径,因为每台机器可能有多个JDK,所以需要在环境变量中设置好使用的是哪一个JDK。任何的服务器都会在指定的端口上进行监听,默认的是8080(但是需要注意的是,如果机器上安装了Oracle,则此端口会被占用)而且,日后在发布项目的时候,一般端口都要设置为80,同样,改为80以后,如果先启动了迅雷,服务器也不能启动。tomcat主目录的文件夹有以下几个:·bin:所有的可执行文件·comm(6.0版本是lib):存放的是需要的*.jar·conf:配置文件,服务器的修改都要从此目录中进行·logs:日志文件,如果服务器出现错误,会自动记录·server(5.x中有):服务的管理程序·webapps:所有的可执行的WEB项目都会放在此目录之中·work:此文件夹中保存了所有的临时文件,当开发中发现无论怎样调整都无法正确执行的时候,就可以考虑将此文件夹中的全部内容清空配置Tomcat服务器Tomcat中的conf文件夹中的server.xml文件是配置的核心文件,如果要想修改服务器的启动端口,则可以将server.xml中的Connector的端口改为80Connectorport=80protocol=HTTP/1.1connectionTimeout=20000redirectPort=8443/需要注意的是:服务器中的*.xml文件一改变,则服务器就必须得重启。因为配置信息是在启动的时候读取的。配置虚拟目录Tomcat中配置虚拟目录是必须的,因为所有的开发有可能是在其他目录中完成的。当然如果想配置虚拟目录则有严格的要求:WEBROOT一般情况下虚拟目录要配置互此文件夹之中|-WEB-INF|-web.xml:配置文件如在D盘下建立一个虚拟目录:D:/webdemo此时需要在server.xml文件中配置,使服务能够找到项目目录在硬盘上的具体位置在host上写上:Contextpath=”/test”docBase=”D:/webdemo”/其中Context表示上下文,表示配置一个新的上下文·path:表示浏览器中的输入路径,必须有”/”·docBase:表示此路径对应着硬盘上的真实目录以后,就可以直接通过找到硬盘上的d:/webdemo文件夹里的内容了,同样,配置完成之后要重启。如果此时出现404错误,则表示:路径出错。原因:在Tomcat中将目录的列表功能关闭了,所以如果现在想通过浏览器观察一个目录中的全部内容,则需要修改conf/web.xml文件。但是需要注意的是:在项目发布的时候,最好将列表功能取消,为了安全!init-paramparam-namelistings/param-nameparam-valuetrue/param-value/init-param修改之后重启服务器。第一个程序hello.jsphtmlheadtitleHelloWorld!!!/title/headbody%out.println(HelloWorld!!!);%/body/html通过运行可以看到,第一次执行慢,之后执行很快。这是因为第一次执行的时候程序要进行编译。第一次:1、客户端通过电脑连接服务器,因为请求是动态的,所以所有的请求交给WEB容器处理2、在容器中找到需要执行的*.jsp文件。3、之后*.jsp文件通过转变为*.java文件4、经过编译之后,形成*.class文件5、最终服务器要执行的是形成的*.class文件第二次执行1、因为已经存在了*.class文件,所以不再需要转换和编译过程修改后执行源文件已经被修改,所以需要重新转换,重新编译在Tomcat中存在一个work文件夹,此文件夹中就保存了所有的临时文件用MyEclipse建立WEB项目MyEclipse本身会自动帮助开发者建立好WEB项目,之后此项目可以通过MyEclipse自动发布,或者像之前那样进行手工的部署运行WEB项目1、可以手工发布(此方法推荐):Contextpath=/eclidocBase=D:\workspace\WebPro\WebRoot/2、第二种是可以直接使用MyEclipse自带的功能,进行自动发布,如果要想进行自动发布,则首先该在MyEclipse中配置好服务器以上表示在MyEclipse中可以使用Tomcat,但是如果要想让Tomcat在MyEclipse中可以直接启动,则必须配置需要的JDK。选择Add增加一个JDK,但是在增加的时候一定要选择到JDK的安装目录即可。此时就表示使用的JDK是标准的JDK此时,项目直接部署到Tomcat之中,部署到了Tomcat的安装目录的webapps文件夹之中,所谓的自动发布,就是直接将所有的WEB项目拷贝到webapps下,直接访问文件夹的名称即可,之后就可以直接在MyEclipse中启动服务器了()第一个交到程序如果要想实现程序的交互,则肯定要依赖于表单,所以此时演示一个最简单的交互程序,用户输入什么内容,input.htmlformaction=input.jspmethod=post请输入:inputtype=textname=inpinputtype=submitvalue=确定/forminput.jsp%Stringstr=request.getParameter(inp);%h1%=str%/h1前面的表单输入哪些内容,后面的JSP程序就显示哪些内容,以上的程序就属于一个标准的交互式程序,但是应注意,以上的所有程序必须在服务器开着且通过浏览器访问的时候才起作用,当然此时了为保证前台页面中输入的内容不为空,也可以进行一些JavaScript判断scriptlanguage=javaScriptfunctionvalidate(f){if(!(/\w+/.test(f.inp.value))){alert(输入不能为空);f.inp.focus();returnfalse;}returntrue;}/scriptformaction=input.jspmethod=postonSubmit=returnvalidate(this)请输入:inputtype=textname=inpinputtype=submitvalue=确定/formJSP基础语法(上)任何语言都有自己的语法,JAVA中有,JSP虽然是在JAVA上的一种应用,但是依然有其自己扩充的语法,而且在JSP中,所有的JAVA语句都可以使用。1、注释在整个JSP中,注释有两大类:·显式注释:是直接使用HTML风格的注释:!----·隐式注释:是直接使用JAVA的注释:\\、/**/|-JSP自己的注释:%----%范例:观察以上的注释区别!--HTML中的注释--%//JAVA中的单行注释/*JAVA中的多行注释*/%%--JSP中自己的注释--%2、Scriptlet从单词上看,Scrpit:表示脚本。Let在JAVA中表示小程序的意思。所以综合看是:脚本小程序。从使用上来说在整个JSP中Script有三种形式:·%%·%!%·%=%2.1、%%在%%中可以定义变量、编写语句。范例:在Script中定义变量,编写语句。·编写数字累加的操作%intsum=0;for(inti=1;i=100;i++){sum+=i;}out.print(“h1sum=”+sum+”/h1”);%2.2、%!%可以直接在%!%的Script之中,定义全局常量、编写方法、编写类,但是一般情况下,不会直接在JSP中定义一个类,但是,绝对不能直接在里面编写任何的语句。%!publicstaticfinalStringDBDRIVER=oracle.jdbc.driver.OracleDrover;publicstaticfinalStringDBURL=jdbc.oracle.thin@localhost:1521:MLDN;%%out.println(DBDRIVER=+DBDRIVER);out.println(DBURL=+DBURL);%也可以直接在%!%编写方法范例:在%!%中编写方法%!publicstaticintfun(inti,intj){returni+j;}%%out.println(fun(10,20));%2.3、%=%此种Script有一个别名,称为表达式输出,可以直接使用此形式的Scriptlet输出一个变量或一个具体的内容。范例:%!publicstaticintfun(inti,intj){returni+j;}publicStringname=MLDN;%%=fun(10,20)%%==name%当然,如果要想输出,也可以使用out.print,但是现在有了两种方式,使用哪种方法更好呢?2.4、使用那种输出更好out.print与%=%的功能一样,如果说要想知道那种更加方便,则可以通过一个范例说明,此范例的功能如下·打印100×100的表格如果要想完成此功能,则要使用for循环输出,两层循环,一层控制行,一层控制列实现方式分为两种:第一种,out.print(),第二种,%=%范例:使用out.print打印表格%out.println(tableborder=1);for(inti=0;i100;i++){out.print(tr);for(intj=0;j100;j++){out.print(td+(i*j)+/td);}out.print(/tr);}out.println(/table);%功能完成,但是存在不妥之处:1、编写代码比较混乱,HTML代码与JAVA代码混在一起2、源文件中在代码杂乱无章3、无法使用Dreamweaver来处理,因为此种方法设计中不显示表格范例:使用%=%进行输出tableborder=1%for(inti=0;i100;i++){%tr%for(intj=0;j100;j++){%td%=i*j%/td%}%/tr%}%/table从代码中可以清楚的发现,HTML代码之间合理的分开了,而且源文件中的代码格式清晰。还可以直接在Dreamwear中编辑经讨论,使用表达式%=%输出最好3范例:动态打印表格之前在服务器配置的时候已经了解了如何向JSP中传递参数,那么现在要求完成一个功能,此功能为:用户通过表单传递表格的行或列,之后JSP页面接收此数值,并进行表格的打印3.1、实现一:基础功能实现范例:printTable.htmlformaction=printTable.jspmethod=posttabletrtd输入行数:/tdtdinputtype=textname=rows/td/trtrtd输入列数:/tdtdinputtype=textname=cols/td/trtrtdinputtype=submitvalue=确定/tdtdinputtype=resetvalue=重置/td/tr/table/form

1 / 62
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功