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

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

TXT文档中,源数据为:


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

先写一个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 {
	
	
	List<message>list=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<list.size();i++)
			if(list.get(i).getName().equals(name))
			return list.get(i);
		
		return null;
				//return list.get(i);
		//return null;
	}
	public int deletename(String name)//������ɾ��
	{
		int i;
		for(i=0;i<list.size();i++)
			if(list.get(i).getName().equals(name))
			{
				list.remove(i);//在集合里边删除 该元素
				//System.out.println("已删除");
				File file=new File("C:\\Users\\Sky\\Desktop\\data1.txt");
				if(file.exists())//如果当前文件存在
					file.delete();//就删除
				if(!file.exists())//如果不存在,就创建一个
				{
					try {
						file.createNewFile();
					} catch (IOException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
				}
				FileWriter writer;
				try
				{	
					writer = new FileWriter("C:\\Users\\Sky\\Desktop\\data1.txt");//选定写入的对象为当前文件夹
						for(int j=0;j<list.size();j++)//因为list集合 已经删除掉了需要删除的元素
					{//并且,原文件也被删除掉了,所以就重新建一个跟原来名字一样的文件
							String help=list.get(j).getName()+"\t"+list.get(j).getMajor()+"\t"+list.get(j).getClasses()+"\t"+list.get(j).getDirection();
							writer.write(help);//然后再把集合里边的 元素写进去,就实现了元素删除
							writer.write("\r\n");
							
					}
						writer.flush();
						writer.close();
				}
				catch(Exception e)
				{
					
				}
				
				return 1;
				//break;
			}
				
		return 0;
	}
	public void index()//��ѯ������//全部查询
	{
		if(list.size()==0)
		{
			System.out.println("空表");
			return ;
		}
		for(int i=0;i<list.size();i++)
			System.out.println("姓名"+list.get(i).getName()+"   专业:"+list.get(i).getMajor()+"   班级  :"+list.get(i).getClasses()+"   方向 :"+list.get(i).getDirection());
	}

}




然后写一个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. <br>
	 *
	 * 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. <br>
	 */
	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+"<br>");
			
			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+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'use.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
    <center>
    <div>
    <h1>欢迎使用</h1>
    <form action="servlet/Test01" method="post">
    <table>
    	<tr>
    	<td width="66" align="right"><font size="3">查询:</font></td><td colspan="2"><input type="text" name="username" value="${username }" style="width:200;height:25;"/></td>
    	</tr>
    	<tr>
    	<td width="66" align="right"><font size="3">删除:</font></td><td colspan="2"><input type="text" name="name" value="${name }" style="width:200;height:25;"/></td>
    	</tr>
    	 <tr><td colspan="3" align="center"><input type="submit" value="提交" style="width:130;height:30;"/></td></tr> 
    </table>
    </form>
    <font color="red" size="2"> ${msg }</font>  
    </div>
    </center>
  </body>
</html>

在tomcat上测试,结果为:

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

然后删除"赵仕魁"

再查询“赵仕魁”:

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


赵仕魁已经被删除了!

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

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值