当前位置:文档之家› 使用MyEclipse8.x开发web应用的基础(08级Oracle)

使用MyEclipse8.x开发web应用的基础(08级Oracle)

使用MyEclipse8.x开发web应用的基础

一、使用MyEclipse8.x开发Web应用的实例

使用MyEclipse8.x开发Web应用的基本过程:

1.准备开发环境MyEclipse8.x。

2.创建Web项目。

3.添加项目组件。

4.部署Web应用项目。

5.启动Web服务器。

6.通过网络访问Web应用。

数据库的差别很少:

(1)驱动包及加载语句;

(2)URL;

(3)Username和Password。

1.开发环境MyEclipse8.x

实验室已经建立。

如果需要注册:

进入MyEclipse-->Subscription Information,

然后输入输入subscription information.

订阅者. subscriber=LauCheng

订阅代码Subscription Code=YLR8ZC-855550-6765665204902409

可以查看注册信息Subscription Details,注意同一订阅只允许20用户。

其它可用订阅信息:(也可以用提供的注册机程序MyEclipseGen.java生成订阅信息)allen

nLR8ZC-855550-6865695391938799

king

xLR8ZC-855550-6865695436877552

testallen

gLR8ZC-855550-68656957593201422

testjava

gLR8ZC-855550-68656956864197782

2.创建Web项目

启动Myeclipse平台工具,从右上角选择MyEclipse Java Enterprise透视图,如果右上角没有出现,则从windows菜单中选择透视图。

按路径File---.>New---- Web Project进入如下的web project创建向导:

单击“Finish”即可。

至此,一个web程序已经新建好了。如果是第一次创建工程,会弹出一个对话框,询问是否切换到myeclipse透视图,随意选择。

3.查看项目Test的组成,根据需要修改系统产生的index.jsp页面

4. 部署项目

点击“发布”图

,在弹出的对话框中选择项目test ,按Add 按钮,

选择MyEclipse Tomcat 服务器,按“Finish ”确认部署。注意可以通过服务器下面的链

接进入“Edit server connectors”编辑服务器链接信息,如端口号等。

5.点击“启动服务器”图标,启动服务器。

注意在控制台观测启动信息。

6.通过网络访问Web应用。

单击Myeclipse的工具按钮

在地址栏如下输入,如果出现下图的运行效果,则测试成功

注意:因为指导书环境tomcat端口号与oracle冲突,故改为8070,默认情况下端口号是:8080。视具体情况定

二、使用MyEclipse8.x开发基于Web的数据库应用实例

重点:web 程序与数据库的连接

1.在oracle数据库中建立数据库脚本mytable.sql

create table mytable(

mytable_username varchar2(50) not null,

mytable_password varchar2(50) ,

mytable_email varchar2(50) ,

mytable_tel varchar2(50) ,

primary key(mytable_username)

);

2.在eclipse中新建一个web project,取名为testagain

(1)在webroot目录下新建一个名为:test.jsp的文件,用来测试和数据库的连接情况Test.jsp代码如下:

<%@ page contentType="text/html; charset=gb2312" %>

<%@ page language="java" %>

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

<%

//连接字符串(此处是不同数据库的唯一差别)

String url="jdbc:oracle:thin:@localhost:1521:orcl"; //不同机器上oracle10g的数据库实

//例名不同,作相应修改。Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();

String user="scott";//数据库的用户名

String password="tiger";//注意数据库密码的差异

//连接数据库

Connection connection= DriverManager.getConnection(url,user,password);

Statement statement = connection.createStatement();

String sql="SELECT * FROM mytable";

ResultSet rs = statement.executeQuery(sql); //执行sql语句

// 输出每一个数据值

out.print("uername");

out.print("|");

out.print("email");

out.print("|");

out.print("tel");

out.print("
");

//输出数据库中指定属性值

while(rs.next()) {

out.print(rs.getString(1)+" ");

out.print("|");

out.print(rs.getString(3));

out.print("|");

out.print(rs.getString(4));

out.print("
");

}

out.print("
");

out.print("数据库操作成功,恭喜你");

rs.close();

statement.close();

connection.close();

%>

(2)把数据库连接包添加到工程构建路径中。建议把数据库连接的.jar包拷贝至/testagain/webroot/web-inf/lib目录下,然后在eclipse包资源管理器中刷新工程,可以看到.jar包被添加进来了。

当然,也可以在eclipse中直接通过配置构建路径来添加,这里不做介绍。

(3)在数据库中添加一条记录

Insert into mytable values('zhangsan','111','zhang@https://www.doczj.com/doc/8915677969.html,','110');

(4)启动tomcat服务器,并部署工程。运行test.jsp文件,出现如下:

并且在isql中写:select * from mytable

可以发现我们刚才插入的记录

测试成功

三、一个注册功能的web project

仍然使用刚才建立的testagain工程

1.在src目录下新建一个包:org.db.javabean(包名随便取的),用来存放java文件

在新建包中[新建]—[类]:命名为:DB

这个类用来封装相关的数据库信息及操作

如下:

package org.db.javabean;

import java.sql.*;

public class DB {

// 成员变量初始化

Connection conn = null; // 数据库连接

Statement stmt =null;

ResultSet rs = null; // 记录集

String Username = ""; // 用户名

String Password = ""; // 密码

String email = "";

String tel = "";

String url = "jdbc:oracle:thin:@localhost:1521:orcl";

// db的构建器(数据库的上下三个差别!)

public DB() {

try {

String name = "oracle.jdbc.driver.OracleDriver";

Class.forName(name);

conn= DriverManager.getConnection(url, "sys as sysdba", "oracle");

System.out.println("success");

} catch (Exception e) {

// 这样写是为了方便调试程序,出错打印mydb:就知道在什么地方出错了

System.err.println("mydb: " + e.getMessage());

}

}

//关闭所有的数据库连接资源

public void closeResource(){

try{

if(rs!=null)

rs.close();

if(stmt!=null)

stmt.close();

if(conn!=null);

conn.close();

}

catch(Exception e){

e.printStackTrace();

}

}

// executeQuery方法用于进行记录的查询操作

// 入口参数为sql语句,返回ResultSet对象

public ResultSet executeQuery(String sql) {

rs = null;

try {

Statement stmt = conn.createStatement();

// 执行数据库查询操作

rs = stmt.executeQuery(sql);

} catch (SQLException ex) {

System.err.println("db.executeQuery: " + ex.getMessage());

}

return rs;

}

// executeUpdate方法用于进行add或者update记录的操作

// 入口参数为sql语句,成功返回true,否则为false

public boolean executeUpdate(String sql) {

boolean bupdate = false;

rs = null;

try {

// 建立数据库连接,其它参数说明同上面的一样

stmt = conn.createStatement();

int rowCount = stmt.executeUpdate(sql);

// 如果不成功,bupdate就会返回0

if (rowCount != 0)

bupdate = true;

} catch (SQLException ex) {

// 打印出错信息

System.err.println("db.executeUpdate:" + ex.getMessage());

}

return bupdate;

}

// toChinese方法用于将一个字符串进行中文处理

// 否则将会是???这样的字符串

public static String toChinese(String strvalue) {

try {

if (strvalue == null) {

return null;

} else {

strvalue = new String(strvalue.getBytes("ISO8859_1"), "GBK");

return strvalue;

}

} catch (Exception e) {

}

}

}

2.在同样的包中新建一个Adduser.java类

它是用户信息的一个javabean,并且还包含了添加用户的相关操作

package org.db.javabean;

public class AddUser {

String username="";

String password="";

String email="";

String tel="";

DB db=null;

/**

* @param args

*/

public AddUser(){

super();

}

public boolean addNewUser() {

db = new DB();

boolean boadduser = false;

try {

// 进行用户注册的记录添加操作,生成sql语句

String sSql = new String(

"Insert into

mytable(mytable_username,mytable_password,mytable_email,mytable_tel)" );

sSql = sSql + " values('"+ username+ "','"+ password+ "','"

+ email + "','"+ tel+"')";

// 一种调试的方法,可以打印出sql语句,以便于查看错误

System.out.println(sSql);

// 调用父类的executeUpdate方法,并根据成功以否来设置返回值

if (db.executeUpdate(sSql))

boadduser = true;

} catch (Exception ex) {

// 出错处理

ex.printStackTrace();

system.err.println("adduser.addNewUser: " + ex.getMessage());

}

finally{

db.closeResource();

}

}

// checkUser()方法用来检查用户名是否重复

// 如果重复返回一个false

public boolean checkUser() {

boolean boadduser = false;

db = new DB();

try {

// 构建sql查询语句

String sSql = "select * from mytable where mytable_username='" + username+ "'";

// 调用父类的executeQuery方法

if ((db.executeQuery(sSql)).next()) {

// 查询出来的记录集为空

boadduser = false;

} else {

boadduser = true;

}

} catch (Exception ex) {

// 出错处理

System.err.println("adduser.addNewUser: " + ex.getMessage());

}

finally{

db.closeResource();

}

return boadduser;

}

public String getUsername() {

return username;

}

public void setUsername(String newUsername) {

// 用户名有可能是中文,需要进行转换

username = DB.toChinese(newUsername);

}

// 属性密码Password的get/set方法

public String getPassword() {

return password;

}

public void setPassword(String newPassword) {

password = newPassword;

}

public String getTel() {

return tel;

}

public void setTel(String tel) {

this.tel = tel;

}

public String getEmail() {

return email;

}

public void setEmail(String email) {

this.email = email;

}

public static void main(String[] args) {

AddUser add = new AddUser();

add.addNewUser();

}

}

3.在webroot目录下新建一个newuser.jsp,这个文件是用户注册的界面

<%@page language="java"import="java.util.*"pageEncoding="utf-8"%> <%

String path = request.getContextPath();

String basePath = request.getScheme() + "://"

+ request.getServerName() + ":" + request.getServerPort()

+ path + "/";

%>

My JSP 'newuser.jsp' starting page

content="keyword1,keyword2,keyword3">

新用户注册

action="down.jsp">

用户名:

*

输入密码:

*

校验密码:

*

E-mail

*

tel:


为了本系统能够更好的为您服务,请使用IE6.0或以上版本浏览器

版权所有

3.新建一个down.jsp文件,这个文件是用户注册的一些客户端验证,以及成功或失败的显示效果。

<%@page language="java"import="java.util.*"pageEncoding="utf-8"%> <%

String path = request.getContextPath();

String basePath = request.getScheme() + "://"

+ request.getServerName() + ":" + request.getServerPort()

+ path + "/";

%>

用户添加

<%

//调用.adduser的checkUser()方法检查是否有重复的用户名

//如果有重复就显示对应的信息

if (!adduser.checkUser()) {

//页面文字输出信息,使用jsp内置对象out的println方法,相当于asp中的response.write方法

out.println("对不起,这个用户名" + adduser.getUsername()

+ "已经被申请了,请重新选择!");

//return代表返回,运行时候碰到return就不会进行下面的处理了,功能相当于asp中的response.end

return;

}

%>

<%

//如果没有用户名重复的问题,调用lyf.adduser的addNewUser()方法来将用户数据添加到数据库中,并根据数据添加成功否来显示对应的信息

if (adduser.addNewUser()) {

%>

添加用户成功!

<%

} else {

%>

添加用户失败,请和管理员联系!

<%

}

%>

4.启动tomcat服务器,部署工程,并运行在地址栏如下输入,并如下填写用户注册信息

注意总是先显示警告对话框!

注意Javascript脚本语句直接在前段运行!

如果注册成功,可以看到下面效果

注意

(1)newuser.jsp中request对象中的数据如何传递到down.jsp中;

(2)在down.jsp中设置 的意义;(3)内部调用JavaBean中的setXXX() 方法或getXXX()方法。

在isql中查询测试的信息

输入select * from mytable;

可以发现我们刚才填写的注册信息已经保存在数据库当中了!

相关主题
文本预览
相关文档 最新文档