一、首先描述功能以及使用的工具。
客户通过在页面输入相关的信息,比如姓名,地址,邮箱等等,并将其保存到数据库中。通过用户点击提交完成后即可在页面显示你输入的相关信息。整个程序环境有eclipse,oracle,使用语言包括java,jsp,javabean,通过这个项目熟悉在web网站上的相关操作,数据库的相关操作,以及配置tomcat服务器。 来吧,开始撸起来。
二、项目的搭建
1、先做准备环境,oracle11g数据库安装调试完毕。不懂的可以在其他博客中找到安装方法。
数据库完成之后,先创建表代码如下:
create table guests(
name varchar(10),
addr varchar(20),
email varchar(50)
)
select * from guests;
2、在eclipse中创建javaweb项目,在src下创建实体类GuestBean.java,代码如下:
package beans;
//GusetBean对应数据库的基表Guest,三个私有属性和get,set方法
public class GuestBean {
private String name;
private String addr;
private String email;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddr() {
return addr;
}
public void setAddr(String addr) {
this.addr = addr;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
3、创建GuestDataBean.java文件,代码如下:
package beans;
import java.sql.*;
import java.util.*;
import db.DBConnection;
public class GuestDataBean extends DBConnection {
private Connection connection;
private Statement statement;
//创建连接
public GuestDataBean() throws Exception{
connection=getConnection();
statement=connection.createStatement();
}
//定义一个获取guest表的数组
public List< GuestBean>getGuestList() throws SQLException{
ResultSet results=null;
List<GuestBean> guestList =new ArrayList<GuestBean>();
results=statement.executeQuery("select name,addr,email from guests");
while(results.next()) {
GuestBean guest=new GuestBean();
guest.setName(results.getString(1));
guest.setAddr(results.getString(2));
guest.setEmail(results.getString(3));
guestList.add(guest);
}
return guestList;
}
//插入一组数据
public int addGuest(GuestBean guest) throws SQLException{
int result=0;
statement=connection.createStatement();
String sql="insert into guests(name,addr,email)values("+guest.getName()+","
+guest.getAddr()+","+guest.getEmail()+")";
result=statement.executeUpdate(sql);
return result;
}
//关闭数据库,先关闭statement,在关闭connection
protected void finalize() {
try {
statement.close();
connection.close();
} catch (SQLException sqlException) {
// TODO: handle exception
sqlException.printStackTrace();
}
}
}
4、建立连接数据库的DBConnection.java类,代码如下:
package db;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBConnection {
static Connection conn = null;
private static String username = "***"; //你本机数据库的用户名
private static String password = "***";//数据库的密码
// 加载数据库驱动
private static String driverClassName = "oracle.jdbc.driver.OracleDriver";
// 获取具体的数据库名地址
private static String url = "jdbc:oracle:thin:@127.0.0.1:1521:stu1";
// 获取数据库连接
public static Connection getConnection() {
try {
Class.forName(driverClassName);
conn = (Connection) DriverManager.getConnection(url, username, password);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return conn;
}
// 关闭数据库连接
public void closeConnection() throws SQLException {
if (conn != null) {
try {
conn.close();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
public static void main(String[] args) {
System.out.println(getConnection());// 加static就可以调用getConnection方法
}
}
5、创建jsp页面 guestBookLogin.jsp(输入页面),guestBookView.jsp(显示页面),guestBookErrorPage.jsp(抛错页面)
//guestBookLogin.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<jsp:useBean id="guest" scope="page" class="beans.GuestBean"></jsp:useBean>
<jsp:useBean id="guestData" scope="request" class="beans.GuestDataBean"></jsp:useBean>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>输入用户信息页面</title>
<style type="text/css">
body {
font-family: tahoma, helvetica, arial, sans-serif;
}
table, tr, td {
font-size: 9px;
border: 1px groove;
padding: 5px;
background: #dddddd;
}
</style>
</head>
<body>
<jsp:setProperty property="*" name="guest" />
<% String name=request.getParameter("name");
String addr=request.getParameter("addr");
String email=request.getParameter("email");
if(name==null||addr==null||email==null){
%>
<form action="guestBookLogin.jsp" method="post">
<h1>信息栏</h1>
<p>输入客户信息</p>
<table>
<tr>
<td>姓名:</td>
<td><input type="text" name="name" /></td>
</tr>
<tr>
<td>地址:</td>
<td><input type="text" name="addr" /></td>
</tr>
<tr>
<td>邮箱:</td>
<td><input type="text" name="email" /></td>
</tr>
<tr>
<td colspan="1"><input type="submit" value="提交"/></td>
</tr>
</table>
</form>
<%
}
else{
name=new String(name.getBytes("utf-8"));
guest.setName(name);
addr=new String(addr.getBytes("utf-8"));
guest.setAddr(addr);
email=new String(email.getBytes("utf-8"));
guest.setEmail(email);
guestData.addGuest(guest);
%>
<jsp:forward page="guestBookView.jsp"></jsp:forward>
<%
}
%>
</body>
</html>
//guestBookView.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ page errorPage="guestBookErrorPage.jsp"%>
<%@ page import="java.util.*"%>
<%@ page import="beans.*"%>
<jsp:useBean id="guestData" scope="request" class="beans.GuestDataBean"></jsp:useBean>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>显示页面</title>
<style type="text/css">
body {
font-family: tahoma, helvetica, arial, sans-serif;
}
table, tr, td, th {
text-align: center;
font-size: .9em;
border: 3px groove;
padding: 5px;
background-color: #dddddd;
}
</style>
</head>
<body>
<p style="font-size: 3px">浏览客户信息</p>
<table>
<thead>
<tr>
<th style="width: 100px;">姓名:</th>
<th style="width: 100px;">地址:</th>
<th style="width: 100px;">邮箱:</th>
</tr>
</thead>
<tbody>
<%
List guestList = guestData.getGuestList();
Iterator guestListIterator = guestList.iterator();
GuestBean guest;
while (guestListIterator.hasNext()) {
guest = (GuestBean) guestListIterator.next();
%>
<tr>
<td><%=guest.getName()%></td>
<td><%=guest.getAddr()%></td>
<td><a href="mailto:<%=guest.getEmail()%>"> <%=guest.getEmail()%>
</a></td>
</tr>
<%
}
%>
</tbody>
</table>
</body>
</html>
//guestbookErrorpage.jsp页面
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@page isErrorPage="true"%>
<%@ page import="java.util.*"%>
<%@ page import="java.sql.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>错误处理界面</title>
<style type="text/css">
.bigRed {
font-size: 2em;
color: red;
font-weight: bold;
}
</style>
</head>
<body>
<p class="bigRed">显示错误信息</p>
<p class="bigRed">
the error message was;<br />
<%=exception.getMessage()%>
</p>
<p class="bigRed">please try again later</p>
</body>
</html>
以上代码都完成之后,开始把需要用的包,放入项目中,如图所示:
把ojdbc7.jar,servlet-api.jar放入webContent-->webinf--->lib中。如果你创建的项目没有lib文件夹就自己在对应位置创建一个lib文件夹,在把包放进去。如果你没有这两个包,可以百度一艘,都有的,放心,实在没有,请在下面留下你的邮箱,我看见之后发送你。
注:位置放正确之后,在WebAppLibraries文件夹下会出现对应奶瓶
6.测试自己的tomcat服务器是不是正确安装好,这个比较简单,初学者不会可以百度搜索tomcat安装教程。我这里使用的是tomcat8.5版本。
三、项目运行与测试
点击guestBookLogin.jsp文件,运行之后,会出现如图所示,
到此,整个练习项目完成,可能中间有一些困难,错误,慢慢解决,整明白就OK了。初学者建议,自己手敲几遍,熟悉熟悉,