TomcatMysqlJSPServlet Web n Web JSP Servlet Web Server
实验五 Tomcat+Mysql+JSP+Servlet的配 置与使用
Web应用模型 n Web 客户端 JSP Servlet Web Server JDBC 数据库
Tomcat安装与配置 n 4、添加系统环境变量CATALINA_HOME ,将其值设 为Tomcat的安装目录如:C: Program FilesApache Software FoundationTomcat 5. 5 n n 5、修改classpath, 把Tomcat安装目录下的commonlib 下的servlet-api. jar添加到classpath中去 6、启动tomcat,在IE中访问http: //localhost: 8080, 若看到tomcat的欢迎页面的话说明安装成功
Tomcat类加载 n 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不可见Web. App($WEBAPP/Web. INF/*仅对该WEB应用可见classes/*. class lib/*. jar)
加载类和资源的顺序为 n n n n 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
Servlet程序 的编写、编译、运行 n n n 1、在Tomcat的安装目录如C: Program FilesApache Software FoundationTomcat 5. 5webapps目录下建立子 目录如:myapp 2、在myapp目录下新建一个目录WEB-INF建 立classes目录和 web. xml文件 3、进入classes目录,编写servlet程序。 Servlet的程序框架如下:
Servlet程序基本框架 基本框架 import java. io. *; import javax. servlet. http. *; public class Hello. World extends Http. Servlet { public void do. Get(Http. Servlet. Request request, Http. Servlet. Response response)throws Servlet. Exception, IOException { response. set. Content. Type(“text/html”); Print. Writer out = response. get. Writer(); //可以在这里添加你的代码 out. println("<html><head><title>"); out. println("This is my first Servlet"); out. println("</title></head><body>"); out. println("<h 1>Hello, World!</h 1>"); out. println("</body></html>"); } } 这里的代码表 示的是输出在 页面上内容
web. xml文件的框架 <web-app xmlns="http: //java. sun. com/xml/ns/j 2 ee" xmlns: xsi="http: //www. w 3. org/2001/XMLSchema-instance" xsi: schema. Location="http: //java. sun. com/xml/ns/j 2 ee/web-app_2_4. xsd" version="2. 4"> <servlet> <servlet-name>Hello. World</servlet-name> <display-name>Hello. World</display-name> <description>A test Servlet</description> <servlet-class>Hello. World</servlet-class> </servlet> <servlet-mapping> <servlet-name>Hello. World</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> </web-app> Ps: 这段话中的servlet这一段声明了你要调用的Servlet,而servlet-mapping则是将声 明的servlet“映射”到/*地址上 , 如:输入 http: //localhost: 8080/myapp/servlet/Hello. World, 那么就将Hello. World 映射到 myapp之后的地址
JSP程序的编写、编译和执行 n n n 1、在Tomcat安装目录下如C: Program FilesApache Software FoundationTomcat 5. 5webapps目录下建立 子目录如firstjsp。 2、进入firstjsp目录下用记事本编写一个文件保存为 first. jsp 3、first. jsp的框架如下:
First. jsp框架 <%@ page import="java. sql. *"%> <%@ page content. Type="text/html; charset=GB 2312"%> <html> <body> <% //在这里添加java 代码 // out. println(“My first Jsp Application”); %> </body> </html>
Servlet,JSP连接Mysql数据库 n 1、在servlet中添加访问数据库的相关代码即可,这里 我们使用JDBC驱动形式访问,而非JDBC-OBC桥方式, 因而需要将JDBC驱动程序mysql-connector-java-XXXbin. jar一定要放置到Tomcat的commonlib下 n 2、在JSP中添加访问数据库的相关代码即可。 n 注:数据库访问所需的关键代码 String JDriver = "com. mysql. jdbc. Driver"; Stringcon. URL="jdbc: mysql: //localhost/webdb? user=root&password=123456"; Class. for. Name(JDriver); Connection con=Driver. Manager. get. Connection(con. URL);
Tomcat 数据库连接池配置 n n n 1、打开浏览器,输入 http: //localhost: 8080/admin/ 2、选择Tomcat Adminstration 3、输入admin和密码(安装Tomcat时指定的) 4、选择Resources->Data. Resources,选择Data Source Actions ->选择Create New Data Source, 进入 配置详细信息界面 5、填写以下信息
Tomcat 数据库连接池配置 在mysql中建立的数据库 JNDI Name: jdbc/lab 5 Data Source URL: jdbc: mysql: //localhost: 3306/lab 5 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: n 6、 最后点击Save->Commit Change.
n
n
n
n
JSP访问数据库连接池 n n n 0、在mysql中建立一个数据库如lab 5 1、在Tomcat的安装目录如C: Program FilesApache Software FoundationTomcat 5. 5webapps目录下建立子 目录如:Jspapp 2、在Jspapp目录下建立一个jsp文件如: dbtest. jsb, 其内容大致如下:
dbtest. jsb框架 <%@ page import="java. io. *, java. util. *, java. sql. *, javax. naming. *"%> <%@ page content. Type="text/html; charset=GB 2312"%> <html> <head><title>Data. Sourse Connection Test</title></head> <body> <% try{ java. sql. Connection con; Statement stmt; Context ctx = new Initial. Context(); Data. Source ds=(Data. Source)ctx. lookup("java: comp/env/jdbc/lab 5"); con=ds. get. Connection(); //执行数据库操作 } catch(Exception e){ out. print(e. get. Message()); } %> </body> </html>
web. xml文件 n 3、在Jspapp目录下新建一个目录WEB-INF建立 web. xml文件,其内容框架如下: <web-app xmlns="http: //java. sun. com/xml/ns/j 2 ee" xmlns: xsi="http: //www. w 3. org/2001/XMLSchema-instance" xsi: schema. Location="http: //java. sun. com/xml/ns/j 2 ee/web-app_2_4. xsd" version="2. 4"> <resource-ref> <description>DB Connection</description> <res-ref-name>jdbc/lab 5</res-ref-name> <res-type>javax. sql. Data. Source</res-type> <res-auth>Container</res-auth> </resource-ref> </web-app>
JSP访问数据库连接池 n 4、进confCatalinalocalhost下 ,建立应用相 对应的xml文件如Jspapp. xml(就是 1中建立的 目录名. xml), 其内容如下: <? xml version="1. 0" encoding="UTF-8"? > <Context> <Resource. Link global="jdbc/lab 5" name="jdbc/lab 5" type="javax. sql. Data. Source"/> </Context>
- Slides: 38