02PSP0级及登陆界面开发

一、PSP0级

二、程序设计思想

编写jsp,dao包内加入方法,连接数据库,测试连接。

三、源代码

<form action="add.jsp" method="get">
        <table align="center" border="1" width="500">
            <tr>
                <td> 课程名称: </td>
                <td>
                    <input type="text" name="username" />
                    <%
//                         if(errorMsg != null){
//                             if(errorMsg.get("username") != null){
//                                 out.println( errorMsg.get("username"));
//                             }
//                         }

                    %>

                </td>
            </tr>
                <tr>
                <td>教师名称:</td>
                <td>
                    <input type="password" name="password" />
                    <%
//                         if(errorMsg != null){
//                             if(errorMsg.get("password") != null){
//                                 out.println( errorMsg.get("password"));
//                             }
//                         }

                    %>

                </td>
            </tr>
            <tr>
                <td>上课地点:</td>
                <td>
                    <input type="text" name="nickname" />
                    <%
//                         if(errorMsg != null){
//                             if(errorMsg.get("nickname") != null){
//                                 out.println( errorMsg.get("nickname"));
//                             }
//                         }

                    %>

                </td>
            </tr>
            <tr align="center">
                <td colspan="2">
                    <input type="submit" value="提交" />
                    <input type="reset" value="重置" />
                </td>
            </tr>
        </table>
    </form>
</body>
</html>
  <%@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("passwor");
    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);
%>

    用户保存成功!!<br>
    <a href="addInput.jsp">继续添加</a><br>
    <a href="#">用户列表</a>
<%
    }catch(UserException e){
%>
    <h2 style="color:red ; font-size:50px">发生错误 : <%=e.getMessage() %></h2>
    <%
    }
    %>
</html>
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) {

        Connection connection = DBUtil.getConnection();

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

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

        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("passwor"));
                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<User> load() {
        Connection connection = DBUtil.getConnection();

        String sql = "select * from t_user ";

        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;

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

}
时间: 2024-07-30 08:29:31

02PSP0级及登陆界面开发的相关文章

系统登陆界面开发及实现之(四)界面登录框组件设置

开发步骤: 打开res下layout下activity_login.xml 添加TableLayout一个EditText,Button组件对象各二个并设置属性 android:password属性 作用:设置密码框 常量参数:true 代码: <TableLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:collapseColumn=&

系统登陆界面开发及实现之(一)界面设计及布局说明

开发步骤: 在res的layout文件夹中创建一个布局文件 添加<TextView>组件并进行标题设置 运行程序查看效果 语法规范:Android中的视图组件都必须拥有两个属性,android:layout.width(设置组件的宽度),android:layout.height(设置组件的高度) 布局组件结构的设计分析: 小结:布局文件的文件名称必须全部为英文的小写字母,否则无法自动映射到R.java文件,从而也无法使用导致工程项目报错!

系统登陆界面开发及实现之(二)添加界面背景图片

开发步骤: 将背景图片复制到res文件夹下drawable中 打开res下layout下activity_login.xml 在顶级布局标签中添加属性进行窗体背景设置 android:background属性 作用:设置组件背景 常量参数:@drawable/bg 代码: android:background="@drawable/bg" 运行: 小结:@代表资源引用,drawable/代表应用的是项目中的图片资源,bg代表引用的是哪个图片,注意没有后缀名! ?

简单java web实现界面开发

有关javaweb的一个简单的登陆界面开发 这里使用的工具是eclipse.sql 2016.tomcat8 开发前需要在eclipse中完成tomcat和SQL的连接配置,这里tomcat在web项目运行时会自动的启动,下边介绍开发步骤 一.web项目的建立 打开eclipse点解File->New->Dynamic Web Project 进入以下界面,输入项目名称 点击next 再点击next,进入下一界面 将箭头指向的位置选中,点击finish及完成Web项目的创建 三.数据库建表 打

[终极巨坑]golang+vue开发日记【二】,登陆界面制作(一)

写在前面 本期内容是适合第一次使用vue或者golang开发的,内容会以实战的形式来讲解.看懂本段内容需要了解基础内容有html,css,最好可以看一下vue的基础.并且这里的每个知识点不可能详细解说,只会告诉你大概做什么的,入门切记要不求甚解,不然学到自闭 远征的第一步,启动一个vue项目 我们这次主要是写一个以vue为前端框架的登陆和注册,因此我们的第一步也就是创建一个vue项目,并且这个内容在上一节已经讲过了,不过这里我们可以再操作一番. vue create your_projectna

WPF和Expression Blend开发实例:模拟QQ登陆界面打开和关闭特效

不管在消费者的心中腾讯是一个怎么样的模仿者抄袭者的形象,但是腾讯在软件交互上的设计一直是一流的.正如某位已故的知名产品经理所说的:设计并非外观怎样,感觉如何.设计的是产品的工作原理.我觉得腾讯掌握了其精髓.在2013版的桌面版QQ中,腾讯的登陆界面在打开的时候有一个展开的过程,而关闭的时候有个收缩的过程.效果如图: 借助WPF和Expression Blend,我们可以轻易的实现这么一个效果,最终用比较慢的速率实现这个效果如下: 这个效果一共能够分成两个部分:展开和收缩,具体的代码如下: 收缩的

iOS开发从入门到精通--XIB使用,登陆界面小试牛刀

XIB使用,登陆界面小试牛刀 创建一个新的视图控制器,具体操作参见点击查看 在创建好的VCRoot.xib里面拖动需要的控件,并拖动给相应的控件添加属性,给登陆按钮添加事件. VCRoot.h文件里面: #import <UIKit/UIKit.h> @interface VCRoot : UIViewController //IBOutlet表示从xib中创建的 @property (weak, nonatomic) IBOutlet UITextField *mName; @propert

Eclipse通过jdbc连接数据库制作简单登陆界面

一.前言: 做网站开发,要求有多种搭配方式,前台技术可以使用PHP.ASP.JSP.ASP.NET.CGI等任何一种: 需要用到的基础语言用的最多的就是HTML/CSS.JS.JAVA.XML这些了,HTML/CSS+JS可以实现对界面的描绘渲染,而JAVA则可以做后台数据处理,XML也是可以当作传输数据的介质(思考:XML比HTML强大这么多,为什么它没能替代HTML?): 这篇文章通过简单的JSP文件实现登陆界面,所以只用到了以下技术: HTML/CSS,简单演示就不做CSS样式了,可自行学

C# 使用ini格式存储值(比如:登陆界面的用户名和登录号)

这是第一篇博文,以后在平时的开发中通过自己找资料研究出来的东西都定期做个归纳整理出来分享给大家,也便于我自己以后再看看~~~ ps:当然,感觉自己还是个小菜~对于大神来说可能内容比较简单,莫见笑~很多东西也都是网上找来规整出来的,如果对你能有一点点帮助,将是我莫大的荣幸 首先,如果做了一个登陆界面,其中要求输入“用户名”[UserName],密码,才能登陆,为了免于每次打开系统都要输入用户名,所以,我们现在就要实现一个文件存储功能, 文件将以“.ini”格式存储: 写入文件: 1 [DllImp