下面是“图解Linux下安装Tomcat服务器”的完整攻略。
准备工作
- 下载Tomcat,推荐从官网下载:http://tomcat.apache.org/
- 确认机器已安装JDK,建议使用OpenJDK 8:
sudo apt-get update
sudo apt-get install -y openjdk-8-jdk
- 确认机器中/etc/profile中已经包含JAVA_HOME变量,如果没有可以手动添加:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$PATH:$JAVA_HOME/bin
安装Tomcat
- 在/opt目录下创建一个tomcat目录:
sudo mkdir /opt/tomcat
- 解压Tomcat安装包到刚才创建的目录中:
sudo tar xzf apache-tomcat-9.0.0.M22.tar.gz -C /opt/tomcat --strip-components=1
- 对Tomcat所掌握的文件进行适当的权限修改,以便它能够运行。对于此次例子,我们简单地将Tomcat的用户设为tomcat用户组,权限给定相应的用户组整体读/写功能:
sudo chgrp -R tomcat /opt/tomcat
sudo chmod -R g+r conf
sudo chmod g+x conf
sudo chown -R tomcat webapps/ work/ temp/ logs/
安装完毕
现在,您可以启动Tomcat来验证一下您的安装。进入/opt/tomcat/bin目录,并运行以下命令:
sudo sh startup.sh
在浏览器中输入 http:// :8080 进入Tomcat默认页面即表示成功。
示例1:创建一个简单的Servlet
在/opt/tomcat/webapps目录下创建一个名为hello的目录,然后再创建一个WEB-INF目录,最后在目录中创建一个空的web.xml文件。这些命令如下:
cd /opt/tomcat/webapps
sudo mkdir hello
cd hello
sudo mkdir WEB-INF
sudo touch WEB-INF/web.xml
接下来,创建一个名为HelloServlet.java的文件,包含以下内容:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Hello Servlet</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Hello, world!</h1>");
out.println("</body>");
out.println("</html>");
}
}
在/opt/tomcat/webapps/hello/WEB-INF/classes目录下创建HelloServlet.class文件。我们可以使用javac命令编译HelloServlet.java文件:
cd /opt/tomcat/webapps/hello/WEB-INF/classes
sudo javac HelloServlet.java
然后,我们必须告诉Tomcat该如何调用我们的Servlet。我们将在web.xml文件中执行此操作,因此请编辑/opt/tomcat/webapps/hello/WEB-INF/web.xml文件,将以下内容添加到其中:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>Hello Application</display-name>
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
现在,重启Tomcat,http:// :8080/hello将输出“Hello, world!”消息。
示例2:实现JDBC连接
首先,我们需要安装sqlite-jdbc驱动程序,并将其放在Tomcat类路径下。我们可通过以下命令执行这些操作:
cd /opt/tomcat/lib
sudo wget https://bitbucket.org/xerial/sqlite-jdbc/downloads/sqlite-jdbc-3.27.2.1.jar
接下来,我们创建一个名为jdbc的目录和一个名为db.db的SQLite文件:
cd /opt/tomcat/webapps/
sudo mkdir jdbc
cd jdbc
sudo touch db.db
将以下内容添加到/etc/profile文件中以确保sqlite3工具可用:
export PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/local/libexec/
使用sqlite3工具创建一个名为people的表:
sqlite3 /opt/tomcat/webapps/jdbc/db.db
sqlite> create table people (id integer not null primary key, name text not null);
sqlite> insert into people (id, name) values (1, 'John Smith');
sqlite> insert into people (id, name) values (2, 'Jane Smith');
sqlite> .quit
接下来,我们编写一个名为DbServlet的Servlet,该Servlet将查询我们刚才创建的people表,并将其内容输出到网页上:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
public class DbServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><head><title>People List</title></head><body>");
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
Class.forName("org.sqlite.JDBC");
conn = DriverManager.getConnection("jdbc:sqlite:/opt/tomcat/webapps/jdbc/db.db");
stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT * FROM people");
while (rs.next()) {
out.println("<li>" + rs.getString("name") + "</li>");
}
out.println("</ul>");
} catch (Exception e) {
out.println("<p>Error: " + e.getMessage() + "</p>");
e.printStackTrace();
} finally {
try {
if (rs != null) {
rs.close();
}
if (stmt != null) {
stmt.close();
}
if (conn != null) {
conn.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
out.println("</body></html>");
}
}
同样,我们需要在web.xml文件中注册DbServlet:
<servlet>
<servlet-name>db</servlet-name>
<servlet-class>DbServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>db</servlet-name>
<url-pattern>/db</url-pattern>
</servlet-mapping>
现在,我们可以重启Tomcat并访问http:// :8080/jdbc/db以查看由DbServlet生成的网页。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:图解Linux下安装Tomcat服务器 - Python技术站