Tomcat一点一滴之(二)配置应用

 
前言:在上篇已经把最基本的Tomcat搭建起来了,其实搭建tomcat的过程很简单,本篇就来说说Tomcat其中的目录结构以及如何来部署应用。(本篇某些内容摘至互联网)
 
一、目录结构详解:
以下是Tomcat默认装完以后的目录结构:

  
  1. /bin #存放各种平台下启动和关闭Tomcat的脚本文件;
  2. /conf #Tomcat的各种配置文件,最重要的是 server.xml;
  3. /lib #存放Tomcat服务器和所有web应用需要的jar包;
  4. /logs #存放Tomcat的日志文件;
  5. /temp #Tomcat运行时候存放临时文件用的;
  6. /webapps #web应用的发布目录,把 java开发的web站点或war文件放入这个目录下就可以通过tomcat服务器访问;
  7. /work #Tomcat的工作目录,默认情况下把编译JSP文件生成的servlet类文件放于此目录下。
  8. 然后说下conf/下的配置文件:
  9. server.xml #Tomcat中最重要的配置文件,定义了tomcat的体系结构;设置端口,集群,web应用,访问日志等主要功能。
  10. tocmat-users.xml #Tocmat管理员身份的配置文件;关键是设置管理员账号的密码
  11. context.xml #全局context的配置文件;将数据库JNDI在这里定义好
  12. logging.properties #Tocmat日志配置文件;可以修改默认的Tocmat日志路径和名称
  13. web.xml #web.xml是JSP的一个配置文件,里面设置了通用的默认值
 
二、部署应用:
看完了上面的目录结构解释,知道了要新建项目,就是在webapps目录下来部署。好了,那就来新建个简单的jsp页面。
 
1.到Tomcat的安装目录的webapps目录,可以看到ROOT,examples, tomcat-docs之类Tomcat自带的的目录;
2.在webapps目录下新建一个目录myapp,也就是项目名
3.myapp下新建一个目录WEB-INF; #注意,目录名称是区分大小写的;
4.WEB-INF下新建一个文件web.xml,内容如下:

  
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <!DOCTYPE web-app
  3. PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
  4. "http://java.sun.com/dtd/web-app_2_3.dtd">
  5. <web-app>
  6. <display-name>My Web Application</display-name>
  7. <description>
  8. A application for test.
  9. </description>
  10. </web-app>

5.在myapp下新建一个测试的jsp页面,文件名为index.jsp,文件内容如下:

  
  1. <html>
  2. <body>
  3. <center>
  4. Now time is: <%=new java.util.Date()%>
  5. </center>
  6. </body>
  7. </html>

6.重启Tomcat
7.打开浏览器,输入http://localhost:8080/myapp/index.jsp 看到当前时间的话说明就成功了。
一个最简单的jsp页面就显示出来了。。。

 
三、结合数据库Mysql:
我们都知道部署应用时,后台必须有数据库的支持。要不然就成了静态的web了,一般tomcat连接数据常用有oracle、mysql;大型的企业都是用的oracle。这里测试就用mysql了。
首先安装:(由于可能都会,就直接贴代码了) #这里用的是源码安装,也可直接yum装

  
  1. groupadd mysql
  2. useradd -g mysql -s /sbin/nologin -M mysql
  3. tar zxvf mysql-5.1.63.tar.gz
  4. cd mysql-5.1.63
  5. ./configure \
  6. --prefix=/usr/local/mysql \
  7. --with-unix-socket-path=/tmp/mysql.sock \
  8. --enable-thread-safe-client \
  9. --with-mysqld-user=mysql \
  10. --with-big-tables \
  11. --without-debug \
  12. --with-pthread \
  13. --enable-assembler \
  14. --with-extra-charsets=complex \
  15. --with-readline \
  16. --with-ssl \
  17. --with-embedded-server \
  18. --enable-local-infile \
  19. --with-plugins=partition,innobase \
  20. --with-plugin-PLUGIN \
  21. --with-mysqld-ldflags=-all-static \
  22. --with-client-ldflags=-all-static
  23. make && make install
  24. cp support-files/my-medium.cnf /etc/my.cnf #建立配置文件
  25. /usr/local/mysql/bin/mysql_install_db --user=mysql #初始化数据库,并修改相关目录所有权
  26. chown -R root.mysql /usr/local/mysql/
  27. chown -R mysql /usr/local/mysql/var/ #调整目录权限
  28. echo "/usr/local/mysql/lib/mysql/" >>/etc/ld.so.conf
  29. ldconfig #调整lib库路径
  30. /usr/local/mysql/bin/mysqld_safe --user=mysql & #使用mysqld_safe脚本安全启动服务(后台)
  31. cp support-files/mysql.server /etc/init.d/mysqld
  32. chmod a+x /etc/init.d/mysqld
  33. chkconfig --add mysqld
  34. chkconfig mysqld on #将mysql变成系统服务并开机自启
  35. echo "export PATH=$PATH:/usr/local/mysql/bin">>/etc/profile #把MySQL加入环境变量,方便执行命令
  36. source /etc/profile #使环境变量生效
  37. service mysqld restart #重启服务
  38. mysqladmin -u root password 123 #设置数据库root密码
好了,mysql安装好了,不过要想让tomcat可以连接到mysql,还需要一个jar包mysql-connector-java-5.1.13-bin.jar,将其下载下来放到tomcat 目录 lib 下面去就可以了。
下面来写个简单的测试连接数据库的jsp页面:
vim webapps/myapp/test_mysql.jsp

  
  1. <%@ page language="java" %>
  2. <%@ page import="com.mysql.jdbc.Driver" %>
  3. <%@ page import="java.sql.*" %>
  4. <%
  5. String driverName="com.mysql.jdbc.Driver";
  6. String userName="root";
  7. String userPasswd="123";
  8. String dbName="test";
  9. String url="jdbc:mysql://localhost/"+dbName+"?user="+userName+"&password="+userPasswd;
  10. Class.forName("com.mysql.jdbc.Driver").newInstance();
  11. try
  12. {
  13. Connection connection=DriverManager.getConnection(url);
  14. out.println(" Connection Mysql is OK !");
  15. connection.close();
  16. }
  17. catch( Exception e )
  18. {
  19. out.println( "connent mysql error:" + e );
  20. }
  21. %>
保存,打开页面:http://IP:8080/myapp/test_mysql.jsp,如果看到下面就说明连接成功了!

四、如何来发布一个开发的项目:
一共四种方法:
第一种方法:在tomcat中的conf目录中,在server.xml中的,<host/>节点中添加:
<Context path="/hello" docBase="E:\workspace\hello\WebRoot" debug="0" privileged="true">
</Context>
第二种方法:将web项目文件件拷贝到webapps 目录中。
第三种方法:很灵活,在conf目录中,新建 Catalina\localhost目录,在该目录中新建一个xml文件,名字不可以随意取,要和path后的那个名字一致,按照下边这个path的配置,xml的名字应该就应该是hello,该xml文件的内容为:
<Context path="/hello" docBase="E:\workspace\hello\WebRoot" debug="0" privileged="true">
</Context>
第四种方法 在eclipse中点启动tomcat那个按钮左边那个按钮
可以按照步骤deploy
 
总结:到现在为止,搭建的环境已经具备部署一个JAVA项目了,属于运维人员工作的初期工作也就这样了。至于如何详细的部署应用就是研发的人该考虑的事了,想弄的特别透就得好好学习tomcat。下面就是来总结下:要想部署JAVA项目,首先机器必须支持java,那就得装JDK。其次项目如何跑起来就需要web容器,那就得装tomcat。再者,数据如何获取,那就得装mysql。应用部署好了就发布。所以都是有所需才有所用。
 
再次强调:本人也是正在学习tomcat相关,写这篇只为记录在此!