java学生宿舍管理系统怎么设计

java学生宿舍管理系统怎么设计,第1张

我给你讲一下大概的思路:
1:第一步:设计数据库,一般像这种小型宿舍管理系统,选用mysql作为数据库,然后就是设计表,包括表中的字段名,字段的大小以及表之间的关系
2:第二布:确认使用的技术,作为java,你可以选用Springmvc作为mvc框架,毕竟它比较灵活和简单,然后Spring是必须的,用来管理事务,Hibernate作为后台数据库管理框架,jsp作为页面表现层。这样的程序比较健壮,扩展起来比较方便
3:在第二步的基础上,接下来就是建立Bean类,比如学生类、宿舍类等等,映射数据库表的字段,然后就是编写Service层、Dao层,等等建立数据处理逻辑
4:实现表现层,写jsp页面,你想在前台展示的内容就可以写在jsp里面,这里可以选用的技术有juqery,js。如果为了考虑用户体验,可以用ajax,实现异步无刷新交互。
5:前后台相互通信,用juint进行集成测试,看看数据是否按照逻辑准确的显示出来。后期测试等等
当然如果嫌麻烦,可以不采用ssh框架,可以直接用jsp+servlet写,这样比较简单,原理大概也差不多。只不过分层没这么清晰和明确了。

1在eclipse里面创建一个web项目
2使用mysql工具创建数据库和表,把增删改查的数据库语句熟悉下
3初学者建议熟悉jsp把业务逻辑和实现都放在一个页面里,让后就是通过jsp页面 *** 作数据库的 *** 作,还需要了解下html+css+JavaScript

Student 类
public class Student
{
private int id;
private int age;
private int score;
private String name;
public Student()
{
}
public Student(int id, int age, int score, String name)
{
thisid = id;
thisage = age;
thisscore = score;
thisname = name;
}
public int getId()
{
return id;
}
public void setId(int id)
{
thisid = id;
}
public int getAge()
{
return age;
}
public void setAge(int age)
{
thisage = age;
}
public int getScore()
{
return score;
}
public void setScore(int score)
{
thisscore = score;
}
public String getName()
{
return name;
}
public void setName(String name)
{
thisname = name;
}
@Override
public String toString()
{
return "学号:" + id + " 姓名:" + name + " 年龄:" + age + " 成绩:" + score;
}
}
Manager类
import javautilArrayList;
import javautilIterator;
import javautilList;
public class Manager
{
private List<Student> list;
public Manager(List<Student> list)
{
thislist = list;
}
public List<Student> getList()
{
return list;
}
public void setList(List<Student> list)
{
thislist = list;
}
//添加学生
public void add(Student s)
{
listadd(s);
}
//根据学生学号返回学生年龄
public int search(int id)
{
for(Iterator<Student> iter = listiterator(); iterhasNext();)
{
Student s = iternext();
if(sgetId() == id)
{
return sgetAge();
}
}
return -1;
}
//删除学生
public void remove(int id)
{
for(Iterator<Student> iter = listiterator(); iterhasNext();)
{
Student s = iternext();
if(sgetId() == id)
{
listremove(s);
}
}
}
//计算总成绩
public int allScore()
{
int score = 0;
int temp = 0;
for(Iterator<Student> iter = listiterator(); iterhasNext();)
{
Student s = iternext();
temp = sgetScore();
score += temp;
}
return score;
}
//修改成绩
public void update(int id)
{
for(Iterator<Student> iter = listiterator(); iterhasNext();)
{
Student s = iternext();
if(sgetId() == id)
{
ssetScore(sgetScore() + 10);
}
}
}
}
测试类 Client
import javautilArrayList;
import javautilList;
public class Client
{
public static void main(String[] args)
{
List<Student> list = new ArrayList<Student>();
Manager manager = new Manager(list);//创建一个管理者
Student s1 = new Student();//无参构造方法创建的学生实例
//通过方法设置s1的属性
s1setId(201105);
s1setAge(20);
s1setScore(100);
s1setName("zhangsan");
Student s2 = new Student(201101,21,98,"lisi");//通过带参数的构造方法创建实例
Student s3 = new Student(201108,25,95,"zhaoliu");
Student s4 = new Student(201110,23,80,"xiaoming");
Student s5 = new Student(201106,28,78,"hello");
//放到集合当中
managergetList()add(s1);//添加学生
managergetList()add(s2);
managergetList()add(s3);
managergetList()add(s4);
managergetList()add(s5);
Systemoutprintln(list);
Systemoutprintln(managerallScore());
Systemoutprintln(managersearch(201110));//根据学生学号查询学生年龄
managerremove(201110);//删除学生
managerupdate(201101);//修改成绩
}
}
可以完成你上述的基本要求,如果改动可以自行修改 很简单。

importjavaawt;\x0d\importjavaawtevent;\x0d\importjavaapplet;\x0d\importjavaappletApplet;\x0d\importjavaio;\x0d\importjavaxxmlparsersDoumentBuilderFactory;\x0d\\x0d\publicclassUserPanelextendsAppletimplentsActionListener\x0d\{\x0d\LabellblName,lblNumber,lblSex,lblJob,lblText;\x0d\TextFieletfNametfNumber;\x0d\checkboxchMale,chFemale;\x0d\TextAreataText;\x0d\choicechJob;\x0d\ButtonbtnOk,btnDisply;\x0d\Panelp1,p2,p3,p4,p5,p6,p7,p8,p9;\x0d\StringstrName,strNumber,strSex,strJob,strText;\x0d\\x0d\publicvoidinit()\x0d\{\x0d\lblName=newLabel("姓名");\x0d\lblNumber=newLabel("身份z号");\x0d\lblSex=newLabel("性别");\x0d\lblJob=newLabel("职业");\x0d\lblText=newLabel("个性化宣言");\x0d\tfName=newTextField(23);\x0d\tfNumber=newTextFidle(20);\x0d\taText=newTextArea(10,20);\x0d\c=newcheckboxGroup();\x0d\chMale=newcheckbox("男",c,true);\x0d\chFemale=newcheckbox("女",c,false);\x0d\chJob=newchoice();\x0d\chJobadd("学生");\x0d\btnOk=newButton("确定");\x0d\btnDisplay=newButton("显示");\x0d\p1=newpanel();\x0d\p2=newpanel();\x0d\p3=newpanel();\x0d\p4=newpanel();\x0d\p5=newpanel();\x0d\p6=newpanel();\x0d\p7=newpanel(newBorderLayout());\x0d\p8=newpanel();\x0d\p9=newpanel(newBorderLayout());\x0d\//\x0d\p1add(lblName);\x0d\p1add(tfName);\x0d\p2add(lblNumber);\x0d\p2add(lblNumber);\x0d\p3add(lblSex);\x0d\p3add(chMale);\x0d\p3add(chFemale);\x0d\p4add(lblJob);\x0d\p4add(chJob);\x0d\p5add(p3);\x0d\p5add(p4);\x0d\p6setLayout(newBorderLayout());\x0d\p6add(p1,BorderLayoutNORTH);\x0d\p6add(p2,BorderLayoutCENTER);\x0d\p6add(p5,BorderLayoutSOUTH);\x0d\p7add(lblText,BorderLayoutNORTH);\x0d\p7add(lblText,BorderLayoutCENTER);\x0d\p8setLayout(newFlowLayout(FlowLayoutCENTER,30,10));\x0d\p8add(btnOK);\x0d\p8add(btnDisplay);\x0d\p9add(p6,BorderLayoutNORTH);\x0d\p9add(p7,BorderLayoutCENTER);\x0d\p9add(p8,BorderLayoutSOUTH);\x0d\add(p9);\x0d\//\x0d\btnOKaddActionListener(this);\x0d\btnDisplayaddActionListener(this);\x0d\btnDisplaysetEnabled(false);\x0d\strName=newString();\x0d\strNumber=newString();\x0d\strSex=newString();\x0d\strJob=newString();\x0d\strText=newString();\x0d\}\x0d\\x0d\publicvoidactionPerformed(ActionEventevt)\x0d\{\x0d\stringarg=evtgetActionCommand();\x0d\//\x0d\if(argequals("确定"))\x0d\{\x0d\strName=tfNamegetText()trim();\x0d\strNumber=tfNumbergetText()trim();\x0d\if(chMalegetState())\x0d\strSex="男";\x0d\else\x0d\strSex="女";\x0d\strJob=chJobgetselectedItem();\x0d\strText=taTextgetText()trim();\x0d\try\x0d\{\x0d\//\x0d\DoumentBuildFactorydbf=DocumentBuilderFactorynewInstance();\x0d\db=dbfnewDocumentBuilder();\x0d\Doumentdoc=dbnewDoument();\x0d\//\x0d\Elementroot=docCreateElement("UserDAta");\x0d\ElementeName=doccreateElement("Name");\x0d\ElementeNumber=doccreateElement("Number");\x0d\ElementeJob=doccreateElement("Job");\x0d\ElementeText=doccreateElement("Text");\x0d\//\x0d\rootappendChild(eName);\x0d\rootappendChild(eNumber);\x0d\rootappendChild(eSex);\x0d\rootappendChild(eJob);\x0d\rootappendChild(eText);\x0d\//\x0d\eNameappendChild(doccreatTextNode("\n"strName"\n"));\x0d\eNumberappendChild(doccreatTextNode("\n"strNumber"\n"));\x0d\eSexappendChild(doccreatTextNode("\n"strSex"\n"));\x0d\eJobappendChild(doccreatTextNode("\n"strJob"\n"));\x0d\eTextappendChild(doccreatTextNode("\n"strText"\n"));\x0d\//\x0d\Filef=newFile("userxml");\x0d\FileOutputStreamfOut=newFileOutStream(f);\x0d\//\x0d\fOutwrite("


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12627189.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存