http://quqtalk.iteye.com/blog/360699

从事Java开发已经两年了,但是由于工作的关系,对Java Web还是个freshman。今天做了一个Java Web的简单Demo,对这个Demo的总结如下。

环境:

JDK:1.5.0_12-b04

Tomcat:apache-tomcat-6.0.18

MySQL:mysql-5.1.32-win32

这些软件可以从各自的官方网站上下载得到。

Demo制作过程:

(1)在Tomcat中配置MySQL数据源。

修改$CATALINA_HOME/conf目录中的context.xml,增加以下配置:

<Resource name="jdbc/mysqlDB" auth="Container" type="javax.sql.DataSource"
               maxActive="100" maxIdle="30" maxWait="10000"
               username="root" password="" driverClassName="com.mysql.jdbc.Driver"
               url="jdbc:mysql://localhost:3306/mysql?autoReconnect=true"/>

这里有个学习点,就是Resource 元素的各个属性分别代表什么含义?

(2)把包含MySQL的JDBC驱动的jar包放入到$CATALINA_HOME/lib目录。

(3)在$CATALINA_HOME/webapps目录,新建testjdbc目录,testjbdc的目录结构

+testjdbc/

|

|——+WEB-INF/

|       |

|       |——+lib/

|       |

|       |——+web.xml

|

|——+index.jsp

(4)index.jsp的内容:

  1. <span style=""><%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
  2. <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
  3. <sql:query var="rs" dataSource="jdbc/TestDB">
  4. select host, user, password from user
  5. </sql:query>
  6. <html>
  7. <head>
  8. <title>DB Test</title>
  9. </head>
  10. <body>
  11. <h2>Results</h2>
  12. <c:forEach var="row" items="${rs.rows}">
  13. Foo ${row.host}<br/>
  14. Bar ${row.user}<br/>
  15. </c:forEach>
  16. </body>
  17. </html>
  18. </span>

(5)web.xml内容:

  1. <span style=""><?xml version="1.0" encoding="ISO-8859-1"?>
  2. <!--
  3. Licensed to the Apache Software Foundation (ASF) under one or more
  4. contributor license agreements.  See the NOTICE file distributed with
  5. this work for additional information regarding copyright ownership.
  6. The ASF licenses this file to You under the Apache License, Version 2.0
  7. (the "License"); you may not use this file except in compliance with
  8. the License.  You may obtain a copy of the License at
  9. http://www.apache.org/licenses/LICENSE-2.0
  10. Unless required by applicable law or agreed to in writing, software
  11. distributed under the License is distributed on an "AS IS" BASIS,
  12. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. See the License for the specific language governing permissions and
  14. limitations under the License.
  15. -->
  16. <web-app xmlns="http://java.sun.com/xml/ns/javaee"
  17. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  18. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
  19. version="2.5">
  20. <display-name>Jdbc Test</display-name>
  21. <description>
  22. Tomcat Jdbc Test.
  23. </description>
  24. </web-app>
  25. </span>

(6)在testjdbc/WEB-INF/lib目录中放入 JSTL的jstl.jar和standard.jar,在Tomcat的document中,建议务必使用1.1.x release,可以从http://jakarta.apache.org/site/downloads/downloads_taglibs-standard.cgi得到。

(7)mysqld --console启动MySQL。

(8)$CATALINA_HOME/bin目录,startup.bat启动Tomcat。

(9)在浏览器地址栏敲入http://127.0.0.1:8080/testjdbc/可以看到从mysql库,user表取出的数据。

(10)在Tomcat主页可以进入管理页面,http://127.0.0.1:8080/manager/html,第一次进入时要求输入用户名和密码,Tomcat安装时,是没有用户名和密码的,修改$CATALINA_HOME/conf/tomcat-users.xml:

  1. <span style=""><?xml version='1.0' encoding='utf-8'?>
  2. <tomcat-users>
  3. <role rolename="manager"/>
  4. <role rolename="admin"/>
  5. <user username="admin" password="admin" roles="admin,manager"/>
  6. </tomcat-users>
  7. </span>

在管理页面的用户名密码框中填入admin/admin即可进入管理页面,看到部署过的所有app。

转: java web demo的示例的更多相关文章

  1. eclipse Tomcat和 MYSQL JAVA web新手开发示例--登录界面连接数据库

    登录界面login.jsp 1 <%@ page language="java" import="java.util.*" contentType=&qu ...

  2. [原创]java WEB学习笔记30:Cookie Demo 之显示最近浏览的记录

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  3. 高效 Java Web 开发框架 JessMA v3.5.1

    JessMA 是功能完备的高性能 Full-Stack Web 应用开发框架,内置可扩展的 MVC Web 基础架构和 DAO 数据库访问组件(内部已提供了 Hibernate.MyBatis 与 J ...

  4. 高效 Java Web 开发框架 JessMA v3.4.1

    JessMA 是功能完备的高性能 Full-Stack Web 应用开发框架,内置可扩展的 MVC Web 基础架构和 DAO 数据库访问组件(内部已提供了 Hibernate.MyBatis 与 J ...

  5. Java Web开发中MVC设计模式简介

    一.有关Java Web与MVC设计模式 学习过基本Java Web开发的人都已经了解了如何编写基本的Servlet,如何编写jsp及如何更新浏览器中显示的内容.但是我们之前自己编写的应用一般存在无条 ...

  6. 高效 Java Web 开发框架 JessMA v3.3.1 正式发布

    JessMA(原名:Portal-Basic)是一套功能完备的高性能 Full-Stack Web 应用开发框架,内置可扩展的 MVC Web 基础架构和 DAO 数据库访问组件(内部已提供了 Hib ...

  7. 高效 Java Web 开发框架 JessMA v3.3.1 Beta-1 发布

    JessMA(原名:Portal-Basic)是一套功能完备的高性能 Full-Stack Web 应用开发框架,内置可扩展的 MVC Web 基础架构和 DAO 数据库访问组件(内部已提供了 Hib ...

  8. 高效 Java Web 开发框架 JessMA v3.2.3 正式发布

    JessMA(原名:Portal-Basic)是一套功能完备的高性能 Full-Stack Web 应用开发框架,内置可扩展的 MVC Web 基础架构和 DAO 数据库访问组件(内部已提供了 Hib ...

  9. 高效 Java Web 开发框架 JessMA v3.2.3 beta-2 发布

    JessMA(原名:Portal-Basic)是一套功能完备的高性能 Full-Stack Web 应用开发框架,内置可扩展的 MVC Web 基础架构和 DAO 数据库访问组件(内部已提供了 Hib ...

随机推荐

  1. 转:mysql group by

    group by 用法解析 group by语法可以根据给定数据列的每个成员对查询结果进行分组统计,最终得到一个分组汇总表. SELECT子句中的列名必须为分组列或列函数.列函数对于GROUP BY子 ...

  2. 乌班图 root权限获取

    点击左侧终端标 2 出现命令提示符 3 首先输入:sudo passwd root(设置root密码) 4 输入当前系统的账户密码(账户:admin-pc的密码) 5 输入新的root密码,确认新密码 ...

  3. Runtime.getRuntime().exec方法

    Runtime.getRuntime().exec()方法主要用于执行外部的程序或命令. Runtime.getRuntime().exec共有六个重载方法: public Process exec( ...

  4. Codeforces Round #395 Div.2 题解

    感受 第一次参加CF的rating比赛,感觉还是非常exciting,前18分钟把AB切掉之后一直在考虑C题,结果最后还是没有想出来Orz 传送门 A 比较水的模拟,就是计算:\(\frac{z}{l ...

  5. Activity介绍

    1.Activity使用方法(跳转): (1)写Activity类继承Activity package com.example.test2; import android.app.Activity; ...

  6. git 克隆一个新仓库

    1.登陆git网页版,点击右上角创建新项目 2.更改project path(如果需要),填写project name,其它选项默认. 3.到本地要创建存放项目的目录下,打开git命令框,输入git ...

  7. 一个boost底下的线程池

    Boost的thread库中目前并没有提供线程池,我在sorceforge上找了一个用boost编写的线程池.该线程池和boost结合的比较好,并且提供了多种任务执行策略,使用也非常简单. 下载地址: ...

  8. ZOJ2112 Dynamic Rankings(整体二分)

    今天学习了一个奇技淫巧--整体二分.关于整体二分的一些理论性的东西,可以参见XRH的<浅谈数据结构题的几个非经典解法>.然后下面是一些个人的心得体会吧,写下来希望加深一下自己的理解,或者如 ...

  9. cpp调用dll

    c++ 显示调用 其他程序dll #pragma comment(lib, "DllTest.lib") int fnDllTest(void); int c = fnDllTes ...

  10. Netty源码学习(一)Netty线程模型

    给你一台4路E7-4820V2(32核心64线程),512G内存的服务器,你该如何编程才能支持百万长连接? 最直接的想法是采用BIO的模式,为每个连接新建一个线程,在一一对应的线程中直接处理连接上的数 ...