1.网站系统开发需要掌握的技术:
1.基础内容
网页设计概述、网站设计制作的基本流程、色彩搭配在网站中的应用、网站用户界面的设计、网站广告的设计、网站中表格的使用、网站中层的应用、框架网站的制作、模板网站的制作、使用行为和Javascript制作特效、使用CSS样式表设计网页、建设数据库网站、
2、技术内容
HTML语法、CSS语法、JavaScript语法
3、图像处理
Flash动画创意、GIF动画制作、网页图片处理
4、行业网站实例
个人网站、企业宣传网站、新闻资讯网站、教育网站、电子政务网站、旅游网站、免费资源网站、门户网站、电子商务网站
5、后台编程
数据库:SQLServer设计、MySQL设计、Access设计
编程语言:ASP、JSP、VBScript、JavaScript、PHP、ASP.net
编程实例:文章发布系统、留言板、BBS、会员注册系统、在线购物网站
6、网站管理
网站维护、网站规划、网站管理、商业网站全程制作、商业网站开发规范
2.程序源代码
IUserDao.java
package com.jaovo.msg.dao;
import java.util.List;
import com.jaovo.msg.model.User;
public interface IUserDao
{
public void add(User user);
public void delete(int id);
public void update(User user);
public User load(int id);
public User load(String username);
public List<User> load();
}
UserDaoImpl.java
package com.jaovo.msg.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.jaovo.msg.Util.DBUtil;
import com.jaovo.msg.Util.UserException;
import com.jaovo.msg.model.User;
import com.sun.javafx.sg.prism.web.NGWebView;
public class UserDaoImpl implements IUserDao
{
//向数据库添加的方法
@Override
public void add(User user)
{
//获得连接对象
Connection connection=DBUtil.getConnection();
//准备sql语句
String sql="select count(*) from t_user where username=?";
if(connection!=null)
{
System.out.print("连接成功");
}
else
{
System.out.print("连接失败");
}
// 查询数据的条数 条件:username=传进来的参数
//创建语句传输对象
PreparedStatement preparedStatement=null;
ResultSet resultSet=null;
try
{
preparedStatement= connection.prepareStatement(sql);
preparedStatement.setString(1, user.getUsername());
//写几个问号, 1234,第几个问号
//接收结果集(数据条数)
resultSet =preparedStatement.executeQuery();
//遍历结果集
while(resultSet.next())
{
if(resultSet.getInt(1)>0)
//结果集的条数。获取结果集的第一条数据(这里只要一条)
{
throw new UserException("用户已存在");
}
}
sql="insert into t_user(username,password,nickname) value(?,?,?)";
preparedStatement=connection.prepareStatement(sql);
preparedStatement.setString(1, user.getNickname());
preparedStatement.setString(2, user.getPassword());
preparedStatement.setString(3, user.getNickname());
preparedStatement.executeUpdate();
}
catch (SQLException e)
{
// TODO 自动生成的 catch 块
e.printStackTrace();
}
finally
{
//关闭资源
DBUtil.close(resultSet);
DBUtil.close(preparedStatement);
DBUtil.close(connection);
}
}
@Override
public void delete(int id)
{
Connection connection=DBUtil.getConnection();
String sql="delete from t_user where id=?";
PreparedStatement preparedStatement=null;
try
{
preparedStatement=connection.prepareStatement(sql);
preparedStatement.setInt(1, id);
preparedStatement.executeUpdate();
}
catch (SQLException e)
{
// TODO 自动生成的 catch 块
e.printStackTrace();
}
finally
{
DBUtil.close(preparedStatement);
DBUtil.close(connection);
}
}
@Override
public void update(User user)
{
Connection connection=DBUtil.getConnection();
//准备sql语句
String sql="update t_user set password=?,nickname=? where id=?";
//创建语句传输对象
PreparedStatement preparedStatement=null;
try
{
preparedStatement =connection.prepareStatement(sql);
preparedStatement.setString(1, user.getPassword());
preparedStatement.setString(2, user.getNickname());
preparedStatement.setInt(3, user.getId());
preparedStatement.executeUpdate();
}
catch (SQLException e)
{
// TODO 自动生成的 catch 块
e.printStackTrace();
}
finally
{
DBUtil.close(preparedStatement);
DBUtil.close(connection);
}
}
@Override
public User load(int id)
{
Connection connection=DBUtil.getConnection();
//准备sql语句
String sql="selet * from t_user where id=?";
//selet * 获取数据库所有的列
//创建语句传输对象
PreparedStatement preparedStatement=null;
ResultSet resultSet=null;
User user=null;
try
{
preparedStatement=connection.prepareStatement(sql);
preparedStatement.setInt(1, id);
resultSet=preparedStatement.executeQuery();
while(resultSet.next())
{
user=new User();
user.setId(id);
user.setUsername(resultSet.getString("username"));
//从结果集获得的username
user.setPassword(resultSet.getString("password"));
user.setNickname(resultSet.getString("nickname"));
}
}
catch (SQLException e)
{
// TODO 自动生成的 catch 块
e.printStackTrace();
}
finally
{
DBUtil.close(preparedStatement);
DBUtil.close(connection);
}
return user;
}
@Override
public User load(String username)
{
//自己写
// TODO 自动生成的方法存根
return null;
}
@Override
public List<User> load()
{
Connection connection=DBUtil.getConnection();
//准备sql语句
String sql="selet * from t_user";
//selet * 获取数据库所有的列
//创建语句传输对象
PreparedStatement preparedStatement=null;
ResultSet resultSet=null;
//集合中只能放入user对象
List<User> users=new ArrayList<User>();
User user=null;
try
{
preparedStatement=connection.prepareStatement(sql);
resultSet=preparedStatement.executeQuery();
while(resultSet.next())
{
user=new User();
user.setId(resultSet.getInt("id"));
user.setUsername(resultSet.getString("username"));
user.setPassword(resultSet.getString("password"));
user.setNickname(resultSet.getString("nickname"));
users.add(user);
}
}
catch (SQLException e)
{
// TODO 自动生成的 catch 块
e.printStackTrace();
}
finally
{
DBUtil.close(preparedStatement);
DBUtil.close(connection);
}
return users;
}
}
User.java
package com.jaovo.msg.model;
public class User
{
private int id;
private String username;
private String nickname;
private String password;
public int getId() {
return id;
}
public void setId(int id)
{
this.id = id;
}
public String getUsername()
{
return username;
}
public void setUsername(String username)
{
this.username = username;
}
public String getNickname()
{
return nickname;
}
public void setNickname(String nickname)
{
this.nickname = nickname;
}
public String getPassword()
{
return password;
}
public void setPassword(String password)
{
this.password = password;
}
}
DBUtil.java
package com.jaovo.msg.Util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class DBUtil
{
public static Connection getConnection()
{
try
{
Class.forName("com.mysql.jdbc.Driver").newInstance();
}
catch(InstantiationException|IllegalAccessException | ClassNotFoundException e)
{
e.printStackTrace();
}
String user="root";
String password="root";
String url="jdbc:mysql://localhost:3306/jaovo_msg";
Connection connection=null;
try
{
//2 创建连接对象
connection=DriverManager.getConnection(url, user, password);
}
catch (SQLException e)
{
// TODO 自动生成的 catch 块
e.printStackTrace();
}
return connection;
}
//关闭资源方法
public static void close(Connection connection)
{
try
{
if(connection!=null)
{
connection.close();
}
}
catch (SQLException e)
{
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
public static void close(PreparedStatement PreparedStatement)
{
try
{
if(PreparedStatement!=null)
{
PreparedStatement.close();
}
}
catch (SQLException e)
{
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
public static void close(ResultSet resultSet)
{
try
{
if(resultSet!=null)
{
resultSet.close();
}
}
catch (SQLException e)
{
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
}
UserExceptiong.java
package com.jaovo.msg.Util;
public class UserException extends RuntimeException
{
public UserException()
{
super();
// TODO 自动生成的构造函数存根
}
public UserException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace)
{
super(message, cause, enableSuppression, writableStackTrace);
// TODO 自动生成的构造函数存根
}
public UserException(String message, Throwable cause)
{
super(message, cause);
// TODO 自动生成的构造函数存根
}
public UserException(String message)
{
super(message);
// TODO 自动生成的构造函数存根
}
public UserException(Throwable cause)
{
super(cause);
// TODO 自动生成的构造函数存根
}
}
add.jsp
<%@page import="com.jaovo.msg.Util.UserException"%>
<%@page import="com.jaovo.msg.dao.UserDaoImpl"%>
<%@page import="com.jaovo.msg.model.User"%>
<%@ 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">
<html>
<%
//接收客户端传递过来的参数
String username = request.getParameter("username");
String password = request.getParameter("password");
String nickname = request.getParameter("nickname");
if(username == null || "".equals(username.trim())){
request.setAttribute("error", "用户名不能为空");
%>
<jsp:forward page="addInput.jsp"></jsp:forward>
<%
}
User user = new User();
user.setUsername(username);
user.setPassword(password);
user.setNickname(nickname);
UserDaoImpl userDao = new UserDaoImpl();
try{
userDao.add(user);
%>
<a href="addInput.jsp">继续添加</a><br>
<a href="#">用户列表</a>
<%
}catch(UserException e)
{
%>
<h2 style="color:red ; font-size:50px">发生错误 : <%=e.getMessage() %></h2>
<%
}
%>
</html>
addInput.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">
<html>
<head>
<title>用户添加页面</title>
</head>
<body>
<%=request.getAttribute("error") %>
<form action="add.jsp" method="get">
<table align="center" border = "1" width="500">
<tr>
<td>用户名称:</td>
<td>
<input type="text" name = "username"/>
</td>
</tr>
<tr>
<td>用户密码:</td>
<td>
<input type="password" name="password"/>
</td>
</tr>
<tr>
<td>用户昵称:</td>
<td>
<input type="text" name="nickname"/>
</td>
</tr>
<tr align="center">
<td colspan="2">
<input type="submit" value="提交"/>
<input type="reset" value="重置"/>
</td>
</tr>
</table>
</form>
</body>
</html>
3.运行结果:




4.由于编译代码时的粗心,导致许多错误系统并未检测出来,但缺导致了连接数据库的问题。
5.希望在这门课结课的时候,可以独立自主的做出一个独立的系统,实现对信息的多方面的使用,每周花费至少10个小时的时间用于学习