首先陈列问题  (等待解决):

1. 界面是使用 H5   iframe 标签合并而成的,当窗口化之后点击任务栏,显示的内容会在任务栏的下边

希望可以找其他方式替代 (其他方法不熟练,不能应用)

如图:

2. 界面的布局不是很美观,需要学习一些和布局有关的插件

3.对于录入界面当前只是简单的手动录入,对于某些条件的限制没有添加,比如需要按照某种格式来添加信息,或者提供一个选择日期的表格等等都没有添加。

4.功能不是很多。需要继续增加,没有一般手机记事本那样的方便(希望界面紧凑一点,将那些文字换成图标)

制作的简单图形效果如下:

效果图如下:

dao 层:

 package com.Dao;

 import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List; import com.Bean.info;
import com.DBUtil.DBUtil; public class dao { public static void add(String name, String money, String place, String shijian) throws Exception {
Connection conn = DBUtil.getConn();
Statement state =null;
String sql="insert into info(name,money,place,shijian) values('"+name+"','"+money+"','"+place+"','"+shijian+"')";
state = conn.createStatement();
state.executeUpdate(sql);
DBUtil.close(state, conn); } public static List<info> show() throws Exception {
List<info> list= new ArrayList<>();
Connection conn=DBUtil.getConn();
Statement state=null; String sql="select * from info"; state = conn.createStatement();
ResultSet rs=state.executeQuery(sql);
info use=null;
while(rs.next()) {
//遍历获取的信息
String name=rs.getString("name");
String cost=rs.getString("money");
String place=rs.getString("place");
String time=rs.getString("shijian"); /*System.out.println(name);
System.out.println(cost);
System.out.println(place);
System.out.println(time);*/
use = new info(name, cost, place, time);
list.add(use);
} rs.close();
state.close();
conn.close();
return list;
} public static void update(String name, String money, String place, String shijian) throws Exception {
Connection conn=DBUtil.getConn();
Statement state=null;
String sql="update info set money='"+money+"',place='"+place+"',shijian='"+shijian+"' where name='"+name+"' ";
state=conn.createStatement();
state.executeUpdate(sql);
state.close();
conn.close();
} public static void delete(String name, String time) throws Exception {
Connection conn = DBUtil.getConn();
Statement state=null;
String sql="delete from info where name='"+name+"' and shijian='"+time+"'";
state=conn.createStatement();
state.executeUpdate(sql);
state.close();
conn.close(); } public static List<info> find(String type1, String info) throws Exception {
Connection conn = DBUtil.getConn();
List<info> list=new ArrayList<>();
Statement state=null;
String sql="select * from info where "+type1+" = '"+info+"'";
state=conn.createStatement();
ResultSet rs=state.executeQuery(sql);
info infos=null;
while(rs.next()) {
String name=rs.getString("name");
String money=rs.getString("money");
String place=rs.getString("place");
String time=rs.getString("shijian");
infos =new info(name,money,place,time);
list.add(infos);
}
return list;
} /*public static void main(String[] args) throws Exception {
dao.show();
}*/ }

Servt 层

 package com.Servlet;

 import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.List; import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import com.Bean.info;
import com.Dao.dao; /**
* Servlet implementation class MainServlet
*/
@WebServlet("/MainServlet")
public class MainServlet extends HttpServlet {
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
protected void service(HttpServletRequest req,HttpServletResponse resp)throws ServletException,IOException
{
req.setCharacterEncoding("UTF-8"); String method = req.getParameter("method");
if(method.equals("add"))
{
try {
add(req,resp);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(method.equals("show"))
{
try {
show(req,resp);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(method.equals("update"))
{
try {
update(req,resp);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(method.equals("delete"))
{
try {
delete(req,resp);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(method.equals("find"))
{
try {
find(req,resp);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} } private void find(HttpServletRequest req, HttpServletResponse resp) throws Exception {
req.setCharacterEncoding("utf-8");
String type1=req.getParameter("type1");
String info=req.getParameter("find");
List<info> list =dao.find(type1,info);
req.setAttribute("list", list);
req.getRequestDispatcher("shownote.jsp").forward(req, resp); } private void delete(HttpServletRequest req, HttpServletResponse resp) throws Exception {
req.setCharacterEncoding("UTF-8");
String name=req.getParameter("name");
String time=req.getParameter("time");
System.out.println(name+time);
dao.delete(name,time); } private void update(HttpServletRequest req, HttpServletResponse resp) throws Exception { req.setCharacterEncoding("UTF-8");
String name=req.getParameter("name");
String money=req.getParameter("cost");
String place=req.getParameter("place");
String shijian=req.getParameter("time");
/*System.out.println(name);
System.out.println(money);
System.out.println(place);
System.out.println(shijian);*/
dao.update(name,money,place,shijian); //req.getRequestDispatcher("updatenote.jsp").forward(req, resp);
} private void show(HttpServletRequest req, HttpServletResponse resp) throws Exception {
req.setCharacterEncoding("UTF-8");
List<info> list =dao.show();
req.setAttribute("list", list);
req.getRequestDispatcher("shownote.jsp").forward(req, resp); } private void add(HttpServletRequest req, HttpServletResponse resp) throws Exception {
req.setCharacterEncoding("UTF-8"); String name=req.getParameter("name");
String money=req.getParameter("cost");
String place=req.getParameter("place");
String shijian=req.getParameter("time");
/*System.out.println(name);
System.out.println(money);
System.out.println(place);
System.out.println(shijian);*/
dao.add(name,money,place,shijian);
req.getRequestDispatcher("addnote.jsp").forward(req, resp);
} }

index.jsp

 <%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>账本管理</title> <style type="text/css"> .headframe{
width:100%;
height:130px;
border:0;
} .leftframe{
float:left;
width:250px;
height:600px;
border:0;
} .mainframe{
float:right;
width:1200px;
height:600px;
border:0;
} </style> <script type="text/javascript"> </script> </head>
<body onload="onload()">
</body> <iframe src="head.jsp" class="headframe" scrolling="no"></iframe>
<iframe src="MenuLeft.jsp" class="leftframe" scrolling="no"></iframe>
<iframe src="main.jsp" name="mainAction" class="mainframe"></iframe> </html>

show.jsp

 <%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>账单浏览</title>
</head> <body onload="onload()">
<div align="left">
<h1>账单浏览:</h1> <form action="MainServlet?method=show" method="post" >
<table border="1">
<tr>
<td>消费名称</td>
<td>消费金额</td>
<td>消费地点</td>
<td>消费时间</td>
<td align="center" colspan="1">操作</td>
</tr>
<c:forEach items="${list}" var="item">
<tr>
<td>${item.name}</td>
<td><a href="updatenote.jsp?name=${item.name}&money=${item.cost}&place=${item.place}&time=${item.time}">${item.cost}</a></td>
<td>${item.place}</td>
<td>${item.time}</td>
<td><a href="MainServlet?method=delete&name=${item.name }&time=${item.time}">删除账单</a></td>
</tr>
</c:forEach>
</table>
</form>
</div> </body>
</html>

2.15 使用web 编写一个简单记事本的更多相关文章

  1. 使用Java编写一个简单的Web的监控系统cpu利用率,cpu温度,总内存大小

    原文:http://www.jb51.net/article/75002.htm 这篇文章主要介绍了使用Java编写一个简单的Web的监控系统的例子,并且将重要信息转为XML通过网页前端显示,非常之实 ...

  2. 编写一个简单的Web Server

    编写一个简单的Web Server其实是轻而易举的.如果我们只是想托管一些HTML页面,我们可以这么实现: 在VS2013中创建一个C# 控制台程序 编写一个字符串扩展方法类,主要用于在URL中截取文 ...

  3. 用Python编写一个简单的Http Server

    用Python编写一个简单的Http Server Python内置了支持HTTP协议的模块,我们可以用来开发单机版功能较少的Web服务器.Python支持该功能的实现模块是BaseFTTPServe ...

  4. javascript编写一个简单的编译器(理解抽象语法树AST)

    javascript编写一个简单的编译器(理解抽象语法树AST) 编译器 是一种接收一段代码,然后把它转成一些其他一种机制.我们现在来做一个在一张纸上画出一条线,那么我们画出一条线需要定义的条件如下: ...

  5. 用 Go 编写一个简单的 WebSocket 推送服务

    用 Go 编写一个简单的 WebSocket 推送服务 本文中代码可以在 github.com/alfred-zhong/wserver 获取. 背景 最近拿到需求要在网页上展示报警信息.以往报警信息 ...

  6. 手把手教你编写一个简单的PHP模块形态的后门

    看到Freebuf 小编发表的用这个隐藏于PHP模块中的rootkit,就能持久接管服务器文章,很感兴趣,苦无作者没留下PoC,自己研究一番,有了此文 0×00. 引言 PHP是一个非常流行的web ...

  7. 用 C 语言编写一个简单的垃圾回收器

    人们似乎觉得编写垃圾回收机制是非常难的,是一种仅仅有少数智者和Hans Boehm(et al)才干理解的高深魔法.我觉得编写垃圾回收最难的地方就是内存分配,这和阅读K&R所写的malloc例 ...

  8. 如何编写一个简单的Linux驱动(二)——设备操作集file_operations

    前期知识 如何编写一个简单的Linux驱动(一)--驱动的基本框架 前言 在上一篇文章中,我们学习了驱动的基本框架.这一章,我们会在上一章代码的基础上,继续对驱动的框架进行完善.要下载上一篇文章的全部 ...

  9. 编写一个简单的C++程序

    编写一个简单的C++程序 每个C++程序都包含一个或多个函数(function),其中一个必须命名为main.操作系统通过调用main来运行C++程序.下面是一个非常简单的main函数,它什么也不干, ...

随机推荐

  1. mysql 获取刚插入行id汇总

    mysql 获取刚插入行id汇总 我们在写数据库程序的时候,经常会需要获取某个表中的最大序号数, 一般情况下获取刚插入的数据的id,使用select max(id) from table 是可以的.但 ...

  2. 编写跨平台Java程序注意事项

    使用Java语言编写应用程序最大的优点在于“一次编译,处处运行”,然而这并不是说所有的Java程序都具有跨平台的特性,事实上,相当一部分的Java程序是不能在别的操作系统上正确运行的,那么如何才能编写 ...

  3. ROS学习笔记6-理解主题

    本文来源于:http://wiki.ros.org/ROS/Tutorials/UnderstandingTopics ROS主题假设turtlesim节点已经运行,打开一个新终端,使用如下命令运行键 ...

  4. Python 多进程 multiprocessing.Pool类详解

    Python 多进程 multiprocessing.Pool类详解 https://blog.csdn.net/SeeTheWorld518/article/details/49639651

  5. 40和为S的两个数字

    题目描述 输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的. 输出描述: 对应每个测试案例,输出两个数,小的先输出. 思路 ...

  6. Day9 - J - 吉哥系列故事——恨7不成妻 HDU - 4507

    单身! 依然单身! 吉哥依然单身! DS级码农吉哥依然单身! 所以,他生平最恨情人节,不管是214还是77,他都讨厌! 吉哥观察了214和77这两个数,发现: 2+1+4=7 7+7=7*2 77=7 ...

  7. Git安装及基本配置

    一.在Linux上安装 1.Linux系统安装 使用Linux发布版包含的基础软件包管理工具可以很容易安装Git.例如,在Ubuntu系统上可使用以下指令安装Git: $ sudo apt-get i ...

  8. javaBean、EJB、POJO

    1.JavaBean 最初是由 Sun 公司提出的一种规范,主要包含以下要求: ----类是 public 的,并且有一个无参数的构造函数 ----属性修饰符为:private,并通过 get 和 s ...

  9. Arch系统软件列表

    1. 安装统计 2. 安装列表 3. 安装说明 4. 作为依赖项的安装列表 5. 更正 mangaro使用减的方式安装系统.开箱即用的豪华版本,大部分人需要的都有了,同样包括个别用户不需要的,配置方面 ...

  10. crashpad 应用程序异常解决方案

    衡量某个应用程序的稳定性的一个重要指标即它自身的崩溃率的统计,但是如何判断应用程序崩溃,且上报崩溃产生的dmp文件进行分析? google提供了一套开源的系统 Crashpad,详细了解参见 http ...