首页 > 编程知识 正文

tomcat配置环境,tomcat配置教程

时间:2023-05-04 01:50:46 阅读:46433 作者:1855

资料来源: http://www.cn blogs.com/smy hvae/p/4134921.html

【开发环境】

物理版本: windows 7旗舰版64位

jdk版本: jdk1.8.0_20

MyEclipse版本: 10.7.1

Tomcat版本: apache-tomcat-7.0.57

一、servlet的基本概念:

servlet是sun提供的动态web资源开发技术,本质上是Java applet。 可以将servlet添加到servlet容器中并运行。

servlet容器:可以运行servlet的环境称为servlet容器。 — tomcat

web容器:可以执行web APP应用的环境称为web容器— tomcat

servlet的基本行为:

servlet没有main (方法。 它们由另一个称为servlet容器的Java APP应用程序(例如Tomcat )控制,Tomcat就是这样的容器。 Tomcat通常也称为servlet容器。

缺省情况下,servlet以多线程模式运行。

注意: JSP是为了便于编写html和Java代码,其本身实际上是servlet。

二、MyElipse配置:

1、选择工作区:只要切换工作区,所有放置都将被清除。

2、配置jdk :

从菜单栏中选择" windowspreferences "、" Javainstalledjres "。 接口如下。

在上图中,MyEclise有附带的jdk。 那么,用自己安装的jdk吧。 单击上图中的" add "按钮,将显示与以下类似的界面。

在上图中,选择您安装的jdk路径,完成,然后转至:

3、设置工作区编码:从那时起,您创建的项目文本文件的默认编码为utf-8

从菜单栏中选择windowspreferences,然后选择generalworkspace选项卡,如下所示:

4、改变字体:

三.使用MyEclipse创建Web项目:

1、MyEclipse指定Tomcat :

选择菜单栏上的“窗口首选项”、“标签”、“myeclipseserversTomcat”,然后执行以下操作:

请记住,在上图中,请选择您的Tomcat目录,然后务必选择红框部分的“Enable”。

检查正在运行的jdk :

同时,禁用MyEclipse附带Tomcat。

2、MyEclipse创建Web项目:

上图中的上下文根URL指向外部访问的虚拟路径。 单击finish转到下一步。

在上图中,选择“no”即可。 如果可以选择“是”,将使用6.0而不是5.0进行编译。 继续:

在上图中,从Java视图切换到MyEclipse视图,然后选择" yes "。

新项目、目录结构如下。

WebTest:web项目的名称。 部署此项目后,example web APP应用程序将位于webapps目录下

src目录:部署时自动部署到example/web-inf/classes目录中的Java程序的开发目录。

WebRoot目录--webroot对应于web APP应用程序的根目录,而下面的所有子目录和子文件在部署时保留发布在web APP应用程序目录中。

如果需要更改此Web项目的外部访问路径Context Root,请右键单击此项目,选择属性,然后选择myeclipseweb选项卡。

在上图的红框部分进行必要的修正就可以了。

3、MyEclipse在Tomcat下发布网络项目:

选择上图中的按钮(菜单栏下),将显示Deploy Project to Server消息,其中包含以下界面:

在上图中,选择“添加”继续。

在上面的照片中,选择我们前面的Tomcat就可以了。

当然,还有其他方法可以向Tomcat公开。 方法是右键单击工程文件。 效果如下。

项目发布到Tomcat后,立即将项目的WebRoot目录copy放在Tomcat的webapps目录下,并将WebRoot重命名为项目名称,即WebTest。

发布后,如果想在网页上看到效果,必须首先运行Tomcat。

然后输入url就可以了:

四.创建servlet的一般步骤:

servlet框架配置:

servlet框架由两个名为Javax的Java包组成。

servlet和Javax.servlet.http。Servlet的框架的核心里Javax.servlet.Servlet接口,所有的Servlet都必须实现这一接口。

步骤:

新建一个类实现sun公司定义的Servlet接口
将写好的类配置到tomcat中的web应用的web.xml中(配置对外访问路径)
注1:为了理解过程,下面的方式一是新建一个class文件作为Servlet,然后手动配置Web.xml。其实,实际开发中,直接新建Servlet文件(方式二),就能一步到位,Web.xml会自动配置好。

注2:Tomcat内置Servlet的jar包。

1、方式一:新建class文件

(1)新建一个class文件MyServlet.java,继承子类HttpServlet:

MyServlet.java:

package com.vae.servlet;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;//一般实现一个Servlet,只要继承HttpServlet类即可public class MyServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub //super.doGet(req, resp); //获取对客户端的输出流(out对象) PrintWriter out = resp.getWriter(); out.write(""Hello,Servlet""); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub //super.doPost(req, resp); }}

上方代码中,如果采用get请求,就可以重写doGet方法。注意要注释掉第17行的代码(父类的方法)。

其实,doPost和doGet方法其实是在Servlet类的service()方法的内部中调用的。Tomcat已经把14行的request和response这两个参数给new好了。

19行:PrintWriter是字符打印流,这个字符流的输出源针对的是页面(向客户端输出)。

(2)Web.xml配置,配置Servlet的对外访问路径(URL):

既然这个Servlet是由Web容器启动的,那么就需要在Web.xml中进行配置,这样的话,Tomcat在启动的时候就会自动加载这个文件。

浏览器访问Web端必须通过url,于是还需要在Web.xml中 通过标签配置一个映射的路径,同样附上别名name和路径url。

打开web.xml,添加一些代码。

web.xml:

<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <display-name></display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <!-- 配置一个servlet --> <servlet> <servlet-name>helloServlet</servlet-name> <servlet-class>com.vae.servlet.MyServlet</servlet-class> </servlet> <!-- 配置一个servlet映射的URL路径 --> <servlet-mapping> <servlet-name>helloServlet</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping></web-app>

11至21行是我添加的代码。

12行至15行:Web.xml配置。一个名称映射一个类,别名可以随便取,方便在整个web.xml中引用这个Servlet(13行),但类名必须为之前定义的Servlet,含包名(14行)。

18行至21行:url配置,让浏览器通过这个url访问Web端。19行的name别名必须和13行一样,20行的”/hello”是我们设置的url路径。

其实就是根据20行的url找到13行的别名,进而找到14行的Servlet类。

运行程序,效果如下:

注意一定要删除MyServlet.java代码中继承父类的方法:super.doGet(req, resp);、super.doPost(req, resp);(17行、27行),否则会出现如下错误的页面:

2、方式二:新建Servlet文件

注:只有在MyEcipse视图下才能新建Servlet文件,在Java视图下是不行的。

我们来新建一个Servlet文件:

上图中,MyEclipse会自动给我们继承父类HtpServlet,然后我们只需要复写doGet和doPost方法就行了。点击next,继续:

MyServlet.java代码如下:

package com.vae.servlet;import java.io.IOException;import java.util.Date;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class MyServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //显示当前时间 response.getWriter().write("now time:" + new Date().toLocaleString()); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); }}

在网页输入url,效果如下:

上图可以看到,同一个资源,在不同的时间、不同的人访问的时候,是不一样的,很显然Servlet是动态Web资源。

总结:完成了MyEclipse及Tomcat的配置,以及Servlet的开发流程。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。