【JavaEE WEB 开发】Tomcat 详解 Servlet 入门

转载请注明出处 :  http://blog.csdn.net/shulianghan/article/details/47146817

一. Tomcat 下载安装配置

1. Tomcat 下载

Tomcat 下载 :

-- 下载地址http://tomcat.apache.org ;

-- 下载页面 :

-- 下载对应平台的版本 : 有 MAc/Linux 平台, Windows 平台的服务器软件;

2. Tomcat 运行 (Linux/Mac 环境)

Tomcat 运行 (Mac/Linux) :

-- 进入 Tomcat 安装目录 :

localhost:apache-tomcat-6.0.44 octopus$ pwd
/Users/hanshuliang/develop/apache-tomcat-6.0.44
localhost:apache-tomcat-6.0.44 octopus$ ls
LICENSE		RELEASE-NOTES	bin		lib		temp		work
NOTICE		RUNNING.txt	conf		logs		webapps
localhost:apache-tomcat-6.0.44 octopus$

-- 进入 bin 目录 :

localhost:apache-tomcat-6.0.44 octopus$ cd bin/
localhost:bin octopus$ ls
bootstrap.jar			cpappend.bat			shutdown.bat			tool-wrapper.bat
catalina-tasks.xml		daemon.sh			shutdown.sh			tool-wrapper.sh
catalina.bat			digest.bat			startup.bat			version.bat
catalina.sh			digest.sh			startup.sh			version.sh
commons-daemon-native.tar.gz	setclasspath.bat		tomcat-juli.jar
commons-daemon.jar		setclasspath.sh			tomcat-native.tar.gz

-- 执行启动命令 : 特别注意, 需要使用 root 权限启动, 否则会报出权限错误, 使用命令 sudo ./startup.sh ;

localhost:bin octopus$ sudo ./startup.sh
Using CATALINA_BASE:   /Users/hanshuliang/develop/apache-tomcat-6.0.44
Using CATALINA_HOME:   /Users/hanshuliang/develop/apache-tomcat-6.0.44
Using CATALINA_TMPDIR: /Users/hanshuliang/develop/apache-tomcat-6.0.44/temp
Using JRE_HOME:        /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home
Using CLASSPATH:       /Users/hanshuliang/develop/apache-tomcat-6.0.44/bin/bootstrap.jar

-- 查看是否启动 : 打开浏览器, 输入 localhost:8080 网址, 查看是否出现 Tomcat 页面;

3. Tomcat 运行 (Windows 环境)

Tomcat 运行 (Windows) :

-- 进入 Tomcat 安装目录 :

-- 进入 bin 目录 : 启动 startup 可执行程序;

-- 浏览器验证 : 在浏览器输入 http://localhost:8080/ 网址, 出现以下界面即配置正确;

3. Tomcat 错误排除

(1) 启动闪退问题

启动闪退 : 没有配置 JAVA_HOME 环境变量, 使用 Tomcat 时, 必须配置 JAVA_HOME 环境变量;

-- 闪退原因 : tomcat 启动后, 会查找 JAVA_HOME 环境变量, 之后还会查找 CATALINA_HOME 环境变量 (Tomcat 根目录), CATALINA_HOME 这个变量建议不设置;

(2) CATALINA_HOME 配置出现问题

CATALINA_HOME 问题 : 不建议配置 CATALINA_HOME 环境变量;

-- 配置 CATALINA_HOME 出现的问题 : 如果有多个 Tomcat, 在任意 Tomcat 中启动, 只会启动 CATALINA_HOME 指定的 Tomcat 目录;

-- 不配置 CATALINA_HOME : 在什么地方启动, 就会到启动 startup 命令的 会将 命令所在的 Tomcat 启动;

(3) 端口问题

端口占用问题解决方案 :

-- 1. 关闭占用端口的进程 : 使用 cports 软件查看占用端口的进程, 将其关闭即可, 任务管理器是看不到端口的;

-- 2. 修改 Tomcat 的 HTTP 端口 : 在 tomcat 的 conf/server.xml 中修改下面的配置, 默认 8080 , 修改成一个 其他的数字;

    <!-- A "Connector" represents an endpoint by which requests are received
         and responses are returned. Documentation at :
         Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
         Java AJP  Connector: /docs/config/ajp.html
         APR (HTTP/AJP) Connector: /docs/apr.html
         Define a non-SSL HTTP/1.1 Connector on port 8080
    -->
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

4. Tomcat 配置 与 目录

(1) 浏览器端口设置

访问服务器端口配置 :

-- 配置文件 : apache-tomcat-6.0.39\conf\server.xml;

-- 配置内容 : 当前默认设置的端口号是 8080, 访问地址是 http://localhost:8080/;

    <!-- A "Connector" represents an endpoint by which requests are received
         and responses are returned. Documentation at :
         Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
         Java AJP  Connector: /docs/config/ajp.html
         APR (HTTP/AJP) Connector: /docs/apr.html
         Define a non-SSL HTTP/1.1 Connector on port 8080
    -->
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

(2) Tomcat 共享资源

共享一个资源 :

-- 创建 html 页面 : 创建一个 index.html 文档, 里面随便写一写字符串;

-- 将文件放到 webapps 中的目录中 : 在 webapps 中创建一个任意名称目录 test, 然后将 index.html 放置到该目录中;

-- 启动 Tomcat :

-- 浏览器中输入 : 浏览器地址栏输入 http://localhost:8080/test/index.html 地址;

(3) URL 解析

解析 url 地址 : http://localhost:8080/test/index.html;

-- "http://" : url 所使用的协议名称, http 协议;

-- "localhost" : 域名, 相当于 IP 地址;

-- 8080: : Tomcat 所使用的端口号;

-- /test : Tomcat 共享目录的名称, 在 webapps 下面的共享目录;

-- index.html : 共享文件名称;

(4) 目录解析

Tomcat 目录解析 :

-- 目录截图 :

-- bin 目录 : Tomcat 的命令路径, 包括 启动 关闭 Tomcat 服务器;

-- conf 目录 : Tomcat 配置文件目录, 其中 server.xml 用于配置端口号;

-- lib 目录 : Tomcat 的支持包;

-- logs 目录 : 运行产生的日志信息存放目录;

-- temp 目录 : 临时文件存放目录;

-- webapps 目录 : 共享资源目录, 不能单独共享一个文件, 需要创建的文件夹, 将文件放到一个目录中才能共享;

-- work 目录 : tomcat 运行时的工作目录;

转载请注明出处 :  http://blog.csdn.net/shulianghan/article/details/47146817

二. J2EE 应用创建

1. 创建 J2EE 应用

(1) MyEclipse 中创建应用

MyEclipse 创建 Web 应用 :

-- 创建应用 : 选择 File -> New -> Web Project 选项;

-- 配置应用信息 : 注意 我们使用的是 Tomcat 6.0 版本, 对应 JavaEE 5.0 版本;

-- 创建 Tomcat 服务器 : 选择 Window -> Preference -> MyEclipse -> Server -> Tomcat 6.x 选项, 进行如下配置 :

-- 配置后效果 :

-- 部署应用 : 右键点击服务器, 选择 Add Deployment;

-- 将刚创建的 Hello World 部署到 Tomcat 中去 :

-- 部署后效果 :

-- 运行 Tomcat 服务器 : 地址栏输入 http://localhost:8080/HelloWorld/ 地址;

-- MyEclipse 应用文件截图 :

(2) eclipse 中创建应用

Eclipse 创建 Web 应用 :

-- 创建 Dynamic Web Project :

-- 配置 应用 :

-- 应用目录展示 :

(3) Eclipse 和 MyEclipse 中创建应用服务器版本对应

Eclipse 服务器版本对应 :

-- dynamic web module 2.4 <--> Tomcat 5.5
-- dynamic web module 2.5 <--> Tomcat 6.0
-- dynamic web module 3.0 <--> Tomcat 7.0

MyEclipse 服务器版本对应 :

-- JavaEE 5.0 <--> Tomcat 6.0

-- J2EE 1.4 / J2EE 1.3 <--> Tomcat 5.5

2. Servlet 简单示例

(1) Servlet 示例

Servlet 简单示例 :

-- MyServlet.java 代码 :

package cn.org.octopus.hello;

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{ 

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		//避免出现中文乱码
		resp.setContentType("text/html;charset=utf-8");
		//输出内容
		resp.getWriter().write("当前时间 : " + new Date());
	}

}

-- 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">
	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>

	<!-- 配置 Servlet 需要配置 Servlet 和 Servlet-mapping 两个标签 -->
	<servlet>
		<!-- Servlet 内部名称-->
		<servlet-name>HelloWorld</servlet-name>
		<!-- Servlet 全路径名-->
		<servlet-class>cn.org.octopus.hello.MyServlet</servlet-class>
	</servlet>

	<servlet-mapping>
		<!-- Servlet 内部名称-->
		<servlet-name>HelloWorld</servlet-name>
		<!-- servlet 访问名称 -->
		<url-pattern>/HelloWorld</url-pattern>
	</servlet-mapping>

</web-app>

-- 运行效果 :

时间: 2024-08-28 04:47:50

【JavaEE WEB 开发】Tomcat 详解 Servlet 入门的相关文章

《Tomcat与Java Web开发技术详解》思维导图

越想构建上层建筑,就越觉得底层基础很重要.补课系列. 书是良心书,就是太基础了,正适合补课. [纯文字版] Tomcat与Java Web开发技术详解 Servlet Servlet的生命周期 初始化 1Servlet容器加载Servlet类 2Servlet容器创建ServletConfig,初始化配置信息 3Servlet容器创建Servlet对象 4Servlet容器调用Servlet对象的init(ServletConfig) 时机:首次被请求或配置了<load-on-startup>

Java Web开发之详解JSP

JSP作为Java Web开发中比较重要的技术,一般当作视图(View)的技术所使用,即用来展现页面.Servlet由于其本身不适合作为表现层技术,所以一般被当作控制器(Controller)所使用,而JavaBean作为模型(Model)层使用.这就是经典的MVC模型. Servlet和JSP的关系上篇博客已经讲过了,并演示了一个相当简单的例子.在具体讲述JSP之前,先把JavaBean简单介绍一下. JavaBean其实就是一个Java普通类,定义了类的属性和行为(get.set方法).在M

软件系统的体系结构&Tomcat详解&Web应用&http协议

? day08 软件系统体系结构 ? 常见软件系统体系结构B/S.C/S 1.1 C/S C/S结构即客户端/服务器(Client/Server),例如QQ: 需要编写服务器端程序,以及客户端程序,例如我们安装的就是QQ的客户端程序: 缺点:软件更新时需要同时更新客户端和服务器端两端,比较麻烦: 优点:安全性比较好. ? 1.2 B/S(*****) B/S结构即浏览器/服务器(Browser/Server): 优点:只需要编写服务器端程序: 缺点:安全性较差. ? 2 WEB资源 2.1 We

Web开发典藏大系:Web性能测试实战详解 PDF扫描版

本书主要讲解了大数据背景下的Web性能测试的特点和方法,以及使用业内应用非常广泛的工具――LoadRunner 11进行性能测试的具体技术与技巧.本书理论结合实践,讲解图文并茂,并且将IT技术与生活场景结合起来,生动而又形象. 本书共17章,分为5篇.第1篇介绍软件测试的定义.方法和过程.Web应用开发与测试等内容:第2篇介绍Web应用技术.Web性能测试的基础.Web性能测试的方法和各操作系统性能计数器的获取等内容:第3篇介绍如何使用LoadRunner进行Web应用性能测试,包括LoadRu

Tomcat详解及SNS系统的部署实现

前言:Tomcat是基于java研发的一个web容器,即web服务器,下面我们先简单介绍下Java 一 .Java 1.Java简介 Java是由Sun Micorsystems公司于1995年5月推出的Java面向对象程序设计语言(简称Java语言)和Java平台的总称.用Java实现的HotJava浏览器使得Java被广泛应用起来. 2.Java特点 Java语言是面向对象的语言,以数据为中心来组织程序的,包括数据+方法,方法存放于类中 自身具有API(应用程序编程接口)与ABI(应用程序二

java web之Filter详解

java web之Filter详解 2012-10-20 0 个评论 作者:chenshufei2 收藏 我要投稿 .概念: Filter也称之为过滤器,它是Servlet技术中比较激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能.例如实现URL级别的权限访问控制.过滤敏感词汇.压缩响应信息等一些高级功能. 二.Filter简介 Servlet API中提供

Web.xml配置详解(转)

Web.xml配置详解 Posted on 2010-09-02 14:09 chinaifne 阅读(295105) 评论(16) 编辑 收藏 1 定义头和根元素 部署描述符文件就像所有XML文件一样,必须以一个XML头开始.这个头声明可以使用的XML版本并给出文件的字符编码.DOCYTPE声明必须立即出现在此头之后.这个声明告诉服务器适用的servlet规范的版本(如2.2或2.3)并指定管理此文件其余部分内容的语法的DTD(Document Type Definition,文档类型定义).

web.xml文件详解

web.xml文件详解 前言:一般的web工程中都会用到web.xml,web.xml主要用来配置,可以方便的开发web工程.web.xml主要用来配置Filter.Listener.Servlet等.但是要说明的是web.xml并不是必须的,一个web工程可以没有web.xml文件. 1.WEB工程加载web.xml过程 经过个人测试,WEB工程加载顺序与元素节点在文件中的配置顺序无关.即不会因为 filter 写在 listener 的前面而会先加载 filter.WEB容器的加载顺序是:S

web.xml配置详解(2)

1 定义头和根元素 部署描述符文件就像所有XML文件一样,必须以一个XML头开始.这个头声明可以使用的XML版本并给出文件的字符编码.DOCYTPE声明必须立即出现在此头之后.这个声明告诉服务器适用的servlet规范的版本(如2.2或2.3)并指定管理此文件其余部分内容的语法的DTD(Document Type Definition,文档类型定义).所有部署描述符文件的顶层(根)元素为web-app.请注意,XML元素不像HTML,他们是大小写敏感的.因此,web-App和WEB-APP都是不