[JavaWeb修行之路 Day1] 安装、配置、部署Tomcat

一、相关软件下载

Tomcat下载地址:http://tomcat.apache.org 。选择Tomcat 6或者Tomcat 7。
Eclipse下载地址:http://www.eclipse.org/downloads/ 。选择Eclipse IDE for Java EE Developers进行下载。当然,也可以使用MyEclipse,收费软件,有破解版。

二、安装Tomcat

我的环境是Ubuntu,下载了apache-tomcat-6.0.36.tar.gz。将其释放到本地文件系统,比如/usr/local/apache-tomcat6。当然当前系统用户对/usr/local/apache-tomcat6目录有读写权限。Eclipse的安装方法一致,只需释放文件即可。
在Windows环境下,Tomcat可以选择安装文件,也可以下载压缩包。

三、配置虚拟目录

进入tomcat6目录,执行bin/startup.sh脚本启动Tomcat。查看conf/server.xml。其中的<Engine>标签name属性为Catalina,子标签<Host>的name属性为localhost,说明Catalina引擎配置了一个虚拟主机:localhost。  

建立配置文件myapp.xml,内容如下:

<Context path="/myapp" reloadable="true" docBase="/home/zz/projects/workspace/my-tests" />

注:path属性是web应用的上下文路径(URI),即通过http://localhost:8080/myapp可以访问该应用。docBase属性是web应用的本地文件系统路径,可以指向一个目录或者.war文件。reloadable则决定了服务器是否监视docBase中WEB-INF/lib目录内的文件(即依赖库)的变化,如果设置为true则在变化后重新加载应用。更多关于Context的配置文件可以查看:http://tomcat.apache.org/tomcat-6.0-doc/config/context.html 或者运行本地Tomcat访问 http://localhost:8080/docs/config/context.html

接下去,进入Catalina引擎/localhost虚拟主机的配置目录: $TOMCAT_HOME/conf/Catalina/localhost。如果还没有运行过Tomcat是不存在该目录的,因为这个是根据server.xml配置初始化执行而得。将myapp.xml放入其中。这样虚拟目录设置成功了。可以在/home/zz/projects/workspace/my-tests目录中放入html/jsp/txt等等文件,然后测试访问:http://localhost:8080/myapp/[你的文件]

实际上也可以直接在conf/server.xml上加入虚拟目录的设置,但是这是不推荐的做法,看官方文档:

It is NOT recommended to place <Context> elements directly in the server.xml file. This is because it makes modifying the Contextconfiguration more invasive since the main conf/server.xml file cannot be reloaded without restarting Tomcat.

显然,由于server.xml的修改对于已经运行的Tomcat服务器是不生效的,必须重启。另外server.xml里的localhost虚拟主机已经定义了appBase是Tomcat根目录下的webapps目录,因此,把web应用放入这个目录也会成功部署。只不过更推荐使用虚拟目录的做法,更灵活甚至更安全。

四、Eclipse整合Tomcat

打开Eclipse EE。Window - Preferences - Server - Runtime Enviroments。如下图,选择 [Add...]。随后选择Apache/Apache Tomcat v6.0,并选择Tomcat的安装路径。

   

至此,配置Tomcat完成。可以选择 Window - Show View - Other... - Server - Servers 来打开服务器管理的视图,并在视图里添加Tomcat服务器。

五、建立一个Web项目

打开菜单 File - New - Other... - Web - Dynamic Web Project ,来新建一个Web项目。Target Runtime选择 Tomcat即可。如下图。

   

项目初始结构如下图:

显然源代码应该放在 Java Resources/src下,而Web页面内容则在WebContent里。随后建立页面index.jsp放入WebContent。

运行测试:右键选择MyWebApp项目 - Run As - Run on Server,选择Tomcat运行即可。随后会自动为你打开一个浏览器页面,如果不打开则手动输入:http://localhost:8080/MyWebApp/index.jsp 访问之。

对index.jsp内容修改后直接刷新浏览器,即时生效,无需重新部署。

转载于:https://www.cnblogs.com/xzzzzzzzz/archive/2013/04/15/3021481.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/461173.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

应用层为何不能设置分辨率

以下内容源于朱有鹏《物联网大讲堂》课程的学习&#xff0c;如有侵权&#xff0c;请告知删除。 5、在应用程序中设置分辨率 &#xff08;1&#xff09;可视分辨率&#xff08;即实际分辨率&#xff09;、虚拟分辨率 &#xff08;2&#xff09;实验及结果 vinfo.xres 1024; …

Vagrant 快速入门

1. Vagrant功能: Vagrant uses Oracle’s VirtualBox to build configurable, lightweight, and portable virtual machines dynamically.. 【Vagrant 使用Oracle VM VirtualBox 动态创建和配置轻量级的&#xff0c;可重现的&#xff0c;便携的虚拟机环境。】 2. Vagrant下载: …

各种分页存储过程 (转)

在项目中&#xff0c;我们经常遇到或用到分页&#xff0c;那么在大数据量&#xff08;百万级以上&#xff09;下&#xff0c;哪种分页算法效率最优呢&#xff1f;我们不妨用事实说话。 测试环境 硬件&#xff1a;CPU 酷睿双核T5750 内存&#xff1a;2G 软件:Windows server 20…

ViewBag 找不到编译动态表达式所需的一种或多种类型,是否缺少引用?

症状&#xff1a; 类似上面的警告提示&#xff0c;运行程序不会有任何错误&#xff0c;但若干地方都提示警告&#xff0c;并且明明dll的引用都是正确的。 解决方案&#xff1a; 删除&#xff1a;C:\Users\{your computer name}\AppData\Local\Temp\Temporary ASP.NET Files 该目…

framebuffer驱动详解4——framebuffer驱动分析2(probe函数讲解)

以下内容源于朱有鹏《物联网大讲堂》课程的学习&#xff0c;如有侵权&#xff0c;请告知删除。 主要在填充fbdev这个结构体。 二、framebuffer驱动分析2 1、probe函数分析 &#xff08;1&#xff09;struct s3c_platform_fb 这个结构体是fb的platform_data结构体&#xff1…

XenDesktop 5 SQL Server Mirror事务日志比较大的原因分析

在实施XenDesktop5项目过程中&#xff0c;发现XenDesktop5版本的数据库镜像事务日志很大&#xff0c;在XenDesktop4和XenApp版本中不存在该问题&#xff1b;于是我根据该现象探究XenDesktop5及以上版本镜像数据库事务日志为何如此之大以及我们今后实施的过程中该如何来维护这么…

input子系统详解1——input子系统简介

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 转载博客&#xff1a;input输入子系统 - 涛少& - 博客园​​​​​​​ 前言 Linux系统支持的输入设备繁多&#xff0c;例如键盘、鼠标、触摸屏、手柄等等&#xff0c;Linux系统是如何管理如此…

【04】Effective Java - 类和接口

为什么80%的码农都做不了架构师&#xff1f;>>> 1、使类和成员的可访问性最小化 封装是软件设计的基本原则之一&#xff0c;它的好处就是解除组成系统的各个模块之间的耦合关系&#xff0c;使得这些模块可以独立地开发、测试、优化、使用、理解 修改&#xff0c;同…

input子系统详解3——input子系统框架核心层分析

以下内容源于朱有鹏嵌入式课程的学习&#xff0c;如有侵权请告知删除。 一、前言 由input子系统简介可知&#xff0c;input子系统分为三层&#xff1a; 1、上层输入事件驱动层 涉及的文件有x210_kernel\drivers\input\evdev.c、mousedev.c 和 joydev.c文件&#xff0c;分别对应…

Gitlab Merge Request Builder Plugin 配置小记

2019独角兽企业重金招聘Python工程师标准>>> 以前在给一些开源项目贡献代码的时候&#xff0c;在github上一提交pull request或者提交的分支代码更新了的时候&#xff0c;jenkins就会自动把代码进行merge并且运行单元测试&#xff0c;当时看了心里就2个字&#xff1…

IOS:屏幕旋转与Transform

IOS&#xff1a;屏幕旋转与Transform iTouch&#xff0c;iPhone&#xff0c;iPad设置都是支持旋转的&#xff0c;如果我们的程序能够根据不同的方向做出不同的布局&#xff0c;体验会更好。 如何设置程序支持旋转呢&#xff0c;通常我们会在程序的info.plist中进行设置Supporte…

input子系统详解4——输入事件驱动层源码分析

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 一、前言 由input子系统简介可知&#xff0c;input子系统分为三层&#xff1a; ​ 1、上层输入事件驱动层 涉及的文件有x210_kernel\drivers\input\evdev.c、mousedev.c 和 joydev.c文件&#xff0…

java公钥加密私钥解密过程_GPG加密解密过程

GPG加密解密过程一、Linux系统下1.安装yum安装[rootPOC-ORACLE ~]# yum install gnupg下载安装包安装https://www.gnupg.org/download/index.en.html查看gpg帮助[rootPOC-ORACLE ~]# gpg --helpgpg (GnuPG) 2.0.14libgcrypt 1.4.5Copyright (C) 2009 Free Software Foundation,…

十分钟让你明白Objective-C的语法(和Java、C++的对比)

2019独角兽企业重金招聘Python工程师标准>>> 很多想开发iOS&#xff0c;或者正在开发iOS的程序员以前都做过Java或者C&#xff0c;当第一次看到Objective-C的代码时都会头疼&#xff0c;Objective-C的代码在语法上和Java, C有着很大的区别&#xff0c;有的同学会感觉…

I2C子系统详解1——I2C总线设备的驱动框架

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 参考博客 I2C总线驱动框架详解 linux内核I2C子系统详解 一、I2C总线的物理特征 这部分内容的简介可见博客&#xff1a;SPI、I2C、UART&#xff08;即串口&#xff09;三种串行总线详解。 &#x…

神经网络编程入门

本文主要内容包括&#xff1a; (1) 介绍神经网络基本原理&#xff0c; (2) AForge.NET实现前向神经网络的方法&#xff0c; (3) Matlab实现前向神经网络的方法 。 第0节、引例 本文以Fisher的Iris数据集作为神经网络程序的测试数据集。Iris数据集可以在http://en.wikipedia.or…

软考复习之路—组成原理

计算机系统的基础知识应该是作为一个编程人员必备的一门课程&#xff0c;仅仅有了解了计算机的组成&#xff0c;程序在计算 机中的存储状态&#xff0c;运算等基本内容&#xff0c;我们才干继续对计算机有更深层次的认识&#xff0c;更easy学习与上手。比方说要 想学习操作系统…

python内存管理机制错误_Python内存管理机制和垃圾回收机制的简单理解

一、内存管理机制1.由c开发出来的cpython2.include / objests3.需要下载python源码包4.Pyobject&#xff1a;floatPyVarObject&#xff1a;5.在python中所有东西创建对象的时候&#xff0c;内部都会存储一个数据// 维护双向链表struct _object *_ob_next;struct _object *_ob_p…

求背包问题所有解(C++实现)

这是我学习数据结构时的一道上机作业&#xff0c;那时还没养成写注释的习惯&#xff0c;所以各位得受点苦了。 只是简易背包问题。 代码&#xff1a; 展开 1 // 背包问题所有解2 // 作者:王锦 3 // 邮箱:jinkswvip.qq.com4 5 #include "stdafx.h"6 #include <iost…

JAVA--自制斐波那契数列输出

累了&#xff0c;写点简单的。 1 public class hello {2 3 /**4 * param args5 */6 public static void main(String[] args) {7 int Fabnum 10;8 int sum 0;9 System.out.print("Serial:\t"); 10 for(int i 1…