用户登录
用户注册

分享至

jsp通讯录word jsp通讯录管理系统

  • 作者: 文氓兄弟
  • 来源: 51数据库
  • 2020-04-21

学东西我觉得最好不要向别人索求代码,自己先思考,遇到难度或者不懂的时候才去问,像你这个通讯系统,你就要想,逻辑是怎样的,最起码要画好流程图吧,是否要具备前后台,有没权限区分等等,刚刚你的那第一要求,不得少于500行,其实要完成你这个系统,500行包不包括HTML界面代码呢?如果不包括的话500行也是可以完成的.如果包含的话那肯定没办法了,一个表格输入都有几十行的代码了/  另外一个就是功能的实现在数据库中如何表现呢,就好像你说的,通讯录要有姓名,性别,电话号码,住址等等,固然是越多功能越好),你就规划下数据库,就好像你刚才这些都可以划归到一个数据表,这个数据名专门存储这些人员信息,当然你的信息越复杂就不能建在同一个表上了,这会造成维护上的麻烦!一个姓名就是一个字段,性别跟电话号码也是...  现在做系统的很少人会用ASP来开发的了,ASP为什么还没这么快淘汰呢?是因为之前许多的企业许多人的用ASP开发了项目,这些项目要转到另外一个平台上面去,是很费心机和成本的,所以才会让ASP没这么快的消失在市场上,但往后的发展可以看到,ASP基本上没什么市场的了,除非你用的是ASP.NET.ASP.NET跟ASP只是名字上的相似而已,两者差别是巨大的,ASP是解释型的,而ASP.net是编译型的,做WEB系统的话还是推荐使用ASP.net+SQLSERVER或者PHP+MYSQL又或者JSP+oracle这些组合工具

jsp做个人通讯录管理系统

你需要学习一些jsp相关基础知识。

jsp的运行,需要有服务器支持,而这些服务器通常是tomcat,apache等。当这些服务开启了以后,并且一些设置文件正确设置好了以后才能浏览jsp文件。

可以去apache官方网站www.apache.org找找这些下载。

jsp设计通讯录中用户是否设计为一个类?

其实你通过生活中的思路在封装类,这是一个比较简单的方式。

从通讯录的功能来考虑,可以列出所有用户的电话,可以点击某个用户查看这个用户的记录,那么就是一个用户集合的功能,这样来看,用户就可以设置成一个类,这个类的属性有:姓名、电话、手机、email、地址等一些常用数据。这些数据里面除了姓名是唯一的,电话、手机、email、地址这几个参数都可能是多条数据,存储的时候可以按照数组来存储。

那么这个通讯录的雏形就是一个用户表,包括以上数据,提供的功能就是:查看全部用户列表,输入用户名或电话号码查看用户列表,点击具体用户查看用户具体信息或修改用户信息,批量删除用户信息。

那就是说:每注册一个用户,就有一个实例,对吧。那管理员算一个用户吗?还是说他是“用户名和密码是特定的用户”?这点我有点不明白,还有用户名和密码是存放在数据库?验证的时,是不是先通过JS,再传入数据库核对,然后才返回结果?

1.注册一个用户是一个动作,这个动作可以作为一个统一的实例进行用户注册操作;

2.管理员和用户在我们生活里面来看是两类人,管理员可以通过输入用户名和密码来查看他的通讯录的用户信息,那么肯定在程序设计的时候也是分两个对象来设计类;

3.管理员类的属性基本值包括:管理员登录名,管理员登录密码,这里我们考虑单机的,不考虑管理员权限,因为考虑了权限问题,这里就会再引入三张基本表:权限表、角色表、机构表,来处理更为复杂的业务;

4.数据的存放在MVC的结构里面都叫做‘模型’,这个模型在业务应用系统里面比较常见的是存放在数据库中,你也可以存放在文本文件中;

5.在验证的时候,我们也可以通过MVC的设计模式,js一般是面向用户输入的视图层,这一层验证的业务只做到输入的过滤,比如长度、非法字符等;

6.验证的业务逻辑是写在MVC的控制层,控制层将界面传入的值传给模型层的数据库进行SQL的查询,返回的结果再由控制层进行逻辑判断,来控制最终用户界面所显示的信息。

java通讯录管理

大致写了一下,你可以看看:

packagenoteBook;

importjava.awt.*;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjava.awt.event.MouseEvent;

importjava.awt.event.MouseListener;

importjava.io.BufferedReader;

importjava.io.File;

importjava.io.FileNotFoundException;

importjava.io.FileReader;

importjava.io.IOException;

importjava.io.PrintWriter;

importjava.util.ArrayList;

importjava.util.StringTokenizer;

importjava.util.Vector;

importjavax.swing.*;

importjavax.swing.table.DefaultTableModel;

classguiViewextendsJFrameimplementsActionListener{

JMenuBarjmb;

JMenutext;

JMenuedit;

JMenuhelp;

JMenuItemsave;

JMenuItemchange;

JMenuItemguide;

JLabelname;

JLabeladdress;

JLabelpost;

JLabelmobilePhone;

JLabelemail;

JTextFieldJT_name;

JTextFieldJT_address;

JTextFieldJT_post;

JTextFieldJT_mobilePhone;

JTextFieldJT_email;

JButtonjOk;

JButtonjCancel;

JTabletable;

staticDefaultTableModeldtm;

Vector<String>head;

introw=0;//用于标记当前行的位置

publicguiView(){

super("通讯录管理程序");

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setSize(600,700);

setVisible(true);

Containercon=this.getContentPane();

jmb=newJMenuBar();

this.setJMenuBar(jmb);

text=newJMenu("文件",true);

edit=newJMenu("编辑",true);

help=newJMenu("帮助",true);

save=newJMenuItem("保存");

change=newJMenuItem("修改");

guide=newJMenuItem("指导");

save.addActionListener(this);save.setActionCommand("save");

change.addActionListener(this);change.setActionCommand("change");

guide.addActionListener(this);guide.setActionCommand("guide");

text.add(save);edit.add(change);help.add(guide);

jmb.add(text);jmb.add(edit);jmb.add(help);

name=newJLabel("姓名:",Label.RIGHT);

address=newJLabel("通信地址:",Label.RIGHT);

post=newJLabel("邮编:",Label.RIGHT);

mobilePhone=newJLabel("移动电话:",Label.RIGHT);

email=newJLabel("电子邮件:",Label.RIGHT);

JT_name=newJTextField(12);

JT_address=newJTextField(28);

JT_post=newJTextField(12);

JT_mobilePhone=newJTextField(12);

JT_email=newJTextField(12);

jOk=newJButton("确定");

jCancel=newJButton("取消");

jOk.addActionListener(this);

jOk.setActionCommand("ok");

jCancel.addActionListener(this);

jCancel.setActionCommand("cancel");

JPanelpanelSOUTH=newJPanel();

JPanelpanelCENTER=newJPanel();

JPanelpanelCENTERSouth=newJPanel();

JPanelpanelCENTERCenter=newJPanel();

JPanelpanelCENTERNorth=newJPanel();

JPanelpanelNorth=newJPanel();

JPanelpanelNorthSouth=newJPanel();

head=newVector<String>();

head.addElement("姓名");

head.addElement("通信地址");

head.addElement("邮编");

head.addElement("移动电话");

head.addElement("电子邮件");

dtm=newDefaultTableModel(null,head);

showData();

table=newJTable(dtm);

table.addMouseListener(newMouseListener(){

publicvoidmouseClicked(MouseEvente){

row=table.getSelectedRow();

System.out.println(row);

getData(row);

}

publicvoidmouseEntered(MouseEvente){

}

publicvoidmouseExited(MouseEvente){

}

publicvoidmousePressed(MouseEvente){

}

publicvoidmouseReleased(MouseEvente){

}

});

JScrollPanejsp=newJScrollPane(table);

panelNorthSouth.setLayout(newGridLayout(1,5));

panelNorthSouth.add(name);

panelNorthSouth.add(address);

panelNorthSouth.add(post);

panelNorthSouth.add(mobilePhone);

panelNorthSouth.add(email);

panelNorth.setLayout(newBorderLayout());

panelNorth.add(jsp,BorderLayout.CENTER);

panelNorth.add(panelNorthSouth,BorderLayout.SOUTH);

panelCENTERNorth.add(name);

panelCENTERNorth.add(JT_name);

panelCENTERNorth.add(email);

panelCENTERNorth.add(JT_email);

panelCENTERCenter.add(post);

panelCENTERCenter.add(JT_post);

panelCENTERCenter.add(mobilePhone);

panelCENTERCenter.add(JT_mobilePhone);

panelCENTERSouth.add(address);

panelCENTERSouth.add(JT_address);

panelCENTER.add(panelCENTERNorth,BorderLayout.NORTH);

panelCENTER.add(panelCENTERCenter,BorderLayout.CENTER);

panelCENTER.add(panelCENTERSouth,BorderLayout.SOUTH);

panelSOUTH.add(jOk);

panelSOUTH.add(jCancel);

con.add(panelNorth,BorderLayout.NORTH);

con.add(panelCENTER,BorderLayout.CENTER);

con.add(panelSOUTH,BorderLayout.SOUTH);

}

//对点击首行,上一行,下一行,最后一行按钮触发的操作进行事件响应处理

publicvoidactionPerformed(ActionEvente){

Stringcommand=e.getActionCommand();

if(command.equals("ok")){

Stringname=this.JT_name.getText();

Stringaddress=this.JT_address.getText();

Stringpost=this.JT_post.getText();

StringmobilePhone=this.JT_mobilePhone.getText();

Stringemail=this.JT_email.getText();

saveData(name,address,post,mobilePhone,email);

showData();

table.setModel(dtm);

this.JT_name.setText("");

this.JT_address.setText("");

this.JT_post.setText("");

this.JT_mobilePhone.setText("");

this.JT_email.setText("");

}

elseif(command.equals("cancel")){

this.JT_name.setText("");

this.JT_address.setText("");

this.JT_post.setText("");

this.JT_mobilePhone.setText("");

this.JT_email.setText("");

}

elseif(command.equals("save")){

//savealldatainthetable

}

elseif(command.equals("change")){

//tableallowtochangesomedata

}

elseif(command.equals("guide")){

//maybeshowhowtouseit

}

else{

System.err.println("error!");

System.exit(-1);

}

}

privatevoidshowData(){

dtm=newDefaultTableModel(null,head);

Filefile=newFile("F:/java/data.txt");

Stringstr=null;

BufferedReaderbr=null;

try{

br=newBufferedReader(newFileReader(file));

str=br.readLine();

while(str!=null){

if(str==null){

System.err.println("nodata!");

break;

}else{

StringTokenizerst=newStringTokenizer(str,",");//每行信息的6个字段分别用空格隔开的

Vector<String>v=newVector<String>();

v.addElement(st.nextToken());

v.addElement(st.nextToken());

v.addElement(st.nextToken());

v.addElement(st.nextToken());

v.addElement(st.nextToken());

dtm.addRow(v);

}

str=br.readLine();

}

br.close();//一定要关闭资源

}catch(FileNotFoundExceptione){

e.printStackTrace();

}catch(IOExceptione){

e.printStackTrace();

}

}

privatevoidsaveData(Stringname,Stringaddress,Stringpost,

StringmobilePhone,Stringemail){

Filefile=newFile("F:/java/data.txt");

ArrayListlist=null;

try{

BufferedReaderbr=newBufferedReader(newFileReader(file));

list=newArrayList();

Stringss="";

while((ss=br.readLine())!=null)

list.add(ss);

br.close();

}catch(Exceptione){

e.printStackTrace();

}

list.set(row,name+","+address+","+post+","+mobilePhone

+","+email);

try{

PrintWriterpw=newPrintWriter(file);

for(inti=0;i<list.size();i++){

pw.println(list.get(i));

}

list.clear();

list=null;

pw.close();

}catch(FileNotFoundExceptione){

e.printStackTrace();

}

}

//通过flag标记当前读到了文件的第几行。然后循环读至该行

privatevoidgetData(introw){

Filefile=newFile("F:/java/data.txt");

Stringstr=null;

StringTokenizerst;

BufferedReaderbr=null;

try{

br=newBufferedReader(newFileReader(file));

for(inti=0;i<=row;i++){

str=br.readLine();

}

if(str==null){

System.err.println("nodata!");

}else{

st=newStringTokenizer(str,",");//每行信息的6个字段分别用空格隔开的

this.JT_name.setText(st.nextToken());

this.JT_address.setText(st.nextToken());

this.JT_post.setText(st.nextToken());

this.JT_mobilePhone.setText(st.nextToken());

this.JT_email.setText(st.nextToken());

}

br.close();//一定要关闭资源

}catch(FileNotFoundExceptione){

e.printStackTrace();

}catch(IOExceptione){

e.printStackTrace();

}

}

publicstaticvoidmain(String[]s){

guiViewc=newguiView();

c.setVisible(true);

}

}

用jsp做通讯录,要有登录界面身份验证,要连SQL server数据库,麻烦高手帮我解决下,最好能有代码和注释

首先你要建立一个工程项目,JAVAPROJECT,在包里面建立class类,取个名字,为了代码清爽,JAVA一般把方法写在class里面,比C++好用多了,再建立一个HTML。

先在HTML中建立好框架,如果你会用struct2,那界面会漂亮一点。这些拖放操作我就不一一做介绍。要点在连接数据库,读取数据。连接class举例:

//建立class名为link

publicclasslink

{

Connectionconn=null;//定义一个连接对象

Statementstmt=null;//定义一个连接方法

publicResultSetrs=null;//定义数据集合

//创建连接

publicvoidcreatC(){

Stringstrurl="jdbc:odbc:driver={SQLServer};Server=数据库IP地址;UID=数据库用户名;PWD=数据库密码;DataBase=数据库名";//连接字符串

try{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//驱动名称

conn=DriverManager.getConnection(strurl);//打开连接

stmt=conn.createStatement();//创建连接内容

}catch(Exceptione){

//在这里写连接异常消息

}

}

//关闭数据库连接,释放资源

publicvoiddestroy(){

try{

conn.close();

}catch(Exceptione){

//这里关闭连接失败消息

}

}

publicvoidquery(Stringsql){

this.creatC();//创建连接方法应用

try{

rs=stmt.executeQuery(sql);

//这里写控件的使用方法

}catch(Exceptione){

//这里写操作异常消息

}

this.destroy();//销毁连接状态方法应用

}

然后在HTML中就可以在按钮事件中直接用,假设有一个加载通讯录显示按钮

privatevoidbutton1ActionPerformed(...){

StringSQL="Select*from通讯录where组='"+网页文本控件值+"'";

newlink().query(SQL);//应用方法使rs有数据

while(rs.next()){

//遍历数据集合

//使用数据的方法

}

}

登陆按钮你修改一下SQL语句就OK了,判断有没有数据就好了,有数据就跳转,没数据就报异常

求java(jsp,sql)编写的通讯录管理

http://www.eshuba.com/sort/211_1.htm

自己去看一下

jsp 如何限制表单,实现只能填写特定的数据。

login后,将登陆的用户信息放入session;通过session保存登陆的相关信息,比如用户名;

点击update button时,通过session获取登陆用户的信息。显示给用户。让用户只能修改自己的信息;

伪代码:

public void login(HttpServletReqeust request){

requets.getSession.setAttribute("user" ,user)//user为登陆系统的对象。

}

在update.jsp中

获取user对象,即当前的登陆用户即可做相应的操作

User user =(User)session.getAttribute("user");

转载请注明出处51数据库 » jsp通讯录word jsp通讯录管理系统

软件
前端设计
程序设计
Java相关