1. 关于网站系统开发的技术:

(1)技术内容:

HTML语法、CSS语法、JavaScript语法

(2)后台编程:

数据库:SQLServer设计、MySQL设计、Access设计、Oracle设计

另外,Java语言(Java database Connectivity(JjavawebDbc)技术、Servlet技术、jsp(Java Server Pages)技术,JavaBean(Application)应用组件技术)、面向对象分析设计思想、设计模式和框架结构、XML语言、网页脚本语言、开发工具(数据库、web服务器、集成开发环境(IDE))。

2. 源程序代码:

(1)创建一个接口

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();}

(2)创建一个类实现IUserDao接口

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 sun.net.www.content.text.plain;public class UserDaoImpl implements IUserDao {@Overridepublic void add(User user) {//获得链接对象Connection connection = DBUtil.getConnection();//准备sql语句String sql = "select count(*) from t_user where username = ?";//创建语句传输对象PreparedStatement preparedStatement = null;ResultSet resultSet = null;try {preparedStatement = connection.prepareStatement(sql);preparedStatement.setString(1, user.getUsername());//接收结果集resultSet = preparedStatement.executeQuery();//遍历结果集while(resultSet.next()) {if (resultSet.getInt(1) > 0) {throw new UserException("用户已存在") ;}}sql = "insert into t_user(username,password) value (?,?)";preparedStatement = connection.prepareStatement(sql);preparedStatement.setString(1, user.getUsername());preparedStatement.setString(2, user.getPassword());preparedStatement.executeUpdate();} catch (SQLException e) {// TODO Auto-generated catch block
            e.printStackTrace();}finally {//关闭资源
            DBUtil.close(resultSet);DBUtil.close(preparedStatement);DBUtil.close(connection);}}@Overridepublic 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 Auto-generated catch block
            e.printStackTrace();}finally {DBUtil.close(preparedStatement);DBUtil.close(connection);}}@Overridepublic void update(User user) {Connection connection = DBUtil.getConnection();//准备sql语句String sql = "update t_user set password = ? , where id = ?";//创建语句传输对象PreparedStatement preparedStatement = null;try {preparedStatement = connection.prepareStatement(sql);preparedStatement.setString(1, user.getPassword());preparedStatement.setInt(2, user.getId());preparedStatement.executeUpdate();} catch (SQLException e) {// TODO Auto-generated catch block
            e.printStackTrace();}finally {DBUtil.close(preparedStatement);DBUtil.close(connection);}}@Overridepublic User load(int id) {Connection connection = DBUtil.getConnection();//准备sql语句String sql = "select * from t_user  where id = ?";//创建语句传输对象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"));user.setPassword(resultSet.getString("password"));}} catch (SQLException e) {// TODO Auto-generated catch block
            e.printStackTrace();}finally {DBUtil.close(resultSet);DBUtil.close(preparedStatement);DBUtil.close(connection);}return  user;}@Overridepublic User load(String username) {// TODO Auto-generated method stubreturn null;}@Overridepublic List<User> load() {Connection connection = DBUtil.getConnection();//准备sql语句String sql = "select * from t_user ";//创建语句传输对象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"));users.add(user);}} catch (SQLException e) {// TODO Auto-generated catch block
            e.printStackTrace();}finally {DBUtil.close(resultSet);DBUtil.close(preparedStatement);DBUtil.close(connection);}return  users;}}

(3)创建一个com.jaovo.msg.model包,写一个User类

package com.jaovo.msg.model;public class User{private int id;private String  username;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 getPassword() {return password;}public void setPassword(String password) {this.password = password;}}

(4)创建一个com.jaovo.msg.Util包:

添加DBUtil类:

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 {//1 加载驱动Class.forName("com.mysql.jdbc.Driver").newInstance();} catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {// TODO Auto-generated catch block
            e.printStackTrace();}String user = "root";String password = "123456";String url = "jdbc:mysql://localhost:3306/jaovo_msg";Connection connection = null;try {//2 创建链接对象connectionconnection = DriverManager.getConnection(url,user,password);} catch (SQLException e) {// TODO Auto-generated catch block
            e.printStackTrace();}return connection;}//关闭资源的方法public static void close(Connection connection ) {try {if (connection != null) {connection.close();}} catch (SQLException e) {// TODO Auto-generated catch block
            e.printStackTrace();}}public static void close(PreparedStatement preparedStatement ) {try {if (preparedStatement != null) {preparedStatement.close();}} catch (SQLException e) {// TODO Auto-generated catch block
            e.printStackTrace();}}public static void close(ResultSet resultSet ) {try {if (resultSet != null) {resultSet.close();}} catch (SQLException e) {// TODO Auto-generated catch block
            e.printStackTrace();}}}

添加UserException类

package com.jaovo.msg.Util;public class UserException extends RuntimeException{public UserException() {super();// TODO Auto-generated constructor stub
    }public UserException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) {super(message, cause, enableSuppression, writableStackTrace);// TODO Auto-generated constructor stub
    }public UserException(String message, Throwable cause) {super(message, cause);// TODO Auto-generated constructor stub
    }public UserException(String message) {super(message);// TODO Auto-generated constructor stub
    }public UserException(Throwable cause) {super(cause);// TODO Auto-generated constructor stub
    }}

(5)创建一个SQL文件夹,放入init.sql

-- mysal -u root -p root;
-- show databases;
-- drop database jaovo_shop;create database jaovo_msg;
use jaovo_msg;
GRANT ALL ON jaovo_msg.* to "jaovo"@"localhost" IDENTIFIED BY "root";
create table t_user(id int(10) primary key auto_increment,username varchar(255),password varchar(255),nickname varchar(255),type int(2),status int(2)
);create table t_message(id          int(10) primary key auto_increment,                title                varchar(254),content              text,post_date             datetime,user_id               int(10),CONSTRAINT FOREIGN KEY(user_id) REFERENCES t_user(id)
);create table t_comment(id        int(10) primary key auto_increment,  content       text,post_date     datetime,user_id       int(10),msg_id        int(10),CONSTRAINT FOREIGN KEY(user_id) REFERENCES t_user(id),CONSTRAINT FOREIGN KEY(msg_id) REFERENCES t_message(id)
);

(6)在WebContent---->META-INF---->创建user文件夹----->分别创建三个jsp文件

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");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);UserDaoImpl userDao = new UserDaoImpl();try{userDao.add(user);//重定向response.sendRedirect("list.jsp");
%><%}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 align="center"><td colspan="2"><input type="submit" value="提交" /><input type="reset" value="重置" /></td></tr></table></form>
</body>
</html>

list.jsp:

<%@page import="com.jaovo.msg.model.User"%>
<%@page import="java.util.List"%>
<%@page import="com.jaovo.msg.dao.UserDaoImpl"%>
<%@ 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>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>用户展示界面</title>
</head>
<%UserDaoImpl userDao = new UserDaoImpl();List<User> users = userDao.load();
%>
<body><table align="center" border="1" width="500"><tr><td>用户编号</td><td>用户名称</td><td>用户密码</td></tr><%for( User user : users ){%><tr><td> <%=user.getId() %></td><td> <%=user.getUsername() %></td><td> <%=user.getPassword() %></td><td> <a href="delete.jsp ? id="<%=user.getId() %>" >删除</a></td></tr><%}%></table>
</body>
</html>

(7)其中,在WebContent---->WEB-INF---->lib文件夹中加载两个包:

jstl-1.2.jar
mysql-connector-java-5.1.38-bin.jar

3.运行结果截图:

创建后显示当前用户列表

若输入同名用户,则会显示已存在。不可创建

4.关于软件工程概论课程的希望、目标以及未来规划:

(1)希望及目标:

通过本课程了解软件工程的历史背景、现目前发展以及未来职业方向,培养学习软件工程专业的兴趣。

(2)未来规划:

通过专业学习,提升专业技能,立志成为一个不拖后腿的程序媛。

转载于:https://www.cnblogs.com/somedayLi/p/7886683.html

动手动脑——登录界面相关推荐

  1. java登录界面命令_Java命令行界面(第29部分):自己动手

    java登录界面命令 本系列有关从Java解析命令行参数的系列简要介绍了28个开源库,这些库可用于处理Java代码中的命令行参数. 即使涵盖了这28个库,该系列也没有涵盖用于解析Java命令行选项的所 ...

  2. bootstrap设计登录页面_前端小白如何在10分钟内打造一个爆款Web响应式登录界面?...

    对于前端小白(例如:专注后端代码N年的攻城狮),自己编写一个漂亮的Web登录页面似乎在设计上有些捉襟见肘,不懂UI设计,颜色搭配极度的混乱(主色,辅助色,配色,色彩渐变,动画效果等等,看起来一堆乱七八 ...

  3. win7计算机窗口像xp,在Win7系统中登录界面变成Xp样式的方法

    随着xp系统推出市场,越来越多用户升级到 win7旗舰版系统 .有的用户非常喜欢经典的 Xp操作系统 登入界面,升级win7系统后有什么办法可以将登入界面恢复成老版本Xp样式呢?答案是可以的,如果有这 ...

  4. 设计和QQ一样动态登录界面

    每天登录QQ时看到TX挺拉风,挺Sao D,手痒,动手Sao一把 其实说开了也没什么, 就是在登录界面弄一个gif动画就搞定了, 要不要这么简单哦? 本来就不复杂,是你想多了. 下面就用Delphi的 ...

  5. Swing学习----------QQ登录界面制作(一)

    素材获取可关注微信公众号:开源IT,后台回复 "素材" 免费获取. 最近学习的课程有点紧,所以暂时放下了SSH的学习,等时间稍微松点再开始SSH博客的跟进.在这个学期的JAVA课程 ...

  6. Java实现QQ简易登录界面

    今天来分享一下我做这个QQ登录界面的思路和代码,内容很简单,大家可以动手写写,哈哈写一个可见的图形化界面比枯燥的算题确实要有意思..有成就感一些 我这里一共是写了两个类,,界面类和监听器类,,我简单的 ...

  7. 【tkinter探索之旅】小试牛刀:编写一个登录界面

    文章目录 一.前言废话 二.设计分析 三.代码分步解析 1. 导入工具库 2. 创建应用程序窗口 3. 创建画布放置图片 4. 创建账号密码的标签 5. 创建文本框组件 6. 创建按钮组件 7. 设置 ...

  8. JAVA课上动手动脑问题以及课后测试1,2总结

    课堂测试1      像二柱子那样,花二十分钟写一个能自动生成30道小学四则运算题目的 "软件" 2    (1)题目避免重复 (2)可定制(数量/打印方式) 设计思路 1)产生两 ...

  9. linux系统一直循环登录界面,Ubuntu 14.04解决登录界面无限循环的方法

    在Ubuntu下配置Android的环境时,想像在Windows中那样在终端中直接启动adb,以为Linux和Windows一样,将adb的路径添加到环境变量中,于是将adb的路径也export到/e ...

最新文章

  1. Scanner对象及其获取数据出现小问题和解决方案
  2. 《Unity 3.x游戏开发实例》一1.5 欢迎来到Unity 3D
  3. 使用商业模式的九大模块去分析京东的商业模式_商业模式—筑基篇(1)
  4. php 执行文件tar打包,利用tar for windows对大量文件进行快速打包
  5. pat 1123(AVL)
  6. 2019年8月数据库流行度排行:双星闪耀 MySQL 成月度最大赢家
  7. C语言丨线性表(三):双链表
  8. Windows7 USB/DVD Download Tool – U盘安装Win7工具
  9. Compass被墙后如何安装安装
  10. linux手动注入网络数据_大多数企业网络无法处理大数据负载 | Linux 中国
  11. 360浏览器集成IE8内核
  12. 字符编码ASCII、ANSI、Unicode、UTF-8、GB2312
  13. 一只踏入持续学习路上的程序猿
  14. 人工智能、大数据、云计算概念
  15. 用四位16进制代码控制颜色
  16. bzoj3717 [PA2014]Pakowanie (状压dp)
  17. 利用5次shift漏洞破解win7密码
  18. 微信小程序校园生活小助手+后台管理系统前后分离VUE
  19. 【python文件读取】加密数据的读取
  20. Oracle HINT的常见用法

热门文章

  1. 个人理财必读书目(转载)
  2. webpack 实践笔记(一)--- 入门
  3. 【排序】冒泡排序算法
  4. Nagios借助yahoo.cn邮箱实现手机短信报警功能
  5. dbm,dbi,dbd,db,dbc的区别是什么
  6. linux删除vip 绑定,linux – VIP不会从备份keepalived中删除
  7. Word中样式更新的两种方法!
  8. Ubuntu下安装DEB包时出现错误的解救方法
  9. 这么小的key-val数据库居然也支持事务——与短跑名将同名的数据库Bolt
  10. MediaCodec 解码后数据对齐导致的绿边问题