博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
软工概论——1
阅读量:4501 次
发布时间:2019-06-08

本文共 12549 字,大约阅读时间需要 41 分钟。

1.需要的技术:

WEB前端:

  AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。

  jQuery是继prototype之后又一个优秀的Javascrīpt框架,jQuery是一个快速的,简洁的javaScript库,使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互。
  API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节.
  Javacript是一种能让你的网页更加生动活泼的程式语言,也是目前网页中设计中最容易学又最方便的语言。你可以利用Javacript轻易的做出亲切的欢迎讯息、漂亮的数字钟、有广告效果的跑马灯及简易的选举,还可以显示浏览器停留的时间.
Cascading Style Sheets 层叠样式表
  HTML(HyperText Mark-up Language)即超文本标记语言或超文本链接标示语言,是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言。
  ASP是Active Server Page的缩写,意为“动态服务器页面”。ASP是微软开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。ASP的网页文件的格式是.asp,现在常用于各种动态网站中。
  PHP一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写。PHP 是一种 HTML 内嵌式的语言.
  ExtJS是一个Ajax框架,是一个用javascript写的,用于在客户端创建丰富多彩的web应用程序界面。ExtJS可以用来开发RIA也即富客户端的AJAX应用。
  CSS(层叠样式表)是一种用来表现HTML或XML等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。

 

WEB后端:

  脚本语言基础: 主流的有php 、java、.net ;非主流的有python 、ruby 、还有最近出现的node.js golang。例如:

  Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

  

  数据库基础: 后端就是跟数据库打交道的一般学习关闭型数据库即可。例如:

  mysql:是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

  服务器基础: 后端代码是运行在服务器上的 不像前端运行在客户浏览器 所以需要掌握少许的服务器基础,至少要会用。

 

2.源代码: 首先定义方法(增删改查): IUserDao.java
1 package com.jaovo.msg.dao; 2  3 import java.util.List; 4  5 import com.jaovo.msg.model.User; 6  7 public interface IUserDao { 8     public void add(User user); 9     public void delete(int id);10     public void update(User user);11     public User load(int id);12     public User load(String username);13     public List
load();14 15 }

接着链接数据库进行增删改查:

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 sun.net.www.content.text.plain;public class UserDaoImpl implements IUserDao {    @Override    public void add(User user) {//add        //获得链接对象        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,nickname) value (?,?,?)";            preparedStatement = connection.prepareStatement(sql);            preparedStatement.setString(1, user.getUsername());            preparedStatement.setString(2, user.getPassword());            preparedStatement.setString(3, user.getNickname());            preparedStatement.executeUpdate();        } catch (SQLException e) {            // TODO Auto-generated catch block            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 Auto-generated catch block            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 Auto-generated catch block            e.printStackTrace();        }finally {            DBUtil.close(preparedStatement);            DBUtil.close(connection);        }    }    @Override    public 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"));                user.setNickname(resultSet.getString("nickname"));            }        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }finally {            DBUtil.close(resultSet);            DBUtil.close(preparedStatement);            DBUtil.close(connection);        }        return  user;    }    @Override    public User load(String username) {        // TODO Auto-generated method stub        return null;    }    @Override    public List
load() { Connection connection = DBUtil.getConnection(); //准备sql语句 String sql = "select * from t_user "; //创建语句传输对象 PreparedStatement preparedStatement = null; ResultSet resultSet = null; //集合中只能放入user对象 List
users = new ArrayList
(); 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 Auto-generated catch block e.printStackTrace(); }finally { DBUtil.close(resultSet); 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 {            //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 = "root";        String url = "jdbc:mysql://localhost:3306/jaovo_msg";        Connection connection = null;        try {            //2 创建链接对象connection             connection = 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.java

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    }    }

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"%><%    //接收客户端传递过来的参数    String username = request.getParameter("username");    String password = request.getParameter("password");    String nickname = request.getParameter("nickname");    if(username == null || "".equals(username.trim())){        request.setAttribute("error", "用户名不能为空");    %>    
<% } User user = new User(); user.setUsername(username); user.setPassword(password); user.setNickname(nickname); UserDaoImpl userDao = new UserDaoImpl(); try{ userDao.add(user);%> 用户保存成功!!
继续添加
用户列表<% }catch(UserException e){%>

发生错误 : <%=e.getMessage() %>

<% } %>

addInput.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%>    用户添加页面    <%=request.getAttribute("error") %>    
用户名称 :
用户密码:
用户昵称:

 

3.截图:

 

 

4.我希望通过这门课真正的学习到如何做一个软件,做好一个项目需要的各项技能,做到这些所需要的一些基础。跟着我们的老师,我被他的激情所感染,

我希望我可以自豪的做一个为父母设计的小软件。以后每天最少一个小时,学习该课程。

转载于:https://www.cnblogs.com/zhaochenguang/p/7886588.html

你可能感兴趣的文章
大话数据结构之一(绪论、算法)
查看>>
[转载+原创]Emgu CV on C# (五) —— Emgu CV on 局部自适应阈值二值化
查看>>
天涯宝盒-天涯看贴脚本-只看楼主-自动翻页
查看>>
实战MEF(5):导出元数据
查看>>
python中获取文件目录的方法
查看>>
南阳oj 分数加减法
查看>>
边工作边刷题:70天一遍leetcode: day 61-6
查看>>
边工作边刷题:70天一遍leetcode: day 86-2
查看>>
URLOS安装、升级、卸载
查看>>
Algorithm: 最大公约数 最小公倍数
查看>>
Spark之搜狗日志查询实战
查看>>
项目目标分析
查看>>
poj 1730
查看>>
FB面经 Prepare: K closest point to the origin
查看>>
Android Handler Demo
查看>>
iOS网络基础
查看>>
最新dedecms网页游戏开服表发号网站源码模板
查看>>
在win7下配置sql2005允许远程访问
查看>>
aspose.cell 设置excel里面的文字是超链接
查看>>
POJ 1067 取石子游戏
查看>>