您现在的位置:首页 >> 前端 >> 内容

web开发一个能进行人员管理(查询,删除,添加)的应用

时间:2016/7/29 9:48:33 点击:

  核心提示:开发一个web应用,已知在某文件里边有某些数据,实现这些数据的查询,删除和添加,此处文件为电脑c盘下桌面上名字叫data1.txt的文件TXT文档中,源数据为:其中,名字和专业和班级和方向之间都是一个...

开发一个web应用,已知在某文件里边有某些数据,实现这些数据的查询,删除和添加,此处文件为电脑c盘下桌面上名字叫data1.txt的文件

TXT文档中,源数据为:

web开发一个能进行人员管理(查询,删除,添加)的应用

其中,名字和专业和班级和方向之间都是一个退格,方向后为换行;

先写一个message类:

 

package com.it.test;

public class message {
	private String name;//
	private String major;//
	private String classes;//
	private String direction;//
	/**
	 * @return the name
	 */
	public message(String name,String major,String classes,String direction)
	{
		this.name =name;
		this.major=major;
		this.classes=classes;
		this.direction=direction;
	}
	public String getName() {
		return name;
	}
	/**
	 * @param name the name to set
	 */
	public void setName(String name) {
		this.name = name;
	}
	/**
	 * @return the major
	 */
	public String getMajor() {
		return major;
	}
	/**
	 * @param major the major to set
	 */
	public void setMajor(String major) {
		this.major = major;
	}
	/**
	 * @return the classes
	 */
	public String getClasses() {
		return classes;
	}
	/**
	 * @param classes the classes to set
	 */
	public void setClasses(String classes) {
		this.classes = classes;
	}
	/**
	 * @return the direction
	 */
	public String getDirection() {
		return direction;
	}
	/**
	 * @param direction the direction to set
	 */
	public void setDirection(String direction) {
		this.direction = direction;
	}

}
然后,写一个method类,提供查找,添加删除方法

 

 

package com.it.test;
import java.util.*;
import java.io.*;
public class method {
	
	
	Listlist=new LinkedList<>();//创建的新list
	public void add(String name,String major,String classes,String direction)//添加元素
	{
		message m=new message(name,major,classes,direction);
		list.add(m);
	}
	public message findname(String name)//按名字查找
	{
		int i;
		for(i=0;i

 

然后写一个servlet,作为后台控制:

 

package com.it.test;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import java.io.*;
@SuppressWarnings("serial")
public class Test01 extends HttpServlet {

	/**
	 * The doGet method of the servlet. 

	 *
	 * This method is called when a form has its tag value method equals to get.
	 * 
	 * @param request the request send by the client to the server
	 * @param response the response send by the server to the client
	 * @throws ServletException if an error occurred
	 * @throws IOException if an error occurred
	 */
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
	}

	/**
	 * The doPost method of the servlet. 

	 */
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		method me=new method();//由于每次跳转use.jsp,就会调用Test01,所以如果文件里边的数据不变,则删除无效
		request.setCharacterEncoding("utf-8");
		response.setContentType("text/html;charset=utf-8");
		String pathname="C:\\Users\\Sky\\Desktop\\data1.txt";//list存储为文件里边的数据,如果文件数据不变,则list不会变
		File filename=new File(pathname);
		InputStreamReader reader=new InputStreamReader(new FileInputStream(filename));
		BufferedReader buffer=new BufferedReader(reader);
		String line=buffer.readLine();
		while(line!=null)
		{
			
			//response.getWriter().write(line+"
");
			
			String help[]=line.split("\\t");//把文件每行数据按退格分开
			if(help.length==4)
			me.add(help[0], help[1], help[2], help[3]);//存入list集合
//			for(int i=0;i<4;i++)
//			{
//				response.getWriter().write(help[i]);
//			}
			line=buffer.readLine();//然后读取下一行
		}
		buffer.close();
		String username=null;
		String name=null;
		username=request.getParameter("username");
		name=request.getParameter("name");
		if((username==null||username.trim().isEmpty())&&(name==null||name.trim().isEmpty()))//查询和删除都为空时,显示姓名不能为空
		{
			request.setAttribute("msg", "姓名不能为空");
			request.getRequestDispatcher("/use.jsp").forward(request, response);
			return ;
		}
		if(me.findname(username)!=null&&(name==null||name.trim().isEmpty()))//删除为空,查询不为空,并且查询到了
		{
			request.setAttribute("msg", "姓名  "+me.findname(username).getName()+"  专业"+me.findname(username).getMajor()+"  班级"+me.findname(username).getClasses()+"  方向 :"+me.findname(username).getDirection());
			request.getRequestDispatcher("/use.jsp").forward(request, response);
			return ;
		}
		if(me.findname(username)==null&&(name==null||name.trim().isEmpty()))//删除为空,查询不为空,没有查询到
		{
			request.setAttribute("msg", "("+username+")"+"查无此人");
			request.getRequestDispatcher("/use.jsp").forward(request, response);
			return ;
		}
		if((username==null||username.trim().isEmpty())&&(name==null||name.trim().isEmpty()))//无效代码,请忽略
		{
			request.setAttribute("msg", "姓名不能为空");
			request.getRequestDispatcher("/use.jsp").forward(request, response);
			return ;
		}
		int flag=me.deletename(name);//表示删除结果
		if((username==null||username.trim().isEmpty())&&flag==0)//查询为空,删除不为空,删除失败
		{
			request.setAttribute("msg", "("+name+")"+"查无此人");
			request.getRequestDispatcher("/use.jsp").forward(request, response);
			return ;
		}
		if((username==null||username.trim().isEmpty())&&flag==1)//查询为空,删除不为空,删除成功
		{
			request.setAttribute("msg", "("+name+")"+"已删除");
			request.getRequestDispatcher("/use.jsp").forward(request, response);
			return ;
		}
	}

}
最后,写出主要的jsp去调用servlet:

 

 

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>


My JSP 'use.jsp' starting page

欢迎使用

查询:
删除:
${msg }


在tomcat上测试,结果为:

 

web开发一个能进行人员管理(查询,删除,添加)的应用

按照文件给的数据,查询"赵仕魁",得到:

web开发一个能进行人员管理(查询,删除,添加)的应用

然后删除"赵仕魁"

web开发一个能进行人员管理(查询,删除,添加)的应用

再查询“赵仕魁”:

web开发一个能进行人员管理(查询,删除,添加)的应用

最后再看文件里边的数据:

web开发一个能进行人员管理(查询,删除,添加)的应用
赵仕魁已经被删除了!

由于没有接数据库,并且不会用java对txt文件进行数据修改,用了一个不好的方法,先存到list里边,删除元素时,把文件也删除掉,然后建一个跟原文件名字一样的文件,由于需要删除的元素已经被list给删除了,然后按照list里边的元素,一个一个写到文件里边,再查询时,文件就没有删除过的元素了。

Tags:WE EB B开 开发 
作者:网络 来源:z8110的博客