Download presentation
Presentation is loading. Please wait.
1
Tomcat+Mysql+JSP+Servlet的配置与使用
实验五 Tomcat+Mysql+JSP+Servlet的配置与使用
2
实验目的 学习Tomcat的安装配置 学习编写简单的servlet/JSP,并掌握如何通过Tomcat来实现servlet/JSP与mysql的简单连接 学习掌握如何配置Tomcat的Mysql JDBC数据库连接池,并实现Servlet/JSP程序访问连接池
3
实验大纲 Servlet与JSP简介 Tomcat的简介与安装配置 Servlet、JSP程序的编写、编译、运行
配置Tomcat Mysql JDBC数据库连接池 Servlet,JSP访问数据库连接池
4
Servlet Servlet是用Java编写的Server端程序,它与协议和平台无关。Servlet的设计目标是处理用户请求的服务器端java代码。JAVA Servlet的优势:Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。Servlet与Web服务器的关系类似于Applet与Web浏览器的关系
5
JSP JSP(JavaServer Pages)是由Sun公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。 JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
6
Servlet、JSP区别 Servlet是使用JAVA编写的,特别使用于定义程序逻辑,Servlet可以在java代码中插入html标记
最直观的区别:servlet要首先要程序员自己通过javac编译成.class文件,而JSP不用,它是在调用时被Web服务器(如Tomcat)编译。
7
Web应用模型 Web Server JSP Servlet Web 客户端 JDBC 数据库
8
Tomcat Tomcat是一个免费的开源Web服务器,是sun公司官方推荐的servlet和jsp容器,因此其越来越多的受到软件公司和开发人员的喜爱。servlet和jsp的最新规范都可以在tomcat的新版本中得到实现。 Tomcat官方站点:
9
Tomcat安装与配置 1、Tomcat需要JDK的支持,因此安装之前要先检查一下JDK是否已经安装好了
2、下载Tomcat5.5 Windows Service Installer版 ,并安装 3、安装过程中需要注意一点:有一步要设置admin的密码,可以任意设置自己的密码
10
Tomcat安装与配置 4、添加系统环境变量CATALINA_HOME ,将其值设为Tomcat的安装目录如:C:\Program Files\Apache Software Foundation\Tomcat 5.5 5、修改classpath,把Tomcat安装目录下的common\lib下的servlet-api.jar添加到classpath中去 6、启动tomcat,在IE中访问
11
Tomcat目录介绍 其中: \bin Tomcat执行文件目录 \common Tomcat公用的库文件(JARS)
\conf Tomcat配置文件 \logs Tomcat执行时的LOG文件 \server Web服务需要的文件 \shared 共享文件 \temp 临时文件 \webapps Tomcat的主要Web发布目录,用户开发的 程序放在这里 \work Tomcat的工作目录,Tomcat将翻译JSP文件得到的Java文件和class文件放在这里
12
Tomcat中添加admin模块 下载Administration Web Application(如apache-tomcat admin.zip) 将管理包解压,解压后的文件夹包含conf,server以及其他三个文件,三个单独的文件可以不用管。将\conf\Catalina\localhost\文件夹里面的admin.xml拷贝到你的【tomcat的安装目录】\conf\Catalina\localhost\文件夹里面,再将\server\webapps\文件夹里面的admin文件夹整个拷贝到【tomcat的安装目录】\server\webapps\文件夹中。这样就安装完了 Ps:admin模块并非Tomcat必须的,这里之所以添加是为了后面的数据库连接池配置,可以使用图形界面配置
13
Tomcat类加载 Bootstrap($JAVA_HOME/jre/lib/ext/*.jar) System($CLASSPATH/*.class和指定的jar) Common($CATALINA_HOME/common 下的classes,lib,endores三个子目录) Catalina ($CATALINA_HOME/server/下的classes和lib目录仅对Tomcat可见) &Shared($CATALINA_HOME/shared/下的classes和lib目录以及$CATALINA_HOME/lib目录)仅对Web应用程序可见,对Tomcat不可见WebApp($WEBAPP/Web-INF/*仅对该WEB应用可见classes/*.class lib/*.jar)
14
加载类和资源的顺序为 1、/Web-INF/classes 2、/Web-INF/lib/*.jar 3、Bootstrap
4、System 5、$CATALINA_HOME/common/classes 6、$CATALINA_HOME/common/endores/*.jar 7、$CATALINA_HOME/common/lib/*.jar 8、$CATALINA_HOME/shared/classes 9、$CATALINA_HOME/shared/lib/*.jar
15
J2EE web应用程序的格式 J2EE的Web应用程序有标准的格式(注意大小写) HelloApp +---WEB-INF
classes web.xml lib
16
J2EE web应用程序的格式 2、WEB-INF/web.xml是标准配置文件,负责注册Servlet、jsp等应用程序它所需要用到的资源
1、所有需要的class文件均以WEB-INF/classes/为根目录存放 ,所有的jar文件全部放在WEB-INF/lib下,Web服务器(比如Tomcat)会自动把classes和lib下的所有jar文件动态添加到classpath中 2、WEB-INF/web.xml是标准配置文件,负责注册Servlet、jsp等应用程序它所需要用到的资源 3、JSP文件可放在根目录下的任意位置,但是位置不同会影响URL的格式。以上面的Hello应用为例,我们指定Hello/hello.jsp,则URL为
17
Servlet程序 的编写、编译、运行 1、在Tomcat的安装目录如C:\Program Files\Apache Software Foundation\Tomcat5.5\webapps目录下建立子目录如:myapp 2、在myapp目录下新建一个目录WEB-INF建立classes目录和 web.xml文件 3、进入classes目录,编写servlet程序。Servlet的程序框架如下:
18
Servlet程序基本框架 基本框架 import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloWorld 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>"); out.println("This is my first Servlet"); out.println("</title></head><body>"); out.println("<h1>Hello,World!</h1>"); out.println("</body></html>"); } } 这里的代码表示的是输出在页面上内容
19
Servlet程序 的编写、编译、运行 4、编译,用javac命令编译 5、编写web.xml,其内容如下
20
web.xml文件的框架 <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi=" xsi:schemaLocation=" version="2.4"> <servlet> <servlet-name>HelloWorld</servlet-name> <display-name>HelloWorld</display-name> <description>A test Servlet</description> <servlet-class>HelloWorld</servlet-class> </servlet> <servlet-mapping> <url-pattern>/*</url-pattern> </servlet-mapping> </web-app> Ps:这段话中的servlet这一段声明了你要调用的Servlet,而servlet-mapping则是将声明的servlet“映射”到/*地址上 ,如:输入 映射到myapp之后的地址
21
Servlet程序 的编写、编译、运行 重启Tomcat,启动浏览器,输入 如果看到输出HelloWorld!就说明编写的servlet成功了。 注意:修改了web.xml以及新加了class,都要重启Tomcat
22
JSP程序的编写、编译和执行 1、在Tomcat安装目录下如C:\Program Files\Apache Software Foundation\Tomcat5.5\webapps目录下建立子目录如firstjsp。 2、进入firstjsp目录下用记事本编写一个文件保存为first.jsp 3、first.jsp的框架如下:
23
First.jsp框架 <%@ page import="java.sql.*"%>
page contentType="text/html;charset=GB2312"%> <html> <body> <% //在这里添加java 代码 // out.println(“My first Jsp Application”); %> </body> </html>
24
JSP程序的编写、编译和执行 在浏览器中输入: http://127.0.0.1:8080/firstjsp/first.jsp
若出现My first Jsp Application字符串,则说明JSP程序成功运行
25
Servlet,JSP连接Mysql数据库
1、在servlet中添加访问数据库的相关代码即可,这里我们使用JDBC驱动形式访问,而非JDBC-OBC桥方式,因而需要将JDBC驱动程序mysql-connector-java-XXX-bin.jar一定要放置到Tomcat的common\lib下 2、在JSP中添加访问数据库的相关代码即可。 注:数据库访问所需的关键代码 String JDriver = "com.mysql.jdbc.Driver"; StringconURL="jdbc:mysql://localhost/webdb? user=root&password=123456"; Class.forName(JDriver); Connection con=DriverManager.getConnection(conURL);
26
Tomcat 数据库连接池配置 1、打开浏览器,输入http://localhost:8080/admin/
2、选择Tomcat Adminstration 3、输入admin和密码(安装Tomcat时指定的) 4、选择Resources->DataResources,选择Data Source Actions ->选择Create New Data Source,进入配置详细信息界面 5、填写以下信息
27
Tomcat 数据库连接池配置 在mysql中建立的数据库 JNDI Name: jdbc/lab5 Data Source URL: jdbc:mysql://localhost:3306/lab5 JDBC Driver Class: com.mysql.jdbc.Driver User Name: root Password: ******** Max. Active Connections: 4 Max. Idle Connections: 2 Max. Wait for Connection: 5000 Validation Query: 6、 最后点击Save->Commit Change.
32
JSP访问数据库连接池 为什么要使用连接池??最重要的一点是连接池中包含多个JDBC连接,当应用程序需要访问数据库时,它从连接池中抓取一个连接,然后使用该连接,一旦使用完,数据库连接关闭,然后就被释放回数据库连接池中。与每次为每个客户端创建新的数据库连接相比较,使用连接池可以提高效率,不用每次都单独创建一个连接,这个对于大型WEB应用至关重要。 由于servlet和JSP访问数据库连接池的方式基本一样,因而在此只介绍JSP访问数据库连接池的方式
33
JSP访问数据库连接池 0、在mysql中建立一个数据库如lab5
1、在Tomcat的安装目录如C:\Program Files\Apache Software Foundation\Tomcat5.5\webapps目录下建立子目录如:Jspapp 2、在Jspapp目录下建立一个jsp文件如:dbtest.jsb,其内容大致如下:
34
dbtest.jsb框架 page import="java.io.*,java.util.*,java.sql.*,javax.sql.*,javax.naming.*"%> page contentType="text/html;charset=GB2312"%> <html> <head><title>DataSourse Connection Test</title></head> <body> <% try{ java.sql.Connection con; Statement stmt; Context ctx = new InitialContext(); DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/lab5"); con=ds.getConnection(); //执行数据库操作 } catch(Exception e){ out.print(e.getMessage()); } %> </body> </html>
35
web.xml文件 3、在Jspapp目录下新建一个目录WEB-INF建立web.xml文件,其内容框架如下:
<web-app xmlns=" xmlns:xsi=" xsi:schemaLocation=" version="2.4"> <resource-ref> <description>DB Connection</description> <res-ref-name>jdbc/lab5</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> </web-app>
36
JSP访问数据库连接池 <?xml version="1.0" encoding="UTF-8"?>
4、进conf\Catalina\localhost下 ,建立应用相对应的xml文件如Jspapp.xml(就是1中建立的目录名.xml),其内容如下: <?xml version="1.0" encoding="UTF-8"?> <Context> <ResourceLink global="jdbc/lab5" name="jdbc/lab5" type="javax.sql.DataSource"/> </Context>
37
JSP访问数据库连接池 5、重启Tomcat服务,输入http://localhost:8080/Jspapp/dbtest.jsp
6、如果程序编写正确、连接池配置正确,将得到相应的程序执行结果。
38
实验内容 1、编写servlet程序,实现与mysql数据库的连接,返回查询结果
2、编写jsp程序,实现与mysql数据库连接,返回查询结果 3、完成Tomcat+mysql 数据库连接池配置,实现jsp与连接池的连接,并返回查询结果。
Similar presentations