JavaWeb实用教程之Tomcat

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

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

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

资源描述

编写者:郭洪魁第1页共32页TOMCAT部分Tomcat的下载和安装到apache官网下载:。找到tomcat对应的页面,可以下载安装程序,可以下载zip包。zip包解压到本地硬盘即可。然后就是配置环境变量。TOMCAT_HOME:tomcat在本地硬盘的工作文件夹;path:%TOMCAT_HOME%\bin。配置完环境变量后进入cmd命令行窗口,输入startup.bat可以启动tomcat,shutdown.bat关闭tomcat。其实在Windows下startup.bat和shutdown.bat也可以使用catalina命令。其实无论Windows还是Linux,启动tomcat都是通过catalina连接的。·catalinastart·catalinastop·如果想看启动参数,可以:catalinadebugrun,之后exit退出。Tomcat配置首先看看Tomcat5.x目录结构:bin:二进制可执行文件脚本common:Catalina本身和Web应用可加载的类目录conf:配置文件目录logs:日志目录server:服务器所需的类库目录shared:WebApp共享的类库webapps:Web应用所存放的目录applicationswork:Tomcat产生的工作目录(存放jsp产生的class文件)temp:存放临时产生的文件(tomcat用于安全的管理)Tomcat6.x和5.x的目录结构会有所不同,6系列的Tomcat目录会少,但无所谓。基本功能一样的。Tomcat配置文件:conf/server.xml:(注意备份):服务器的主配置文件conf/web.xml:定义所有Web应用的配置conf/tomcat-user.xml:定义了Tomcat用户信息server.xml中定义Tomcat端口的:Connectorport=8080maxHttpHeaderSize=8192maxThreads=150minSpareThreads=25maxSpareThreads=75enableLookups=falseredirectPort=8443acceptCount=100编写者:郭洪魁第2页共32页connectionTimeout=20000disableUploadTimeout=true/如果Tomcat端口和其他应用程序端口发生(比如Oracle)冲突,可以修改以上端口。如果一台电脑上安装多个Tomcat,可以修改server.xml中三个端口:8080,8005和8009。SERVLET部分Servlet配置Servlet是服务端的小程序,一般在容器中运行,最常见的容器是Tomcat。Web容器格式必须遵循Sun公司的规范:WEB-ROOT:(WEB-ROOT的名字可以随意取名)|-WEB-INF(名字必须为WEB-INF)|-web.xml(配置文件,有格式要求,可以拷贝Tomcat的ROOT下的)|-lib|-classesWeb程序可以放在webapps文件夹下,也可以放在其他地方。不过放在其他地方要在Tomcat中配置虚拟目录。Tomcat中配置虚拟目录是必须的,因为所有的开发有可能是在其他目录中完成的。比如,我在E盘建立ServletStudy文件夹,这个就是Web根文件夹(WEB-ROOT),下面有WEB-INF文件夹,WEB-INF文件夹下有web.xml文件。web.xml内容如下:web-appxmlns=:xsi=:schemaLocation=://java.sun.com/xml/ns/javaee/web-app_2_5.xsdversion=2.5display-nameWelcometoTomcat/display-namedescriptionWelcometoTomcat/description/web-app这样一个虚拟目录就配置好了。Web开发虚拟目录一览表:WEB-ROOT根目录,一搬虚拟目录会直接在此目录中配置|-WEB-INF整个Web中的最安全的目录|-classes保存所有*.class文件,*.class文件必须放在一个包中|-lib保存第三方的jar包|-web.xml整个Web工程的部署文件|-js存放javascript的文件夹|-css存放css的文件夹|-jsp存放jsp页面的文件夹|-index.htm,index.jsp一般的欢迎界面编写者:郭洪魁第3页共32页但是此时服务器并不知道E盘上存在这样一个工作目录,所以此时,必须在Tomcat下conf下server.xml文件之中配置此工作目录(虚拟目录)。修改server.xml文件,在里面加入如下的配置,要在/host之内设置。Contextpath=/ssdocBase=E:\ServletStudy/其中Context表示上下文,表示配置一个新的上下文·path:表示浏览器中输入的路径:必须有/·docBase:表示此路径对应着硬盘上的真实目录以后就可以通过找到硬盘上的E:\ServletStudy文件夹了。配置完之后要重启动服务器。这是在地址栏里输入:出现了404错误。是因为在Tomcat中将目录列表功能关闭了(为了安全,Tomcat5.5之后),所以,想现在通过浏览器观察一个目录中的全部内容,需要修改Tomcat下conf下web.xml文件。但是在开发时候可以打开目录列表功能,在发布时候一定要关闭。修改web.xml,把servlet下init-param的listings改为true即可。重启服务器。再次输入:(我改了Tomcat的端口)。说明:○1所有的Servlet程序必须在Web目录中执行,依靠web容器执行,Servlet本身是一个类,并且不需要由主方法调用执行;○2Servlet必须放在WEB-INF/classes中;○3一个Servlet类必须继承HttpServlet,那么此类才是Servlet程序;○4Servlet程序必须放在一个包中。○5开发Servlet程序要把Tomcat下lib下servlet-api.jar放到Java下jre下lib下ext中。也可以设置环境变量。如果采用集成开发环境eclipse或MyEclipse,直接引入jar包即可。设置环境变量,命令行模式下:setclasspath=%TOMCAT_HOME%\lib\servlet-api.jar命令行模式下编译java文件:javac-d.HelloServlet.java,会自动在当前目录下建立包路径。我采用MyEclipse开发,集成了开发环境,很方便,但为了了解Servlet原理,我会把MyEclipse生成的.class文件放到刚刚建立的“虚拟目录”中进行配置。Servlet开发第一个Servlet程序:HelloWorldServlet.javapackagecom.ghk.servlet;importjava.io.IOException;importjava.io.PrintWriter;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;publicclassHelloWorldServletextendsHttpServlet{编写者:郭洪魁第4页共32页//这个东西写不写都一样privatestaticfinallongserialVersionUID=1L;/**Tomcat调用doGet方法时候会帮你传进来一个具体的类的对象*这个类是实现了这个接口的*HttpServletRequest代表客户端传递过来的请求*HttpServletResponse代表到客户端的应答*/@OverrideprotectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{//这句话是给IE浏览器看的,告诉浏览器的编码为中文,否则中文乱码response.setContentType(text/html;charset=GB18030);//out为response方法提供的输出流(打印流)//这个out自动flush,不抛异常PrintWriterout=response.getWriter();out.println(html);out.println(headtitlehello/title/head);out.println(body);out.println(h1fontcolor=\red\);out.println(HELLOWORLD!);out.println(/font/h1);out.println(/body);out.println(/html);out.close();super.doGet(request,response);}}这个serlvet程序是在com.ghk.servlet包下建立的,所以要在虚拟目录的classes文件夹下建立com文件夹,com文件夹下建立ghk文件夹,ghk文件夹下建立servlet文件夹,把生成的HelloWorldServlet.class放到servlet文件夹下。这还没完。打开这个虚拟目录的web.xml文件,web-app/标签内容添加内容如下:servletservlet-namehelloworldservlet/servlet-nameservlet-classcom.ghk.servlet.HelloWorldServlet/servlet-class/servletservlet-mappingservlet-namehelloworldservlet/servlet-nameurl-pattern/helloworldservlet/url-pattern/servlet-mapping编写者:郭洪魁第5页共32页servlet-name/标签内名字随意取,但是两个servlet-name/内容要一致;servlet-class是这个类的全名;url-pattern是浏览器对应的访问路径,前面必须加“/”。之后建立的servlet程序也要这样设置。一个servlet可以对应多个servlet-mapping。下面启动Tomcat服务,打开浏览器,输入地址:,会看到显示结果。第一个最简单的Servlet程序演示完毕!另外:Servlet路径以地址栏为准,地址栏上只要可以显示出正确的路径,就绝对不会找不到Servlet。Servlet生命周期在整个Servlet生命全过程,只有一个Servlet对象。当用户第一次访问Servlet的时候,Tomcat“造”出这个Servlet对象。客户端第一次请求过来,服务端new出实例,只new一次。接下来调用init方法,只调用一次。接下来以多线程方式处理客户端请求。(To

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

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

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

×
保存成功