精华内容
下载资源
问答
  • 九个你必须掌握的Java新手基础项目
    2021-06-11 15:37:07

    给大家推荐一条由浅入深的JAVA学习路径,首先完成 Java基础、JDK、JDBC、正则表达式等基础实验,然后进阶到 J2SE 和 SSH 框架学习。最后再通过有趣的练手项目进行巩固。

    「软帝学院」:九个你必须掌握的Java新手基础项目

     

    基础项目

    1. Java开发简单的计算器

    使用 Java 语言完成一个简单的计算器。将使用到 Java Swing 图形组件等等。带你深入学习如何制作 Swing 图形化界面以及为 UI 组件设置事件响应逻辑。

    2. Java 实现日记软件

    做一个简单的 Java 日记软件,可以实现用户的注册、登录以及对日记的各种操作。同学们可以用自己做出的日记软件来记录自己的生活。涉及了包括 Swing 界面编程、文件和IO流操作、JDOM 解析 XML 文档等方面的知识点。

    3. Java实现在线协作文档编辑

    多人在线协作文档编辑器是一个很常用的功能,适合小组内的文档编辑;使用java编写代码,应用非常流行的spring mvc框架,引入ckeditor插件,并加入localStorage缓存技术,最终利用Eclipse完成。非常适合Java学习者用于练手。

    4. 自己的Java编辑器

    使用 Eclipse 开发,配合 Java 语言完成一个 Java 编辑器。它的主要功能:1、Java代码的编辑 2、编译及运行Java程序。

    5. SSM 框架整合实例

    SSM(Spring+Spring MVC+MyBatis)是媲美于 SSH 框架的轻量级 Java EE 框架。

    6. Java 编写数独计算器

    使用Java实现数独游戏的核心算法,在感受数独的魅力中通过Java编写桌面程序完成数独计算器,完成对Java基础知识点的学习和巩固。

    7. Java实现简单的支付平台业务流程

    模拟支付平台上买家付款到支付平台,卖家从支付平台取款的简单业务流程,最终结果以控制台输出形式展现。通过此流程,详细了解 Java 线程与同步。

    8. 基于 Servlet 的简单验证码图片生成

    通过在后台的 Servlet 生成验证码图片,传递到前台 HTML 页面展示。通过本教程的练习可以进一步熟悉 Servlet、Random 函数、StringBuffer 、OutputStream 等等,掌握基础的验证码生成。

    9. SSM + easyUI 搭建简易的人事管理系统

    SSM(Spring + Spring MVC + MyBatis)框架是媲美于 SSH 框架的轻量级 Java EE 框架。easyUI 是一组基于 jQuery 的 UI 插件集合体,它的目标就是帮助 web 开发者更轻松的打造出功能丰富并且美观的 UI 界面。

    如需要更多java学习资料可私信“学习”给小编即可获取哦

    更多相关内容
  • java新手8个小项目

    2018-09-21 17:46:22
    特别适合java新手巩固java基础的项目,总共有8个项目的全部代码,都可以直接运行,代码有注释。
  • StudentScoreManagerSystem:学生成绩管理系统,使用Java GUI和MySQL数据库以及相关知识编写,分为管理员,教师和学生用户三种登录方式,主要的功能就是对学生的成绩进行管理和查询,适合Java新手项目入门
  • Java新手练手的小项目

    2018-10-08 11:46:07
    java新手练手的项目,很适合新手。 
  • 适合 Java 新手的开源项目集合——在 GitHub 学编程

    千次阅读 多人点赞 2020-11-26 08:15:00
    作者:HelloGitHub-老荀当今互联网份额最大的编程语言是哪一个?是 Java!这两年一直有听说 Java 要不行了、在走下坡路了。没错,Java 的确在走下坡路,未来的事情的确不...

    作者:HelloGitHub-老荀

    当今互联网份额最大的编程语言是哪一个?是 Java!这两年一直有听说 Java 要不行了、在走下坡路了。没错,Java 的确在走下坡路,未来的事情的确不好说,但是瘦死的骆驼比马大,未来的三五年之内,我相信 Java 仍然是行业“一哥”!各位是否和我刚学完 Java 基础语法时一样,陷入过不知道 Java 能做什么的困扰中?觉得 Java 只能在控制台里 System.out.println 打印打印猫啊狗啊、爸爸和儿子吗?

    不!在开源的世界里,有着无数的 Java 项目等待你去发现探索,让我们一起跟着本篇文章去看看有哪些开源项目吧?

    兴趣是最好的老师,HelloGitHub 就是帮你找到编程的乐趣。

    这里是 HelloGitHub 的《GitHub 上适合新手的开源项目》系列,共计 5 篇文章:

    1. C++ 篇

    2. Python 篇

    3. Go 篇

    4. Java 篇

    5. JavaScript 篇

    本期是 Java 篇 希望这篇文章能让大家找到 GitHub 上适合自己学习的 Java 开源项目。可以把这次的学习当成一次游戏,一路打怪升级直至通关,我层层递进的设计了三个阶段:青铜->白银->黄金。为什么只到黄金?因为成为真正大牛的路是非常漫长的,我相信黄金之后的路。你一定就会有自己的想法了,大胆的走自己的路,成为那颗璀璨的“钻石”吧!

    一、青铜

    万事开头难

    1.1 快乐的小鸟

    作为整篇文章的开头,我选择了一个比较轻松好玩的项目,希望能够勾起你对编程的兴趣!作者仅使用了 Java 标准库还原了,曾经在手机上红遍一时的“愤怒的小鸟”。先 clone 把源码下载后,可以通过 java -jar FlappyBird.jar 直接运行,也可以通过运行源码中的 GameApp:main 方法来启动整个游戏。通过学习该项目可以学习到:

    • 使用标准库中的一些工具,比如集合、播放音效、加载图片

    • 如何利用多文件,把不同的逻辑拆分到不同的类中去,并相互之间协作构建起整个游戏的状态

    • 一些设计模式的应用,比如单例、对象池

    GitHub 地址:https://github.com/kingyuluk/FlappyBird

    1.2 Java 圣经

    高尔基说过:「书是人类进步的阶梯」。在历史的长河中诞生过无数的著作,计算机领域也不例外,而《Think in Java》就是我要重点介绍的一本著作,这本书给我的第一印象就是:全!从最基本的数据类型到之后的面向对象再到后面的泛型反射的高级话题,无所不包。我之前阅读的是第四版实体书,现在的好消息是,第五版来了!而且是以开源的形式。经过之前小项目的小打小闹,大家也有了一点编程的感觉了,是时候巩固下理论知识了,俗话说的好:「基础不牢,地动山摇」。现在这个阶段去阅读此著作一定会给你不一样的感觉,我甚至推荐你每到一个阶段,你可以回过头去翻翻这本经典书籍,每次都会有新的认识。

    • 项目地址:https://github.com/LingCoder/OnJava8

    • 在线阅读:https://lingcoder.github.io/OnJava8/#/sidebar

    1.3 一图胜千言

    如果你觉得刚刚的「圣经」有点重,不妨来看看这个项目,这个项目从 Java 基础到标准库 JVM 到 Spring 再到各个常用到中间件 Redis、Zookeeper 等。每一部分都用了一张思维导图来整理出各个知识点,既能够对将学知识的大致了解,也方便了学习后,对已学知识的巩固复习,可以说良心到不行。你完全可以按照自己的节奏,学习的进度去查看每一个知识点。

    GitHub 地址:https://github.com/huangliangyun/MindManager

    二、白银

    坚持就是胜利

    2.1 春天来了

    Java 在生产中多数是以服务端开发为主,那在服务端领域还有一个一定绕不开的 Java 框架就是 Spring。我相信你一定听过这个名字,Spring 这个框架现在基本已经是 Java 服务端的工业级标准了,我就职过的公司没有一个不用的,而 Spring 发展至今,他工程上的复杂程度也大大的提高了,各种封装和抽象,想要搞懂原理变得非常困难,但是你不需要太过害怕,因为只是完成功能上的开发和一般的使用是不需要知道 Spring 的原理的。Spring 团队为了能进一步提升开发体验,推出了 Spring Boot 这个框架,你可以认为 Spring Boot 是对原本的 Spring MVC 进行封装并且内置了一个 Tomcat 的容器,仅此而已。最后如果是新学的话建议直接从 2.0 开始。

    关于 Spring Boot 我这里推荐一个项目:

    https://github.com/yizhiwazi/springboot-socks

    项目里面内置了很多有用的片段,从最简单的 Hello World 到如何集成 Mybatis 啊,又或者是如何跨域,还有怎么发送邮件啊等等,都有一个对应的文件夹的示例。

    此阶段建议按照以下路线学习:

    • 从零启动一个空的 Spring Boot 项目,可以学习到 Spring Boot 的最小配置,以及如何声明 REST 风格的 Controller 并返回简单的数据

    • 将 Spring Boot 和 Java 的持久层框架(如 Mybatis-Plus )串起来,通过 REST 的接口进行简单的增删改查操作(可以完全不需要页面,仅仅需要一个 Postman 或者 curl 即可)

    • 使用 FreeMarker 或者 Thymeleaf 其他模板引擎,写一个简单的页面(可以是一些简单的输入框,按钮,完全不需要考虑样式),再将之前的增删改查操作串起来,并通过模板引擎将结果渲染至浏览器。

    完成这个阶段后,相信你对企业中的前后端交互以及框架的基本使用就有概念了。然后就能基于此,尝试做一些小功能,比如登陆,注册等等。

    2.2 人生就是要难得糊涂

    Java 本身被诟病最多的就是语法啰嗦, hutool 是一个简单易用的三方 Java 类库,里面包含了大量的工具类静态方法,封装了原本复杂的调用。而它的源码本身也是值得学习的优秀开源项目,通过学习它可以了解到一个优秀的 lib 项目是如何组织、规范代码的,也希望读者们以后都能拥有令人自豪的开源项目。

    • 项目地址:https://github.com/looly/hutool

    • 官网地址:https://www.hutool.cn

    三、黄金

    不经历风雨,怎能见彩虹

    3.1 要做 NB 不要做 NewBee

    坚持到现在的你需要一个媲美生产环境的完整项目经验,而这个开源项目恰好可以满足,推荐这个项目的原因如下:

    1. 项目的体量大了很多,不单单是后端代码,还有一整套的前端页面,Awesome!

    2. 商城基本功能都已经具备:首页,登录,浏览商品,购物车,下单等,甚至还有一个后台管理功能,Awesome!

    GitHub 地址:https://github.com/newbee-ltd/newbee-mall

    预览地址:http://mall.newbee.ltd

    3.2 成神之路

    之前都是偏向实践的项目,到了这里,应该放慢脚步,往更高层的方向出发了。正所谓,「知其然,更要知其所以然」。有了实践的帮助,会让学习理论不那么枯燥,同样也因为理论,让实践有了更好的基础。

    • 项目地址:https://github.com/doocs/advanced-java

    • 在线阅读:https://doocs.github.io/advanced-java

    这个在线书籍包含了很多 Java 生态中的高级话题,如高并发,分布式,缓存,高可用,微服务等等。由一个问句引出读者的思考,让读者跟着作者的思路一步步的从提出问题,分析问题到最后的解决问题。

    3.3 走自己的路,让别人说去吧

    之前的小鸟,不知道有没有击中你的心灵?我反正是有,我刚开始学 Java 的时候也捣鼓过一些小游戏,比如扫雷,贪吃蛇,坦克大战等。那时还不知道有 GitHub 不然这些项目就能和大家见面了,自己当时也瞎写,对编程感觉还不强,但是亲手将一些儿时的回忆复刻出来的感觉是非常棒的,如果你也想用 Java 写写小游戏的话,不妨看看下面这个项目。

    • 项目地址:https://github.com/AlmasB/FXGLGames

    • 官网地址:http://almasb.github.io/FXGLGames

    项目中已经内置了一些简单游戏的 Demo,通过学习可以让你快速上手,框架还可以将游戏轻松打包到单个可执行文件,快来试试吧!

    最后

    HelloGitHub 想让更多人爱上编程、开源,也一直在尝试、摸索如何帮助更多的人。

    如果你是在校大学生或研究生热爱编程、开源,喜欢讨论和学习技术相关的内容,那么来 HelloGitHub 的大学生开源俱乐部吧!你们的编程路才刚开始 HG 想陪你们走一段。加微信号:HelloGitHub (备注:学校和专业)。


    关注公众号第一时间收到更新

    「阅读原文」 发现更多 Java 项目

    展开全文
  • Java web项目使用SpringBoot+Mybatis+thymeleaf开发。前端使用bootstrap、html5、css3动画、jQuery、WangEditor富文本编辑器、Webuoloader和Base64处理图片上传、ajax异步处理表单数据,包括后台管理系统,使用...
  • Java学生选课教务系统作为学习Java新手,之前学过点Java的基础,后来又看了看网易云课堂的java,总共差不多两个月的时间吧,陆陆续续跟着书和视频编了一些程序。马上也要毕业,现在开始,希望能够写一些新手,进阶...

    Java学生选课教务系统

    作为学习Java的新手,之前学过点Java的基础,后来又看了看网易云课堂的java,总共差不多两个月的时间吧,陆陆续续跟着书和视频编了一些程序。马上也要毕业,现在开始,希望能够写一些新手,进阶,高级项目经历。一方面,是对自己实践的一个总结反思学习的过程,另一方面,也是对自己职业的一个管理。

    经验现在明显不足。有很多没有考虑到的地方,嘛嘛,总是要从入门到放弃的嘛,留在这,供高手娱乐消遣,供自己回忆吐槽:-D
    无论如何,程序员这一行算是准备开始了/(ㄒoㄒ)/~~少年,迈上不归之路吧!Let’s go! All in!

    界面设计以及功能分析

    写在分析前

    因为赶上毕业,所以希望能马上完事,照着实现最简单的功能来,争取一周完事。说易行难,一看网上的各种分析,立马畏难情绪上来了,这各种各样的类,界面,功能,我完全无从下手啊。啊啊啊啊,这怎么办啊,虽然之前也做过小的项目,也知道甭管难不难,先去下手做就行,碰到问题,就解决问题呗。可这次问题是,我不知道从哪入手。这不就无语凝噎了吗?刷了刷新闻,哎,又被Unix的发明者的故事给虐了,你说人家20出头的时候已经能干出这么前无古人,很有可能后无来者的牛逼的事来,而逗逼如我,以临近毕业之势,刚刚开始学习java,这还有啥好奋斗的?大晚上的从实验室出来,简直是生无可恋有木有~。

    伟大的某个伟人说过,想不通的时候要么吃饭,要么睡觉。一觉醒来,挫败感少了,头脑也清醒许多了,想了想,管他呢,就从如果我是用户,我要选课的流程是啥,首先干啥,接着怎么了(有没有产品设计的赶脚。。。),那我就从这个入手,按照用户操作来,需要啥写啥。需要啥,就打包到类里,提供统一面向外部的接口,然后打包到包里。。。不知道这样想对不对,反正这么一顿遇到问题解决问题下来,也整了个系统出来。好坏不说,自己设计的第一个独立的小系统,还是有成就感的。所以还是记录下来,若干年后,再来自打脸。。。

    第一个项目为了打基础,会写的详细一些,以后会简写。(ps. 第一次用markdown写,文字都在一行了,后来发现,是不要随便敲空格啊,实在不行,复制一下最开始使用时跳出来的那个介绍markdown的界面作为模板,然后就知道咋回事了。。。原谅我这笨拙的人生吧。。)

    • 深深体会到不知道的太多
    • 要时刻网上查阅
    • 还有下载一个jdk API文档
    • 以及熟练使用alt+/辅助输入
    • 以及Ctrl+待查看的类和方法

    界面设计,功能分析

    好,扯淡够了,言归正传。平台采用从Eclipse官网里下载的eclipse for java软件平台,然后配置了一下jre 用的是jre 1.7。说到这里,也是之前很困惑,然后上网查阅。

    写java程序,不用专门的eclipse,而是下载jdk软件包,然后配置classpath,再调用javac编译,java来运行。这种情况下,jdk软件包包含jre和一些开发工具,主要是javac和java(调用虚拟机)。jre是java运行引擎,是用户安装使用,它包含库lib以及java,用来调用用户的java虚拟机,运行java程序。而jdk是开发人员使用,它包含javac等用来开发的工具。而java虚拟机在jre中,因为java是跨平台运行在各系统中,它需要一个虚拟机帮助实现这个。至于配置classpath,则是可以实现在计算机任何位置都能调用javac和java的作用。而eclipse for java 有自己的编译器,直接下载安装,然后在build path 里选择jre 1.7(或者其他)即可使用。另外有些方法是不适合较早版本的编译器的,因此,我经常直接把编译器改成1.7版本的。接下来继续说项目吧。

    主界面–学生选课系统登录界面

    首先学生选课系统主界面,应该是一个登录系统,和大部分你见过的一样,直接上图(丑陋style,用的是swing)
    主界面
    好了,可以看到,首先我们要设计一个MyFrame继承JFrame类,把图中相应的Component对象设计好(刚开始把密码框弄成了JTextFiled类了,应该是JPasswordFiled类,专门为密码输入提供的,还有用户名框不要用JTextArea类,这是一大块文本输入域,用JTextFiled类,一行即可)。

    接着就是放置这些组件到MyFrame里了,在放置的时候,需要注意布局,通常我会采用在主JPanel类对象里,采用GridLayout布局,然后在每一行的JPanel类对象里,默认使用FlowLayout布局(可以设置放在左右位置),把主JPanel放置在MyFrame(默认BorderLayout的CENTER位置上)
    可以在函数ini()里实现,然后是注册组件的事件监听器,我用到的一般是按钮(JButton)的addActionlistener(new Acitonlistener(){//在这里面实现处理事件};)在register()函数里实现,接着将这两个函数放到MyFrame构造函数里,最后在构造函数里将窗口的visible(),置为true;

    接着,我们分析用户登录流程,当用户还没点击登录的时候,要在界面显示如上图,那首先得实现产生验证码的功能,Java是面向对象的嘛,在我理解就是能打包成一个类的弄成一个类,提供类面向外部的接口,因此可以把这个产生验证码的功能放在Tools类中实现;

    当用户点击登录的时候,也就是要实现登录按钮的注册事件,首先获取用户输入的信息,然后接下来就是连接数据库,查询用户名和密码的正确性。所以需要一个数据库,库里有user表,含有用户名,密码,用户权限(设定1对应管理员,2对应教师,3对应学生,这是为了登陆后弹出相应的界面),也应该有student,teacher这些用户,以及course表。相应的在Java里要设计类,有User类,然后是继承User类的Student类和Teacher类,和数据库中的表相对应。同时有一个Course类,用来记录课程,选课的老师,以及选课的学生。

    接着登录功能来说,在登录注册事件里,需要接收用户输入,验证登录正确性。验证正确性,可以在UserManage这个操作User类中实现,即实现login方法,提供用户输入的信息,在login里应该实现连接数据库,获取Connection对象,使用PreparedStatement,发送sql语句,获取ResultSet,然后验证输入的正确性。

    选数据库的时候,最开始选了SQLite数据库,适合嵌入,后面对多用户并发读写支持不好,可能是我没弄好,所以弃了,选择了SQL Server数据库,这个数据库使用,首先要在配置管理器里启动sql server服务,切记切记。

    Java的jdbc可以通过下载的数据库驱动包,实现对各类数据库的统一调用方法,包括Class.forName(“驱动”),Connection DriverManager.getConnection(“协议+路径”)。因此选择好数据库,然后下载相应的驱动文件包(.jar),然后将其build path进Libarary中,就可以直接调用以上方法了。而这两个函数里所需的字符串,可以通过解析xml文件实现,将解析过程设为MyFrame的静态代码块,只执行一次。xml解析也有两种,考虑到解析较小文件和提高效率,选用了DOM解析,先读进内存,再遍历树。在login里实现连接。然后就是发送sql语句了。Statement类不能使用参数,因此使用PreparedStatement,用?代替参数,如

    String str="select * from user where uname=?"
    PreparedStatement ps=conn.getPreparedStatement(str);
    ps.setString(1,name)

    将这个发送过程,放进Tools里去实现PreparedStatement sqlBuilder(String str,Object obj[])。接着利用返回的ps,得到ResultSet rs,然后就是利用rs的next()函数,获取从数据库中得到的查询的值,然后判断用户名与密码的正确性。若正确,就要考虑写登录日志了,记录登录时间和用户,放在Record类里,登出时间,在某个用户登出后记录,然后是通过I/O将Record对象写入/读出文件中。写对象,用ObjectOutputStream。

    这个MyFrame作为gui,可以将放在com.my.gui包里。具体public class MyFrame{},Tools类,User类,Student类,Teacher类,Course类,UserManage类,实现在文末统一给出。其实,很多类都是基本定了,然后缺啥补啥。。

    最后,注意一些使用的友好性,在登录时,对某些用户的一些操作,如输入为空,点击叉号等,要及时弹出对话框,因此要设计一个MyDialog类继承JDialog类,实现对话功能。然后就是验证码输入不对,重输之前,要清零等一些友好设计,想象一下,作为用户的你,面对一些不友好设计时的各种吐槽吧~

    接下来,就是分别设计管理员系统界面,学生系统界面,教师系统界面,以及数据库的设计了。
    程序附录
    主界面MyFrame;
    有些编写,本文未提到的,后面会介绍

    package com.my.gui;
    
    import java.awt.BorderLayout;
    import java.awt.Container;
    import java.awt.Dimension;
    import java.awt.FlowLayout;
    import java.awt.GridLayout;
    import java.awt.Toolkit;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    import java.util.Calendar;
    import java.util.Date;
    
    import javax.swing.JButton;
    import javax.swing.JDialog;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JPasswordField;
    import javax.swing.JTextField;
    
    import com.my.beans.Record;
    import com.my.beans.Student;
    import com.my.beans.Teacher;
    import com.my.beans.User;
    import com.my.manage.UserManage;
    import com.my.util.Tools;
    
    public class MyFrame extends JFrame{
        private Container pn;
    
        private JPanel pn_name,pn_pwd,pn_code,pn_login;
        private JLabel label,label_name,label_pwd,label_code;
        private JTextField filed_name,filed_code,field_code_play;
        private JPasswordField pwd;
        private JButton login;
    
        private String uname;
        private String upwd;
        private String code;
        private String codePlay;
    
        private UserManage um=null;
    
        private Record record=null;
        private Date inTime;
        private Date outTime;
    
        private User user=null;
    
    
        private AdmisterGUI agui=null;
        private TeacherGUI tgui=null;
        private StudentGUI sgui=null;
    
    
        public UserManage getUm() {
            return um;
        }
        public MyFrame()
        {
            ini();
            register();
            this.setVisible(true);
        }
        public void ini()
        {
            this.setSize(400,300);
            this.setTitle("学生选课教务系统");
            setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
            pn=new Container();
            pn_name=new JPanel();
            pn_pwd=new JPanel();
            pn_code=new JPanel();
            pn_login=new JPanel(new FlowLayout(FlowLayout.RIGHT));
    
            label=new JLabel("登录");
            label_name=new JLabel("账户", JLabel.CENTER);
            label_pwd=new JLabel("密码", JLabel.CENTER);
            label_code=new JLabel("验证码", JLabel.CENTER);
    
            filed_name=new JTextField(20);
            field_code_play = new JTextField(9);
            filed_code=new JTextField(9);
    
            pwd=new JPasswordField(20);
            login=new JButton("登录");
            //窗体居中
            Toolkit kit=Toolkit.getDefaultToolkit();
            Dimension dm=kit.getScreenSize();
            this.setLocation((dm.width-this.getWidth())/2, (dm.height-this.getHeight())/2);
            //放置
    
            pn_name.add(label_name);
            pn_name.add(filed_name);
            pn_pwd.add(label_pwd);
            pn_pwd.add(pwd);
            pn_code.add(label_code);
            pn_code.add(filed_code);
            //调用tools类产生验证码,并显示在界面上
            codePlay=Tools.codeGen();
            field_code_play.setText(codePlay);
            field_code_play.setHorizontalAlignment(JTextField.CENTER);
    
    
            pn_code.add(field_code_play);
    
            pn_login.add(login);
    
            pn.setLayout(new GridLayout(4, 1));
            this.add(label,BorderLayout.NORTH);
    
            pn.add(pn_name);
            pn.add(pn_pwd);
            pn.add(pn_code);
             pn.add(pn_login);
            this.add(pn,BorderLayout.CENTER);
    
    
        }
        public void register()
        {
            login.addActionListener(new ActionListener() {
    
                @Override
                public void actionPerformed(ActionEvent e) {
                    um=new UserManage();
                    uname=filed_name.getText();
                    upwd=pwd.getText();
                    code=filed_code.getText();
                    if("".equals(uname)||"".equals(upwd))
                    {
                        //自定义对话框 MyDialog 弹出提示
                        new MyDialog("账户和密码不能为空!");
    
                    }
                    else
                    {
    
                        if("".equals(code)){
                            new MyDialog("验证码不能为空!");
                        }
                        else if(code.equalsIgnoreCase(codePlay))
                        {
    
    
                            //调用UserManage类 login方法
    
                            user=um.login( uname,upwd);
                            if(user==null){
                            new MyDialog("账户和密码不正确!");}
                            else
                            {
                                //重复登录 验证码清零
                                codePlay=Tools.codeGen();
                                field_code_play.setText(codePlay);
                                field_code_play.setHorizontalAlignment(JTextField.CENTER);
                                //清空输入
                                filed_code.setText("");
    
                                record=new Record();
                                record.setUser(user);
    
                                inTime=  new Date(Calendar.getInstance().getTimeInMillis());
                                record.setInTime(inTime);
                                //判断uright,调用管理员、教师、学生窗口
                                int uright=user.getUright();
                                 if(uright==1)//管理员
                                 {
                                     agui=new AdmisterGUI(record,MyFrame.this);在里面实现 窗口退出 写登录日志
    
                                 }
                                 else
                                     if(uright==2)//教师
                                     {
                                         Teacher teacher=(Teacher)user;
                                         tgui=new TeacherGUI(record,MyFrame.this,teacher);在里面实现 窗口退出 写登录日志
                                     }
                                     else
                                     {
                                         Student student=(Student)user;
                                         sgui=new StudentGUI(record,MyFrame.this,student);在里面实现 窗口退出 写登录日志
                                     }
                                }
    
                        }
                        else
                        {
                            new MyDialog("验证码不正确!");
                            //调用tools类产生验证码,并显示在界面上
                            codePlay=Tools.codeGen();
                            field_code_play.setText(codePlay);
                            field_code_play.setHorizontalAlignment(JTextField.CENTER);
                            //清空输入
                            filed_code.setText("");
                        }
                    }
                }
            });
    
                //主窗口正在关闭 释放资源  
            addWindowListener(new WindowAdapter() {
                public void windowClosing(WindowEvent e) {
                    if(um!=null){
                    um.closeConnection();}
                    ((MyFrame)e.getSource()).dispose();
                    System.exit(0);
    
                }
                });     
    
        }
        //自定义对话框
        class MyDialog extends JDialog{
            private JLabel msg;
            private JButton ok;
            private JPanel pne;
            public MyDialog(String msg)
            {
                ini( msg);
                register();
                MyDialog.this.setVisible(true);
            }
            public void ini(String msg)
            {
                MyDialog.this.setSize(300,100);
                //窗体居中
                Toolkit kit=Toolkit.getDefaultToolkit();
                Dimension dm=kit.getScreenSize();
                MyDialog.this.setLocation((dm.width-MyDialog.this.getWidth())/2, (dm.height-MyDialog.this.getHeight())/2);
                pne=new JPanel();
                pne.setLayout(new GridLayout(2, 1));
                MyDialog.this.msg=new JLabel(msg, JLabel.CENTER);
                MyDialog.this.ok=new JButton("确定");
                pne.add(MyDialog.this.msg);
                pne.add(MyDialog.this.ok);
    
                MyDialog.this.add(pne,BorderLayout.CENTER);
            }
            public void register()
            {
                MyDialog.this.ok.addActionListener(new ActionListener() {
    
                    @Override
                    public void actionPerformed(ActionEvent e) {
                        MyDialog.this.dispose();
                    }
                });
            }
        }
    }
    

    诸多琐事,没有时间细细讲解。直接上代码吧。

    学生教务系统Java实现

    展开全文
  • 适合Java新手练手的小项目

    万次阅读 多人点赞 2018-10-08 15:40:00
    对于很多朋友来说,Java是学习编程的开始,也有很多朋友希望通过Java可以找到工作,那么当我们学习了Java的基础知识之后,我们急需要一些项目去帮我们整理一下自己学习的知识点以及提高一下编程能力,对小的工程有一...

    对于很多朋友来说,Java是学习编程的开始,也有很多朋友希望通过Java可以找到工作,那么当我们学习了Java的基础知识之后,我们急需要一些项目去帮我们整理一下自己学习的知识点以及提高一下编程能力,对小的工程有一个大致的了解,有助于以后一步一步的接触上手相对来说大的项目。就需要一些小项目来练手,这里分享一些还不错供大家学习提高。

    源码下载(实例一):

    jsp开发完整的博研图书馆后台管理系统,不使用框架开发的,太完美了

    http://www.zuidaima.com/share/2358272909446144.htm

    源码下载(实例二):

    javaWeb图书馆管理系统源码mysql版本

    http://download.csdn.net/download/defonds/7123499

    源码下载(实例三)

    GitHub - uboger/LibraryManager: JAVA GUI 图书馆管理系统

    https://github.com/uboger/LibraryManager

    源码下载(实例一):

    java swing开发网络聊天室群聊系统,基于java多线程socket编程

    http://www.zuidaima.com/share/2813720957340672.htm

    源码下载(实例二):

    java swing开发大猫聊天室源码,简单易懂,适合java swing初学者

    http://www.zuidaima.com/share/2476196100705280.htm

    源码下载(实例三):

    java websocket开发简单聊天室系统,实现群聊与一对一单人聊天案例

    http://www.zuidaima.com/share/2681158015126528.htm

    源码下载(实例四):

    jsp开发简单聊天室demo-分享

    http://www.zuidaima.com/share/2920853761723392.htm

    小编是一个有着5年工作经验的java程序员,对于java,自己有做资料的整合,一个完整学习java的路线,学习资料和工具,相信这里有很多学习java的小伙伴,我创立了一个2000人学习扣群,479121291。每晚都有java的直播课程。无论是初级还是进阶的小伙伴小编我都欢迎!

    源码下载(一):

    JAVA坦克大战+源代码(适合初学者)

    http://download.csdn.net/download/csyrooney/1692151

    源码下载(二):

    GitHub - wangzhengyi/TankWar: 用J2SE写的一个坦克大战小游戏,巩固一下java基础

    https://github.com/wangzhengyi/TankWar

    源码下载(一):

    Java实践(十一)——五子棋

    http://blog.csdn.net/cnlht/article/details/8176130

    源码下载(二):

    java swing开发的五子棋小游戏源码

    http://www.zuidaima.com/share/2937407256464384.htm

    源码下载(三):

    java swing开发单机版五子棋源代码下载

    http://www.zuidaima.com/share/1550463383030784.htm

    源码下载(四):

    Java五子棋算法和代码

    http://download.csdn.net/download/longyin415/2267863

    源码下载(实例一):

    JAVA贪吃蛇源代码

    http://download.csdn.net/download/java_cxrs/1005980

    源码下载(实例二):

    java swing编写的3个小游戏程序源码,俄罗斯方块,贪吃蛇和坦克大战

    http://www.zuidaima.com/share/2255780075867136.htm

    源码下载(实例三):

    java贪吃蛇源代码 、 java贪吃蛇源代码

    http://blog.csdn.net/yaerfeng/article/details/23254623

    展开全文
  • 本文档为Java Web项目开发案例精粹视频与源码,每集按照项目的开发顺序,系统且全面地介绍了程序的开发流程。对于项目开发中的开发背景、需求分析、功能分析、数据库分析和设计、系统开发到系统的部署和运行,每一个...
  • java项目开发实战案例

    2017-12-01 20:51:31
    java项目开发实战,主要以案例讲解各种系统开发的流程,包括数据库,以及前台和后台之间的连接,主要以代码讲解为主。
  • 前言: 在我们学习Java的过程中,掌握其中的基本概念对我们的学习无论是J2SE,J2EE,J2ME都是很重要的,J2SE是Java的基础,所以有必要对其中的基本概念做以归纳,以便大家在以后的学习过程中更好的理解java的精髓,在此我...
  • 适合Java初学者练习的项目

    万次阅读 多人点赞 2020-07-10 15:41:24
    1. 前言 我是在大二开始学习Java的,在打好Java基础的同时,我们也需要几个项目来来练练手。通过写项目,我们能够好的掌握对Java的应用。 那么,有哪些项目适合我们初学者呢? 我总结了下我在大学期间所写的项目,...
  • 很好的资源完全可以搭建成功
  • Java练手项目(好玩又有趣)

    千次阅读 2022-01-13 10:08:22
    本套教程专门为零基础学员而制,适合准备入行Java开发的零基础学员,视频中穿插多个实战项目。 每一个知识点都讲解的通俗易懂,由浅入深。 不仅适用于零基础的初学者,有经验的程序员也可做巩固学习。
  • java经典小项目集合

    2018-07-06 20:26:47
    java经典小项目集合,书籍;包含了新手入门JAVA所必须会的一些知识点
  • 分享20个我初学Java时的练手项目,结尾提供项目源码,希望对大家有帮助哈~ 1、BBS论坛系统(jsp+sql) 2、ERP管理系统(jsp+servlet) 3、OA办公自动化管理系统(Struts1.2+Hibernate3.0+Spring2+DWR) 4、...
  • JSP全称Java Server Pages,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以结束。 JSP是一种Java servlet,主要用于实现Java web应用程序的用户界面部分 JSP通过网页表单获取用户...
  • 适合Java初学者的项目

    千次阅读 多人点赞 2019-08-04 14:06:39
    一直在找这样的项目,准备作为个人项目,找工作时候的谈资:贯穿整个java知识点的,用到ssh,或者ssm框架,这样就可以让自己对java有一个整体的,清晰的认识。什么OA人事管理系统,什么ERP系统,找出来都不太是适合...
  • java众筹项目源码 微信支付、公众号&企业号开发Java SDK 注意事项: 声明: 本项目Fork自chanjarster/weixin-java-tools,但由于原项目已停止维护,故单独维护和发布,且发布到maven上的groupId也会不同,详细信息见...
  • 要想学好java技术,找到高薪工作,不仅要掌握扎实的理论知识,也要有一定的实操能力。遇到问题多查多问,可以上网站进行搜索,可以加一些交流群,还可以多问学校的老师……另外要学会欣赏他人的代码,向成功者学习。...
  • java 适合练手的java项目

    千次阅读 多人点赞 2019-09-04 14:06:22
    Java作为一门古老的语言,已有20年左右的历史,这在发展日新月异的技术圈可以说是一个...看到了这里,恭喜正式开始进入主题:适合新手练手的Java项目? 源码下载(实例一): jsp开发完整的博研图书馆后台管理系...
  • java初级项目(一)

    2018-10-25 16:35:08
    这个是Java的初级练习小项目,涉及到的内容有:基础语法/集合的使用/IO读写流/异常处理/
  • 技术学习是一个总结、纠错、触类旁通的过程,而不是单纯重复练习的过程,如果你问一个做过5年以上Java的老码农,他们很多人都会有很强的“搬砖感”,这种“搬砖感”其实就是对Java项目的触类旁通、看出套路来了,...
  • 包含Java项目开发实例自学手册源代码,适合初学者自学
  • 图书馆管理小项目的主要目的是让学完JavaSE的同学对之前掌握的知识做一些运用,该项目应用的知识点包括下面内容: 面向对象的思想 分层的思想 接口 异常 集合 日期处理 Stream流 IO流 反射 Javafx(了解)...
  • 适合新手 练手的Java 实战项目

    千次阅读 2021-08-16 17:19:33
    实践是检验真理的唯一标准,想动手写项目的快进来看
  • 适合新手练手的项目 java初学者 视频+源码+笔记都有度娘链接永久有效
  • java新手练手的一些小项目,包括记事本,计算器,管理系统等等
  • 手把手搭建一个完整的javaweb项目(适合新手)

    万次阅读 多人点赞 2017-06-23 07:27:04
    手把手搭建一个完整的javaweb项目 本案例使用Servlet+jsp制作,用MyEclipse和Mysql数据库进行搭建,详细介绍了搭建过程及知识点。 下载地址:http://download.csdn.net/detail/qq_23994787/9904842点击下载 主要...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 65,962
精华内容 26,384
关键字:

java新手项目

java 订阅