JavaScript/Jsp 实现对数据库的增删改查和简单的下载上传文件
2016-10-21 20:11
796 查看
完成目标:在页面显示数据库的信息,并且完成对数据库的增删改查,并且增加分页功能。在页面实现图片或文本的下载。
1.增删改查操作
User实体类代码:
UserServlet代码:
主界面代码:
效果:点击edit可以对数据库信息进行修改,点击save同步到数据库中。点击删除可以对选中行进行删除。
数据库数据:
页面效果:
2.图片或者文本的上传
提交界面代码:
3.下载已上传的图片
显示图片界面代码:
<%@page import="com.jspsmart.upload.SmartUpload"%>
<%@ page language="java" import="java.util.*"
pageEncoding="utf-8" contentType="text/html;charset:utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
request.setCharacterEncoding("utf-8");
String fileName=request.getParameter("fileName");
if(fileName!=null){
fileName=fileName.replaceAll(basePath, "");
SmartUpload su=new SmartUpload();
su.initialize(pageContext);
su.downloadFile(fileName);
}
%>
<html>
<head>
<base href="<%=basePath%>">
<title>下载界面</title>
<meta charset="utf-8">
<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">
<script type="text/javascript">
function d1(obj){
alert(obj.src);
window.location.href="upload/download.jsp?fileName="+obj.src;
}
</script>
</head>
<body>
<form action="" name="baseform">
<img alt="" src="upload/a.png" onclick="d1(this)" name="img1">
<img alt="" src="upload/b.png">
</form>
</body>
</html>
效果:显示已经上传的图片,点击图片就弹出下载提示框。
[b]
[/b]
[b]
[/b]
1.增删改查操作
User实体类代码:
package com.jredu.web.entity; public class User { private int id; private String userName; private String pwd; private String displayName; public User() { }; public User(int id, String userName, String pwd, String displayName) { super(); this.id = id; this.userName = userName; this.pwd = pwd; this.displayName = displayName; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPwd() { return pwd; } public void setPwd(String pwd) { this.pwd = pwd; } public String getDisplayName() { return displayName; } public void setDisplayName(String displayName) { this.displayName = displayName; } }UserDao代码:
package com.jredu.web.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.jredu.web.db.DBConnection; import com.jredu.web.entity.User; import java.sql.*; public class UserDao { public List<User> selectAll() { Connection con = DBConnection.getConnection(); Statement stmt; List<User> list = new ArrayList<User>(); try { stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM users"); while(rs.next()) { User user = new User(); user.setId(rs.getInt("id")); user.setUserName(rs.getString("user_name")); user.setPwd(rs.getString("pwd")); user.setDisplayName(rs.getString("display_name")); list.add(user); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { DBConnection.closeConnection(); } return list; } public List<User> selectPage(int from,int rows) { Connection con = DBConnection.getConnection(); Statement stmt; List<User> list = new ArrayList<User>(); try { stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM users LIMIT "+from+","+rows); while(rs.next()) { User user = new User(); user.setId(rs.getInt("id")); user.setUserName(rs.getString("user_name")); user.setPwd(rs.getString("pwd")); user.setDisplayName(rs.getString("display_name")); list.add(user); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { DBConnection.closeConnection(); } return list; } // " where user_name = '' and pwd = '' " public User selectWhere(String whereOption) { Connection con = DBConnection.getConnection(); Statement stmt; User user = null; try { stmt = con.createStatement(); String sql = "SELECT * FROM users "; if(!whereOption.equals("")) { sql += whereOption; } ResultSet rs = stmt.executeQuery(sql); if(rs.next()) { user = new User(); user.setUserName(rs.getString("user_name")); user.setPwd(rs.getString("pwd")); user.setDisplayName(rs.getString("display_name")); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { DBConnection.closeConnection(); } return user; } public int selectCount() { Connection con = DBConnection.getConnection(); Statement stmt; int count = 0; try { stmt = con.createStatement(); String sql = "SELECT count(1) as count FROM users "; ResultSet rs = stmt.executeQuery(sql); if(rs.next()) { count = rs.getInt("count"); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { DBConnection.closeConnection(); } return count; } public int insert(User user){ Connection con = DBConnection.getConnection(); PreparedStatement pstmt = null; int count =0; String sql = " insert into users(user_name,pwd,display_name) values(?,?,?)"; try { pstmt =con.prepareStatement(sql); pstmt.setString(1, user.getUserName()); pstmt.setString(2, user.getPwd()); pstmt.setString(3, user.getDisplayName()); count = pstmt.executeUpdate(); /*if(count==0){ throw new DataAlreadyExistException(); }*/ } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ try { pstmt.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } DBConnection.closeConnection(); } return count; } public int update(User user) { Connection con = DBConnection.getConnection(); PreparedStatement pstmt = null; String sql = " update users " + " set user_name = ? ," + " pwd = ? ," + " display_name = ? " + " where id = ? "; int affCount = 0; try { pstmt = con.prepareStatement(sql); pstmt.setString(1, user.getUserName()); pstmt.setString(2, user.getPwd()); pstmt.setString(3, user.getDisplayName()); pstmt.setInt(4, user.getId()); affCount = pstmt.executeUpdate(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { try { pstmt.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } DBConnection.closeConnection(); } return affCount; } public int delete(int id) { Connection con = DBConnection.getConnection(); PreparedStatement pstmt = null; String sql = " delete from users where id = ? "; int affCount = 0; try { pstmt = con.prepareStatement(sql); pstmt.setInt(1, id); affCount = pstmt.executeUpdate(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { try { pstmt.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } DBConnection.closeConnection(); } return affCount; } }
UserServlet代码:
package com.jredu.web.servlet; import java.io.IOException; import java.io.PrintWriter; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import net.sf.json.JSONObject; import com.jredu.web.dao.UserDao; import com.jredu.web.entity.User; public class UserServlet extends HttpServlet { public UserServlet() { super(); } public void destroy() { super.destroy(); // Just puts "destroy" string in log // Put your code here } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); String action = request.getParameter("action"); if(null==action||action.equals("select")) { select(request, response); }else if(action.equals("update")) { update(request,response); }else if(action.equals("add")) { add(request, response); }else if(action.equals("delete")) { delete(request,response); } } //删除 public void delete(HttpServletRequest request, HttpServletResponse response) throws IOException { String ids[] = request.getParameterValues("uid[]"); UserDao userDao = new UserDao(); int affCount=0; for(int i=0;i<ids.length;i++) { affCount += userDao.delete(Integer.parseInt(ids[i])); } PrintWriter out =response.getWriter(); out.print(affCount); } //修改 public void update(HttpServletRequest request, HttpServletResponse response) throws IOException { String id = request.getParameter("id"); String userName = request.getParameter("userName"); String pwd = request.getParameter("pwd"); String displayName = request.getParameter("displayName"); User user = new User(); user.setId(Integer.parseInt(id)); user.setUserName(userName); user.setPwd(pwd); user.setDisplayName(displayName); UserDao userDao = new UserDao(); int affCount = userDao.update(user); PrintWriter out = response.getWriter(); out.print(affCount); } //查询 public void select(HttpServletRequest request, HttpServletResponse response) throws IOException { String page = request.getParameter("page"); String row = request.getParameter("rows"); int rows = Integer.parseInt(row); int from = (Integer.parseInt(page)-1) * rows; UserDao userDao = new UserDao(); List<User> list = userDao.selectPage(from, rows); HashMap<String,Object> map = new HashMap<String,Object>(); map.put("total",userDao.selectCount()); map.put("rows",list); PrintWriter out = response.getWriter(); JSONObject jo = JSONObject.fromObject(map); System.out.println(jo.toS d775 tring()); out.print(jo.toString()); } //添加 public void add(HttpServletRequest request, HttpServletResponse response) throws IOException{ String userName = request.getParameter("userName"); String pwd = request.getParameter("pwd"); String displayName = request.getParameter("displayName"); User user =new User(); user.setUserName(userName); user.setPwd(pwd); user.setDisplayName(displayName); UserDao userDao = new UserDao(); int affCount=userDao.insert(user); PrintWriter out = response.getWriter(); out.print(affCount); } public void init() throws ServletException { // Put your code here } }
主界面代码:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %> <html> <head> <base href="<%=basePath%>"> <title>main界面</title> <meta charset="utf-8"> <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" href="javascript/easyui.css"></link> <link rel="stylesheet" href="javascript/icon.css"></link> <script type="text/javascript" src="javascript/jquery-1.4.2.min.js"></script> <script type="text/javascript" src="javascript/jquery.easyui.min.js"></script> <script type="text/javascript"> var addFlag=0; $(function() { $('#dg') .datagrid( { title : '用户列表', method : 'GET', url : 'UserServlet?action=select', iconCls : 'icon-ok', fitColumns : true, pagination : true, striped : true, nowrap : true, rownumbers : true, collapsible : true,//是否可折叠的 pageSize : 1,//每页显示的记录条数,默认为10 pageList : [ 1,2,3,4,5,6,7,8,9,10 ],//可以设置每页记录条数的列表 toolbar : [ { text : '查询', iconCls : 'icon-edit', handler : function() { alert('编辑按钮'); } }, '-', { text : '修改', iconCls : 'icon-help', handler : function() { alert('帮助按钮'); } }, '-', { text : '添加', iconCls : 'icon-add', handler : function() { alert('添加按钮'); if(addFlag == "0"){ $('#dg').datagrid('insertRow',{ index : 0, row : {} }); var editIndex = 0; $('#dg').datagrid('selectRow', editIndex).datagrid( 'beginEdit', editIndex); addFlag = "1"; } } }, '-', { text : '删除', iconCls : 'icon-remove', handler : function() { $.messager.confirm("信息确认","确定删除吗?",function(ret){ if(ret){ var row =$("#dg").datagrid("getSelections"); if(row.length==0){ $.messager.alert("提示","请选择要删除的数据"); return; } var ids =[]; for(var i=0;i<row.length;i++){ ids.push(row[i].id); } $.post("UserServlet?action=delete",{uid:ids}, function(data){ if(data>0){ $('#dg').datagrid('reload'); alert("删除成功"); }else{ alert("删除失败"); } }); } }); } } ], columns : [ [ { field : 'id', hidden: true, }, { field : 'checkbox', checkbox : true, width : 100, align : 'center', }, { field : 'userName', title : '用户名', width : 100, editor : 'text', }, { field : 'pwd', title : '密码', width : 100, editor : 'text', }, { field : 'displayName', title : '级别', width : 100, editor : 'text', }, { field : 'option', title : '操作', width : 100, formatter : function(value, row, index) { if (row.editing) { var s = '<a href="javascript:void(0);" onclick="saverow(' + index + ')">save </a>' + '' +'<a href="javascript:void(0);" onclick="cancleE(' + index + ')">cancle </a>'; return s; } else { var e = '<a href="javascript:void(0);" onclick="editrow(' + index + ')">edit </a>'; return e; } } } ] ], onBeforeEdit : function(index, row) { row.editing = true; $("#dg").datagrid("refreshRow", index); }, onAfterEdit : function(index, row) { row.editing = false; $("#dg").datagrid("refreshRow", index); } }); }); function editrow(index){ var row = $("#dg").datagrid("getSelected"); if(row==null){ alert("请选择您要编辑的行"); return; } $("#dg").datagrid("beginEdit",index); } function saverow(index){ $("#dg").datagrid("endEdit",index); var row = $("#dg").datagrid("getSelected"); dbSave(row); } function dbSave(row){ var id = row.id; var name = row.userName; var pwd = row.pwd; var dName = row.displayName; if(addFlag=="1"){ $.post("UserServlet?action=add", {id:id,userName:name,pwd:pwd,displayName:dName}, function(data){ if(data == "1"){ alert("新增成功"); }else{ alert("新增失败"); } }); }else{ $.post("UserServlet?action=update", {id:id,userName:name,pwd:pwd,displayName:dName}, function(data){ if(data == "1"){ alert("修改成功"); }else{ alert("修改失败"); } }); } alert(row.userName+"-"+row.pwd+"-"+row.displayName); } function cancleEdit(index) { $("#dg").datagrid("rejectChanges"); addFlag="0"; } </script> </head> <body> <table class="easyui-datagrid" id="dg"> </table> </body> </html>
效果:点击edit可以对数据库信息进行修改,点击save同步到数据库中。点击删除可以对选中行进行删除。
数据库数据:
页面效果:
2.图片或者文本的上传
提交界面代码:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <html> <head> <base href="<%=basePath%>"> <title>upload选择文件界面</title> <meta charset="utf-8"> <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"> </head> <body> <form action="myload/upload.jsp" method="post" name = "baseform" enctype="multipart/form-data"> <input type="file" name="f1"><br> <input type="file" name="f2"><br> <input type="file" name="f3"><br> <input type="text" name="c1"><br> <input type = "submit" value = "上传文件" > </form> </body> </html>提交界面代码:
<%@page import="com.jspsmart.upload.Request"%> <%@page import="com.jspsmart.upload.SmartUpload"%> <%@page import="com.jspsmart.upload.File"%> <%@ page language="java" import="java.util.*" pageEncoding="utf-8" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; String c1=""; SmartUpload su = new SmartUpload(); su.initialize(pageContext); try{ //定义允许上传的文件类型 //su.setAllowedFilesList("gif,jpg,doc,png,txt"); //不允许上传的文件类型 //su.setDeniedFilesList("jsp,asp,php,aspx,html,htm,exe,bat"); //单个文件最大限制,单位kb //su.setMaxFileSize(20000); //所有上传文件的总量限制 //su.setMaxFileSize(500000); //执行上传 su.upload(); Request rq=su.getRequest(); c1=rq.getParameter("c1"); su.save("upload"); /* File file=su.getFiles().getFile(0); String filepath="upload\\"; filepath+=file.getFieldName(); file.saveAs(filepath,SmartUpload.SAVE_VIRTUAL); */ }catch(Exception e){ /* out.print(e.getMessage()); */ } %> <html> <head> <base href="<%=basePath%>"> <title>upload</title> <meta charset="utf-8"> <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"> </head> <body> 上传文件成功<br> <%=c1 %> </body> </html>效果展示:
3.下载已上传的图片
显示图片界面代码:
<%@page import="com.jspsmart.upload.SmartUpload"%>
<%@ page language="java" import="java.util.*"
pageEncoding="utf-8" contentType="text/html;charset:utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
request.setCharacterEncoding("utf-8");
String fileName=request.getParameter("fileName");
if(fileName!=null){
fileName=fileName.replaceAll(basePath, "");
SmartUpload su=new SmartUpload();
su.initialize(pageContext);
su.downloadFile(fileName);
}
%>
<html>
<head>
<base href="<%=basePath%>">
<title>下载界面</title>
<meta charset="utf-8">
<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">
<script type="text/javascript">
function d1(obj){
alert(obj.src);
window.location.href="upload/download.jsp?fileName="+obj.src;
}
</script>
</head>
<body>
<form action="" name="baseform">
<img alt="" src="upload/a.png" onclick="d1(this)" name="img1">
<img alt="" src="upload/b.png">
</form>
</body>
</html>
效果:显示已经上传的图片,点击图片就弹出下载提示框。
[b]
[/b]
[b]
[/b]
相关文章推荐
- 使用jsp/servlet简单实现文件上传与下载
- Python菜鸟成长记——简单实现用户登录和增删改查以及文件上传和下载
- 使用jsp/servlet简单实现文件上传与下载
- 用JspSmart组件实现文件上传和下载
- jspSmartUpload 实现文件上传下载
- ASP.NET文件下载简单实现(也可以通过直接读取数据库 大字段文件,如oracle 中的bolg,long raw 等大字段文件)
- Jsp/Servlet:实现文件上传与下载
- 项目开发技巧(四):使用JspSmartupload实现文件上传下载(二):jspSmartUpload上传下载全攻略(ZZ)
- jspsmart实现文件的上传与下载
- jsp上传文件到数据库和从数据库下载文件
- jspsmart实现文件上传下载及
- 项目开发技巧(四):使用JspSmartupload实现文件上传下载(三):jspsmartupload samples
- 用JspSmart组件实现文件上传和下载
- jspsmart实现文件上传下载
- jspsmart实现文件上传下载及jspSmartUpload.jar下载
- Jsp中实现文件上传与下载
- Jsp中实现文件上传与下载
- JSP实现文件的上传与下载
- jsp上传文件到数据库和从数据库下载文件
- jspSmartUploat实现文件的上传下载以及jar包下载