- 浏览: 1536614 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (525)
- SEO (16)
- JAVA-EE-Hibernate (6)
- JAVA-EE-Struts (29)
- JAVA-EE-Spring (15)
- Linux (37)
- JAVA-SE (29)
- NetWork (1)
- CMS (14)
- Semantic Research (3)
- RIA-Flex (0)
- Ajax-Extjs (4)
- Ajax-Jquery (1)
- www.godaddy.com (0)
- SSH (34)
- JavaScript (6)
- SoftwareEngineer (9)
- CMMI (0)
- IDE-Myeclipse (3)
- PHP (1)
- Algorithm (3)
- C/C++ (18)
- Concept&Items (2)
- Useful WebSite (1)
- ApacheServer (2)
- CodeReading (1)
- Socket (2)
- UML (10)
- PowerDesigner (1)
- Repository (19)
- MySQL (3)
- SqlServer (0)
- Society (1)
- Tomcat (7)
- WebService (5)
- JBoss (1)
- FCKeditor (1)
- PS/DW/CD/FW (0)
- DesignPattern (11)
- WebSite_Security (1)
- WordPress (5)
- WebConstruction (3)
- XML|XSD (7)
- Android (0)
- Project-In-Action (9)
- DatabaseDesign (3)
- taglib (7)
- DIV+CSS (10)
- Silverlight (52)
- JSON (7)
- VC++ (8)
- C# (8)
- LINQ (1)
- WCF&SOA (5)
- .NET (20)
- SOA (1)
- Mashup (2)
- RegEx (6)
- Psychology (5)
- Stock (1)
- Google (2)
- Interview (4)
- HTML5 (1)
- Marketing (4)
- Vaadin (2)
- Agile (2)
- Apache-common (6)
- ANTLR (0)
- REST (1)
- HtmlAnalysis (18)
- csv-export (3)
- Nucth (3)
- Xpath (1)
- Velocity (6)
- ASP.NET (9)
- Product (2)
- CSS (1)
最新评论
-
lt26w:
理解成门面模式应该比较容易明白吧
FacadePattern-Java代码实例讲解 -
lt26w:
看下面的例子比较明白.
FacadePattern-Java代码实例讲解 -
javaloverkehui:
这也叫文档,别逗我行吗,也就自己看看。
HtmlCleaner API -
SE_XiaoFeng:
至少也应该写个注释吧。
HtmlCleaner API -
jfzshandong:
...
org.springframework.web.filter.CharacterEncodingFilter 配置
0.2版更新内容:
1.使用文件存储数据;
2.使用HashMap查找学生信息;
3.使用DAO模式;
4.使用Factory模式;
5.使用BufferedReader、PrintWriter读写文件。
Student.java:学生类 程序代码 程序代码 package cn.edu.ahau.mgc.stu; public class Student { private String id; private String name; private int age; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } StudentAction.java:学生信息处理类 程序代码 程序代码 package cn.edu.ahau.mgc.stu; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Scanner; public class StudentAction { Scanner sc = new Scanner(System.in); public void add() { Student stu = new Student(); System.out.println("请输入学生学号:"); String id = sc.next(); System.out.println("请输入学生姓名:"); String name = sc.next(); System.out.println("请输入学生年龄:"); int age = sc.nextInt(); stu.setId(id); stu.setName(name); stu.setAge(age); try { DAOFactory.getStudentDAOInstance().add(stu); } catch (Exception e) { System.out.println("添加学生信息失败!"); } } public void showAll() { List<Student> stus = null; try { stus = DAOFactory.getStudentDAOInstance().queryAll(); } catch (Exception e) { System.out.println("信息查找失败!"); } Iterator<Student> iter = stus.iterator(); this.printHeader(); while (iter.hasNext()) { Student stu = iter.next(); this.print(stu); } this.printFooter(); } public void printHeader() { System.out.println("------------------------"); System.out.println("学号\t姓名\t年龄"); System.out.println("------------------------"); } public void printFooter() { System.out.println("------------------------"); } public void print(Student stu) { System.out.println(stu.getId() + "\t" + stu.getName() + "\t" + stu.getAge()); } public Student queryById() { System.out.println("请输入学号:"); String id = sc.next(); HashMap<String, Student> stus = null; try { stus = DAOFactory.getStudentDAOInstance().queryById(); } catch (Exception e) { System.out.println("信息查找失败!"); } Student stu = null; if (stus.containsKey(id)) { stu = stus.get(id); } if (stu != null) { this.printHeader(); this.print(stu); this.printFooter(); } else { System.out.println("对不起,没找到您要查找的学生!"); } return stu; } } DAOFactory.java:数据操作工厂类 程序代码 程序代码 package cn.edu.ahau.mgc.stu; public class DAOFactory { public static StudentDAO getStudentDAOInstance() { return new StudentDAOImpl(); } } StudentDAO.java:学生信息数据操作接口 程序代码 程序代码 package cn.edu.ahau.mgc.stu; import java.util.HashMap; import java.util.List; public interface StudentDAO { //查询所有学生信息 public List<Student> queryAll() throws Exception; //按ID查询学生信息 public HashMap<String, Student> queryById() throws Exception; //添加学生信息 public void add(Student stu) throws Exception; } StudentDAOImpl.java:学生信息数据操作实现类 程序代码 程序代码 package cn.edu.ahau.mgc.stu; import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import java.util.HashMap; import java.util.List; public class StudentDAOImpl implements StudentDAO { public static final String FILE_PATH = "DB/student.txt"; public List<Student> queryAll() throws Exception { List<Student> stus = new ArrayList<Student>(); FileReader fr = null; BufferedReader br = null; try { fr = new FileReader(FILE_PATH); br = new BufferedReader(fr); String stuStr = null; while ((stuStr = br.readLine()) != null) { String[] stuMsg = stuStr.split(":"); if (stuMsg.length == 3) { Student stu = new Student(); stu.setId(stuMsg[0]); stu.setName(stuMsg[1]); int age = 20; try { age = Integer.parseInt(stuMsg[2]); } catch (NumberFormatException e) { age = 20; } stu.setAge(age); stus.add(stu); } } } catch (FileNotFoundException e) { e.printStackTrace(); throw new Exception(e); } catch (IOException e) { e.printStackTrace(); throw new Exception(e); } finally { if (br != null) { try { br.close(); } catch (Exception e) { e.printStackTrace(); throw new Exception(e); } br = null; } if (fr != null) { try { fr.close(); } catch (Exception e) { e.printStackTrace(); throw new Exception(e); } fr = null; } } return stus; } public HashMap<String, Student> queryById() throws Exception { HashMap<String, Student> stus = new HashMap<String, Student>(); FileReader fr = null; BufferedReader br = null; try { fr = new FileReader(FILE_PATH); br = new BufferedReader(fr); String stuStr = null; while ((stuStr = br.readLine()) != null) { String[] stuMsg = stuStr.split(":"); if (stuMsg.length == 3) { Student stu = new Student(); stu.setId(stuMsg[0]); stu.setName(stuMsg[1]); int age = 20; try { age = Integer.parseInt(stuMsg[2]); } catch (NumberFormatException e) { age = 20; } stu.setAge(age); stus.put(stuMsg[0], stu); } } } catch (FileNotFoundException e) { e.printStackTrace(); throw new Exception(e); } catch (IOException e) { e.printStackTrace(); throw new Exception(e); } finally { if (br != null) { try { br.close(); } catch (Exception e) { e.printStackTrace(); throw new Exception(e); } br = null; } if (fr != null) { try { fr.close(); } catch (Exception e) { e.printStackTrace(); throw new Exception(e); } fr = null; } } return stus; } public void add(Student stu) throws Exception { FileWriter fw = null; PrintWriter pw = null; try { fw = new FileWriter(FILE_PATH, true); pw = new PrintWriter(fw, true); pw.println(stu.getId() + ":" + stu.getName() + ":" + stu.getAge()); } catch (IOException e) { e.printStackTrace(); } finally { if (pw != null) { pw.close(); pw = null; } if (fw != null) { try { fw.close(); } catch (IOException e) { e.printStackTrace(); throw new Exception(e); } fw = null; } } } } StudentMgr.java:学生信息管理类 程序代码 程序代码 package cn.edu.ahau.mgc.stu; import java.util.Scanner; public class StudentMgr { public static void main(String[] args) { StudentAction sa = new StudentAction(); Scanner sc = new Scanner(System.in); boolean flag = true; while (flag) { showMenu(); int selected = sc.nextInt(); switch(selected) { case 1 : sa.add(); break; case 2 : sa.showAll(); break; case 3 : sa.queryById(); break; case 4 : flag = false; System.out.println("已退出!"); break; } } } public static void showMenu() { System.out.println("学生信息管理菜单:"); System.out.println("(1)增加学生信息"); System.out.println("(2)显示所有学生信息"); System.out.println("(3)根据学号查询学生信息"); System.out.println("(4)退出管理"); } } student.txt:学生数据文件 程序代码 程序代码 1001:Magci:20 1002:MGC:20 1003:haha:24 1005:lala:19 1004:test:23
发表评论
-
关于java.util.concurrent必须知道的5件事(一)
2010-08-10 18:34 1442本文原作者:Ted Neward ... -
Java盲点:双重检查锁定及单例模式
2010-06-17 11:11 3668Peter Haggar , 高级软件工程师, IBM 20 ... -
有关可读性
2010-05-13 15:31 1288Long operatorId = ( Long.val ... -
zzJAVA中用于处理字符串的“三兄弟”
2010-04-18 15:42 1125JAVA 中用于处理 字符 ... -
Java中可以使用 break/continue label 语句来控制多重嵌套循环的跳转
2010-04-16 16:40 3649在Java中可以使用 break/conti ... -
JAVA网络编程Socket常见问题 【长连接专题】
2010-03-18 16:30 11127一. 网络程序运行过程中的常见异常及处理 ... -
利用 Eclipse Visual Editor 项目构建 GUI
2010-02-05 13:51 1427一个用于构建图形接口的图形化工具 ... -
学JAVA必须知道:抽象类与接口的区别
2010-01-26 22:08 844abstract class和interface是Java语言 ... -
利 用xml,解析yahoo天气代码(java)
2010-01-06 15:46 5132利 用xml ... -
scanner
2009-12-30 02:32 1196import java.util.Scanner; publ ... -
java从键盘输入一些字符串,并将字符串保存到一个文件中
2009-12-30 02:23 5199import java.io.*; public class ... -
文件的操作。。。行数据封装
2009-12-30 00:43 1163140100171101 太原市公安局特警支队行政处 ... -
java获取当前目录:java中获取当前类所在的目录
2009-12-30 00:19 19066在学习工作中遇到路 ... -
JAVA中MAP的用法
2009-12-29 23:54 11498Map简介 将键映射到值的对象。一个映射不能包含 ... -
演示java中Map容器的常用功能:
2009-12-29 23:53 1887mport java.util.*; ... -
Map的用途
2009-12-29 23:52 1066Map以按键/数值对的形式存储数据,和数组非常相似,在数组中存 ... -
接口VS抽象类
2009-12-06 21:19 1186<!-- <rdf:RDF xmlns: ... -
应用java与flex轻松构建cs程序
2009-12-06 13:59 2623今天发现SmartInvoke这一好东西,拿过来与大家分享分享 ... -
JAVA中的equals()和hashCode()方法
2009-12-03 14:03 1086在 Java 语言中, equa ... -
获得系统时间 转换成字符串
2009-11-28 14:27 2879关键字: java 有时候经常用到JAVA 时间转换 如 ...
相关推荐
《基于jsp+Servlet的MVC模式学生信息管理系统详解》 在IT行业中,开发高效、可维护的Web应用程序是一项重要的技能。对于初学者来说,理解并掌握Model-View-Controller(MVC)设计模式是通往专业Web开发的第一步。本...
在学生信息管理系统中,所有学生数据都存储在MySQL数据库中,通过SQL语句进行操作。 2. 数据库设计:为了实现学生信息的管理,需要创建对应的数据库表,例如“students”表,包含id(主键)、name、age、gender等...
综上所述,这个学生信息管理系统利用MVC设计模式,实现了对学生数据的高效管理。通过集成MySQL数据库进行数据存储,C3P0连接池优化数据库连接管理,以及DBUtils简化数据库操作,系统具有良好的结构和性能。...
本项目是一个基于MVC(Model-View-Controller)设计模式和DAO(Data Access Object)模式实现的留言管理系统。它主要用于处理用户在网站上的留言,提供添加、查看、删除等操作,是学习Web开发、数据库操作以及软件...
在学生管理系统中,Model层可能包含了学生数据的存储、查询、修改和删除等操作。它不直接与用户交互,而是通过Controller传递数据给View。 2. **视图(View)** - 视图是用户看到和与之交互的界面部分。在学生管理...
"JSP+J2EE+MVC模式的学生信息管理系统"是一个使用了Java服务器页面(JSP)、Java企业版(J2EE)技术,并遵循模型-视图-控制器(MVC)设计模式的项目。这个系统主要用于管理学生的信息,提供了对数据的增删查改功能。...
在实际开发中,MVC模式的控制器会调用DAO来处理数据,DAO再通过模型将处理后的数据传递给视图。这样,前端请求由控制器处理,业务逻辑在模型中实现,数据操作在DAO中完成,视图只负责显示数据,形成了清晰的职责划分...
在Java Web开发中,MVC(Model-View-Controller)三层架构和DAO(Data Access Object)工厂模式是两种常见的设计模式,它们对于构建高效、可维护的系统至关重要。本项目结合这两种模式,旨在提高代码组织的清晰度和...
**JSP留言管理系统Ⅵ基于MVC+DAO设计模式详解** 在Web开发中,MVC(Model-View-Controller)设计模式和DAO(Data Access Object)设计模式是两种常见的架构模式,它们被广泛应用于构建可维护性和扩展性高的应用程序...
在这个项目中,我们关注的是一个使用Java语言实现的学生信息管理系统,它包含了图形用户界面(GUI)以及文件保存功能。下面我们将详细探讨这个系统的核心知识点。 1. **Java语言基础**: Java是一种跨平台的、面向...
DAO模式用于封装数据访问操作,隔离业务逻辑层与数据存储层。在用户登录的例子中,DAO类会处理与数据库的交互,如执行查询或更新操作。 1. **DAO接口**:定义了操作数据库的方法,如`login(String username, String...
总结,这个学生信息管理系统是一个典型的Java Web项目,涵盖了MVC架构的运用、Servlet处理请求、MySQL数据库存储数据、分页显示优化用户体验以及文件上传功能的实现。这样的系统为开发者提供了实际的动手经验,同时...
4. 数据文件:如果是文件存储方式,可能有.csv或.xml文件用于保存学生信息。 5. SQL脚本文件:如果是SQL存储,可能包含用于创建数据库表的SQL语句。 6. 构建脚本(如build.gradle或pom.xml):用于构建和管理项目的...
本项目“javaweb之mvc设计模式的学生信息管理系统”旨在通过实践应用,帮助开发者理解和掌握如何在JavaWeb环境中运用MVC模式来构建一个功能完善的系统。 **MVC设计模式** 1. **Model(模型)**:模型层是应用程序...
通过这种方式,MVC模式保证了用户界面的独立性,而DAO模式则简化了数据访问,使得整个系统更易于维护和扩展。在实际开发中,还可以利用Spring框架提供的依赖注入和AOP特性,进一步提高代码的可测试性和可维护性。
**基于jspMVC模式的成绩管理系统详解** 在信息技术领域,开发Web应用程序时,Model-View-Controller(MVC)模式是一种广泛采用的设计模式。本项目"基于jspMVC模式的成绩管理系统"是一个采用JavaServer Pages(JSP)...
Java学生信息管理系统基于MVC(Model-View-Controller)架构设计,这是一种常见的软件设计模式,广泛应用于Web开发中。MVC架构将应用程序分为三个主要组件:模型(Model)、视图(View)和控制器(Controller),以...
这是一个基于Struts2框架、MVC设计模式以及MySQL数据库实现的电脑配置信息管理系统。系统的主要功能包括用户管理、电脑配置信息管理和文件上传等,对于初学者来说,是学习Java Web开发的良好实践案例。 首先,...
本项目“MVC实现的简单的学生信息管理系统”就是利用这一模式来管理和展示学生数据的实例。通过这种模式,我们可以将业务逻辑、用户界面和数据访问分离开来,从而提高代码的可维护性和可扩展性。 **1. Model(模型...
**MVC+DAO模式在简单登录注册...综上所述,这个“MVC+DAO简单登录”项目展示了如何利用这两种设计模式构建一个基本的用户管理系统。通过理解并实践这些模式,开发者可以更好地组织和优化Web应用程序,提高代码质量。