JSP通过Tomcat连接MySQL的实现

服务概述

1、Tomcat是什么?

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。

Tomcat是一个应用服务器。 比如,假设我们浏览sina网的网页,而sina网的所有网页是配置在一个Tomcat服务器上的,那么,如果没有这个Tomcat来提供服务器端的服务的话,那你就打不开sina网的任何网页了

模式:B/S 模式

端口: 8080

1)关于java的相关概念:

JDK :java development kit (套件) 。简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。

SDK是Software Development Kit 一般指软件开发包,可以包括凼数库、编译程序等。

JRE: 是Java Runtime Enviroment是指Java的运行环境,是面向Java程序的使用者,而不是开发者。

JVM: java virtual machineJVM就是我们常说的java虚拟机。在JDK的安装目录里你可以找到jre目录里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和起来就称为jre。

2、Apache和Tomcat的区别:

      Apache只是一个Web服务器,可以作为独立的web服务器来运行,不过只支持静态网页,如ASP、PHPCGI、JSP等动态网页的就显得无能为力。

      Tomcat也可以作为独立的web服务器来运行。但Tomcat也是应用(Java)服务器,它只是一个Servlet容器(生成动态Web内容)

由于Apache解释静态页面要比tomcat快速而且稳定, 基于以上原因,一个现实的网站使用一个Apache作为Web服务器,为网站的静态页面请求提供服务;并使用Tomcat服务器作为一个Servlet/JSP插件,显示网站的动态页面;

3、Apache+Tomcat整合的好处:

      1). Apache主要用来解析静态文本,如html,tomcat虽然也有此功能,但apache能大大提高效率,对于并发数较大的企业级应用,能更好的显示apache的高效率;

      2)Tomcat用来解析jsp,servlet等,所有的客户请求首先会发送到Apache,如果请求是静态文本则由apache解析,并把结果返回给客户端,如果是动态的请求,如jsp,apache会把解析工作交给tomcat,由tomcat进行解析(这首先要两者现实整合),tomcat解析完成后,结果仍是通过apache返回给客户端,这样就可以达到分工合作,实现负载均衡,提高系统的性能!而且因为JSP是服务器端解释代码的,这样整合可以减少Tomcat的服务开销。

4、Apache+Tomcat整合的原理

wKiom1kJrMLzNpKLAACaJUqrxIA807.png 

作为Apache下面的子项目,Tomcat 与 Apache之间有着天然的联系。在实际操作中,主要是Apache作为主服务器运行,当监听到有jsp或者servlet的请求时,将请求转发给tomcat服务器,由tomcat服务器进行解析后,发回apache,再由apache发回用户。

    在tomcat中有两个监听的端口,一个是8080用于提供web服务,一个是8009用于监听来自于apache的请求。当apache收到jsp或者servlet请求时,就向tomcat 的8009端口发送请求,交由tomcat处理后,再返回给apache,由apache返回给客户。

一:实验目标

实战实现tomcat使用用户密码登录

实战:实现JSP通过Tomcat连接MySQL

二:实验环境

三:实验步骤

1、安装JDK

1)准备相关软件包:

jdk-7u71-linux-x64.rpm

apache-tomcat-7.0.27.tar.gz  #tomcat安装包

mysql-connector-java   #用于使用java连接mysql数据库.mysql数据库连接器。

mysql-connector-java-5.1.34.tar.gz

2)安装及配置Java运行环境—jdk。升级了jdk的版本

Linux export命令参数

功能说明:设置或显示环境变量。

语法:export[-fnp][变量名称]=[变量设置值]

例:

aaa

bbb

3)修改环境变量:

export  JAVA_HOME=/usr/java/jdk1.7.0_71

export  JAVA_BIN=/usr/java/jdk1.7.0_71/bin

export  PATH=${JAVA_HOME}/bin:$PATH

export  CLASSPATH=.:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar

注释:

exportJAVA_HOME=/usr/java/jdk1.7.0_71#java家目录

exportJAVA_BIN=/usr/java/jdk1.7.0_71/bin#java可执行文件目录

exportPATH=${JAVA_HOME}/bin:$PATH#修系统环境变量

exportCLASSPATH=.:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar#类路径

[root@tomcat~]#source  /etc/profile#使配置文件生效

4)验证java运行环境是否安装成功:

javaversion"1.7.0_71"

Java(TM)SERuntimeEnvironment(build1.7.0_71-b14)

JavaHotSpot(TM)64-BitServerVM(build24.71-b01,mixedmode)

#如果出现安装的对应版本,说明java运行环境已经安装成功。

2、安装tomcat提升服务器性能:

注:tomcat-native.tar.gz #这个软件包在tomcat的bin目录下已经提供,不需要再下载了。

具体的安装与配置

1)安装及配置tomcat

Tomcat有两种安装方式,一种是直接解压就可以使用的二进制的文件。第二种是编译安装。采用第一种方法,因为在官网默认下载的便是第一种二进制的文件。

注:/usr/local/tomcat/webapps/ROOT/ 网站根目录

2)为tomcat的启动创建一个Sysv的管理脚本 

#!/bin/bash

# Tomcat init script for linux.

# chkconfig: 2345 96 14

# description: The Apache Tomcat server/JSP container

JAVA_OPTS='-server -Xms64m -Xmx128m'

JAVA_HOME=/usr/java/jdk1.7.0_71

CATALINA_HOME=/usr/local/tomcat #指定tomcat家目录

$CATALINA_HOME/bin/catalina.sh $* #指定运行或关闭tomcat的脚本

/usr/local/tomcat/bin/catalina.sh

说明:

JAVA_OPTS='-Xms64m-Xmx128m'#是用来设置JVM相关运行参数的变量。

-Xms:初始Heap(堆)大小,使用的最小内存,cpu性能高时此值应设的大一些

-Xmx:javaheap最大值,使用的最大内存上面两个值是分配JVM的最小和最大内存,取决于硬件物理内存的大小,建议设为物理内存的一半。

3)设置开机启动: 

tomcat0:off1:off2:on3:on4:on5:on6:off

tcp00:::8080:::*LISTEN4220/java

4)浏览器登录Tomcat测试:

通过浏览器访问tomcat所提供的网站,上面我们已经知道tomcat可以单独提供Web服务的。

http://192.168.1.63:8080/

wKiom1kJrM_CeAUIAAEHK7hf3Eg627.png 

点击【ManagerApp】,进入管理页面的时候,出现信息:

wKioL1kJrNnxEV_aAAINi-2Ucn8568.png 

5)添加账号密码

改:

<!--

<rolerolename="tomcat"/>

<rolerolename="role1"/>

<userusername="tomcat"password="tomcat"roles="tomcat"/>

<userusername="both"password="tomcat"roles="tomcat,role1"/>

<userusername="role1"password="tomcat"roles="role1"/>

-->

为:

<tomcat-users>

<!--

  <role rolename="tomcat"/>

  <role rolename="role1"/>

  <user username="tomcat" password="tomcat" roles="tomcat"/>

  <user username="both" password="tomcat" roles="tomcat,role1"/>

  <user username="role1" password="tomcat" roles="role1"/>

-->

  <role rolename="manager-gui"/>

  <user username="mk" password="123456" roles="manager-gui"/>

</tomcat-users>

#添加用户角色: manager-gui。添加了用户:mk 密码:123456

6)重新启动tomcat服务并测试登录

重新登陆,并使用设置的用户名和密码登陆,登陆后的界面如图:

wKiom1kJrOSA0BQBAAFNuXaedV8924.png 

7)安装tomcat-native

Tomcat 可以使用 apr 技术来提供更好的伸缩性、性能。用来提高tomcat的性能。

tomcat native在具体的运行平台上,提供了一种优化技术,它本身是基于ARP(Apache Portable(轻便) Runtime)技术 tomcat可以利用apache的apr接口,使用操作系统的部分本地操作,从而提升性能。 APR提升的是静态页面处理能力

详细介绍:http://tomcat.apache.org/native-doc/

依赖的软件包:apr-devel,openssl-devel

tomcat-native.tar.gz

[root@tomcat native]# ./configure --with-apr=/usr/ --with-ssl

[root@tomcat native]# make && make install

8)安装MySQL的连接器

build.xml COPYING mysql-connector-java-5.1.34-bin.jar README.txt

CHANGES docs README src

9)安装mysql:

10)设置mysql数据库默认编码为utf8

[client]

default-character-set=utf8

[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

user=mysql

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

default-character-set=utf8

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

11)创建测试数据库

注:确认上面是UFT8后,我们就来创建个测试数据库。注意您的终端也要是UTF8编码啊,否则中文会出现乱码!

wKiom1kJrQaxfw-dAAA0oGik_FY759.png 

mysql> create database tomcat;

mysql> use tomcat;

mysql> create table tt(id int,name varchar(128));

mysql> insert into tt values(1,'mk');

ysql> grant all on tomcat.* to tomcat@localhost identified by 'tomcat';

mysql> exit

12)测试主页:

/usr/local/tomcat/webapps/ROOT

<%@ page contentType="text/html;charset=utf-8"%>

<%@ page import="java.sql.*"%>

<html>

<body>

<%

Class.forName("org.gjt.mm.mysql.Driver").newInstance();

String url ="jdbc:mysql://localhost/tomcat?user=tomcat&password=tomcat&useUnicode=true&characterEncoding=utf-8";

Connection conn= DriverManager.getConnection(url);

Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

String sql="select * from tt";

ResultSet rs=stmt.executeQuery(sql);

while(rs.next()) {%>

step:<%=rs.getString(1)%>

context:<%=rs.getString(2)%><br><br>

<%}%>

<%out.print("Congratulations!!! JSP connect MYSQL IS OK!!");%>

<%rs.close();

stmt.close();

conn.close();

%>

</body>

</html>

测试

Httpd://192.168.1.63:8080/test.jsp 

wKioL1kJrR_C_5H6AABW6sy94YM187.png 

更多Tomcat相关教程见以下内容

Tomcat 的详细介绍请点这里
Tomcat 的下载地址请点这里

猜你喜欢

转载自www.linuxidc.com/Linux/2017-05/143452.htm