javaweb项目

1.dao包

(1)ProDao.java

package dao;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;

import entity.Pro;
import util.RowMapper;
import util.DBHelp;

public class ProDao {
	private DBHelp<Pro> db = new DBHelp<Pro>();
	
	public List<Pro> findAll(){
		String sql = "select id,proname,price from t_pro";
		return db.executeQueryForList(sql, new 	ProRowMapper());
	}
	public boolean save(String name,float price){
		String sql = "insert into t_pro (proname ,price) values(?,?)";
		return  db.executeSQL(sql,name,price);
	}
	public void delById(int id){
		String sql = "delete from t_pro where id =?";
		db.executeSQL(sql,id);
	}
	public Pro findById(int id){
		String sql = "select id,proname,price from t_pro where id=?" ;
		return db.executeQueryForObject(sql,new ProRowMapper(),id);
			
	}
	public boolean update(Pro p){
		String sql = "update t_pro set proname = ?,price = ? where id= ?";
		return db.executeSQL(sql,p.getProname(),p.getPrice(),p.getId());
	}
	
	

	private  class ProRowMapper implements RowMapper<Pro>{
		public Pro mapRow(ResultSet rs) throws SQLException {
			Pro p = new Pro();
			p.setId(rs.getInt("id"));
			p.setProname(rs.getString("proname"));
			p.setPrice(rs.getFloat("price"));
			return p;
		}

	}

}

(2)UserDao.java

package dao;
import java.sql.ResultSet;
import java.sql.SQLException;

import entity.User;
import util.RowMapper;
import util.DBHelp;

public class UserDao {
private DBHelp<User> db = new DBHelp<User>();

	public User findByName(String name){
		String sql = "select id,username,password from t_user where username=?" ;
		return db.executeQueryForObject(sql,new UserRowMapper(),name);	
	}

	private  class UserRowMapper implements RowMapper<User>{
		public User mapRow(ResultSet rs) throws SQLException {
			User u = new User();
			u.setId(rs.getInt("id"));
			u.setUsername(rs.getString("username"));
			u.setPassword(rs.getString("password"));
			return u;
		}

	}

}

2.entity包

(1)Pro.java

package entity;
public class Pro {
private int id;
private String proname;
private float price;
public void setId(int id) {
this.id = id;
}
public int getId() {
return id;
}
public void setProname(String proname) {
this.proname = proname;
}
public String getProname() {
return proname;
}
public void setPrice(float price) {
this.price = price;
}
public float getPrice() {
return price;
}

}

(2) User.java

package entity;
public class User {

private int id;
private String username;
private String password;
public void setId(int id) {
	this.id = id;
}
public int getId() {
	return id;
}
public void setPassword(String password) {
	this.password = password;
}
public String getPassword() {
	return password;
}
public void setUsername(String username) {
	this.username = username;
}
public String getUsername() {
	return username;
}

}

3.util包

(1) DBHelp.java

package util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

public class DBHelp {

private final String DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
private final String URL = "jdbc:sqlserver://localhost:1433;DatabaseName=ShangPin";
private final String NAME = "sa";
private final String PWD = "123456";

/**
 * 获取数据库连接对象
 * @return Connection类的对象
 */
public Connection getConnection() {
	Connection conn =null;
	try {
		Class.forName(DRIVER);
		conn = DriverManager.getConnection(URL,NAME,PWD);
	} catch (ClassNotFoundException e) {
		e.printStackTrace();
	} catch (SQLException e) {
		e.printStackTrace();
	}
	return conn;
}


public List<T> executeQueryForList(String sql,RowMapper<T> rm,Object...args) {
	Connection conn = null;
	PreparedStatement stat = null;
	ResultSet rs = null;
	List<T> list = new ArrayList<T>();
	
	try {
		conn = getConnection();
		
		stat = conn.prepareStatement(sql);
		
		for (int i = 0; i < args.length; i++) {
			stat.setObject(i+1, args[i]);
		}
		
		
		rs = stat.executeQuery();
		while(rs.next()) {
			T obj = rm.mapRow(rs);
			list.add(obj);
		}
	} catch (Exception e) {
		e.printStackTrace();
	} finally {
		close(rs, stat, conn);
	}
	return list;
}


public T executeQueryForObject(String sql,RowMapper<T> rm,Object...args) {
	Connection conn = null;
	PreparedStatement stat = null;
	ResultSet rs = null;
	T obj = null;
	
	try {
		conn = getConnection();
		
		stat = conn.prepareStatement(sql);
		
		for (int i = 0; i < args.length; i++) {
			stat.setObject(i+1, args[i]);
		}
		
		
		rs = stat.executeQuery();
		if(rs.next()) {
			obj = rm.mapRow(rs);
		}
	} catch (Exception e) {
		e.printStackTrace();
	} finally {
		close(rs, stat, conn);
	}
	return obj;
}



/**
 * 执行insert update delete语句
 * @param sql insert or update or delte语句
 * @return true代表成功 false代表失败
 */
public boolean executeSQL(String sql,Object... args) {
	Connection conn = null;
	PreparedStatement stat = null;
	
	try {
		Class.forName(DRIVER);
		conn = DriverManager.getConnection(URL,NAME,PWD);
		
		
		stat = conn.prepareStatement(sql);
		//?
		for (int i = 0; i < args.length; i++) {
			stat.setObject(i + 1, args[i]);
		}
		
		int rows = stat.executeUpdate();
		if(rows > 0) {
			return true;
		}
	} catch (Exception e) {
		e.printStackTrace();
	} finally {
		close(stat,conn);
	}
	
	return false;
}

/**
 * 释放数据库资源
 * @param rs
 * @param stat
 * @param conn
 */
public void close(ResultSet rs, Statement stat, Connection conn) {
	
	try {
		if(rs != null) {
			rs.close();
		}
	} catch (SQLException e) {
		e.printStackTrace();
	} finally {
		try {
			if(stat != null) {
				stat.close();
			}
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			try {
				if(conn != null) {
					conn.close();
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
}

/**
 * 释放数据库资源
 * @param stat
 * @param conn
 */
public void close(Statement stat,Connection conn) {
	close(null,stat,conn);
}

}

(2)RowMapper.java

package util;

import java.sql.ResultSet;
import java.sql.SQLException;

public interface RowMapper {

public T mapRow(ResultSet rs) throws SQLException;

}

1.add.jsp

<%@ page language=“java” import=“java.util.*” pageEncoding=“utf-8”%>

<html>
<head>

\<title>My JSP 'add.jsp' starting page</title>

</head>
<%@include file=“top.jsp” %>
<body>
<%
String code = request.getParameter(“code”);
if(code != null && “1”.equals(code)){
%>
<h3 style=“color:reed”>请填写完整</h3>
<%
} else if(“2”.equals(code)){
%>
<h3 style=“color:red”>商品价格请输入数字</h3>
<%
}
%>
<h2>添加新商品</h2><br>
<form action=“save.jsp” method=“post”>
商品名称:<input type=“text” name=“proname”><br/>
商品价格:<input type=“text” name=“price”><br/>
<input type=“submit” value=“添加”>
<input type=“reset” value=“取消”>
</form>
</body>
</html>

2. del.jsp

<%@ page language=“java” import=“java.util." pageEncoding=“utf-8”%>
<%@ page import="dao.
” %>
<%
String id = request.getParameter(“id”);
ProDao dao = new ProDao();
dao.delById(Integer.valueOf(id));
response.sendRedirect(“home.jsp”);

%>

3.edit.jsp

<%@ page language=“java” import=“java.util." pageEncoding=“utf-8”%>
<%@ page import="entity.
” %>

My JSP 'edit.jsp' starting page <%@include file="top.jsp" %> <% String code = request.getParameter("code"); if(code != null && "1".equals(code)){

%>
<h3 style=“color:red”>请填写完整</h3>

<%} else if(“2”.equals(code)) {%>
<h3 style=“color:red”>商品价格请输入数字</h3>
<%}%>

<%
Pro p = (Pro)request.getAttribute(“pro”);
%>
<h2>修改商品</h2><br/>
<form action=“new.jsp” method=“post”>
<input type=“hidden” name=“id” value="<%= p.getId() %>">

商品名称:<input type=“text” name=“proname” value="<%= p.getProname() %>"><br/>
商品价格:<input type=“text” name=“price” value="<%= p.getPrice() %>"><br/>
<input type=“submit” value=“修改”>
</form>
</body>
</html>

4.exit.jsp

<%@ page language=“java” import=“java.util.*” pageEncoding=“utf-8”%>
<%
session.invalidate();
response.sendRedirect(“index.jsp”);
%>

5.home.jsp

<%@ page language=“java” import=“java.util.*” pageEncoding=“UTF-8”%>

<%@ page import=“entity." %>
<%@ page import="dao.
” %>
<%@ page import=“java.util.List”%>

<%
	User user = (User)session.getAttribute("user");
	if(user != null){
		ProDao prodao = new ProDao();
		List<Pro> list = prodao.findAll();
		request.setAttribute("proList",list);
		request.getRequestDispatcher("main.jsp").forward(request,response);
		return;
	}else{
		response.sendRedirect("index.jsp?code = 10003");
		return;
	}
%>

6.index.jsp

<%@ page language=“java” import=“java.util.*” pageEncoding=“UTF-8”%>
<%@include file=“top.jsp” %>
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”>
<html>
<body>
<%
String code = request.getParameter(“code”);
if(code != null && “1000000”.equals(code)){
%>
<h3 style=“color:red”>用户名或密码错误!</h3>

<%
}
%>
<form action=“login.jsp” method=“post”>

用户名:<input type="text" name="username" ><br/>
密 码:<input type="password" name="password" ><br/>   
<input type="submit" name="ok">
<input type="reset" name="cancel">
   
</form>

</body>
</html>

7. login.jsp

<%@ page language=“java” pageEncoding=“UTF-8”%>
<%@ page import=“entity.User” %>
<%@ page import=“entity.Pro” %>
<%@ page import=“dao.UserDao” %>
<%@ page import=“dao.ProDao” %>
<%@ page import=“java.util.List” %>

<%

request.setCharacterEncoding("UTF-8");

String name = request.getParameter("username");
String pwd = request.getParameter("password");

if(name == null || "".equals(name) || pwd == null || "".equals(pwd)){
	response.sendRedirect("index.jsp?code = 10002");
	return;
}

UserDao dao = new UserDao();
User user = dao.findByName(name);

if(user != null && user.getPassword().equals(pwd)){
	session.setAttribute("user",user);
	response.sendRedirect("home.jsp");
	return;
}else{
	response.sendRedirect("index.jsp?code = 10001");
	
}
%>

8.main.jsp

<%@ page language=“java” import=“java.util." pageEncoding=“utf-8”%>
<%@ page import=“java.util.List” %>
<%@ page import="entity.
” %>
<%@ page import=“dao.*” %>
<%@include file=“top.jsp” %>

<html>
<head>
<%
List list = (List)request.getAttribute(“proList”);
%>
</head>

<body>
<a href=“add.jsp”>添加新商品/
<table border = “1” width=“70%”>
<tr>
<th>商品</th>
<th>价格</th>
<th>操作</th>
</tr>
<%
for(Pro li:list){
%>
<tr>
<td><%= li.getProname() %></td>
<td><%= li.getPrice() %></td>
<td>
<a href=“update.jsp?id=<%= li.getId() %>”>修改</a>
<a href=“del.jsp?id=<%= li.getId() %>”>删除</a>
</td>

	</tr>
	<%} %>

</table>
</body>
</html>

9.new.jsp

<%@ page language=“java” import=“java.util." pageEncoding=“utf-8”%>
<%@ page import="entity.
”%>
<%@ page import=“dao.*”%>
<%
request.setCharacterEncoding(“utf-8”);

	String id = request.getParameter("id");
	String proName = request.getParameter("proname");
	String price = request.getParameter("price");
	
	Pro p = new Pro();
	p.setId(Integer.valueOf(id));
	p.setPrice(Float.valueOf(price));
	p.setProname(proName);
	
	ProDao dao = new ProDao();
	if(dao.update(p)){
	response.sendRedirect("home.jsp");
	}

%>

10.save.jsp

<%@ page language=“java” import=“java.util." pageEncoding=“utf-8”%>
<%@ page import="dao.
” %>

<%
request.setCharacterEncoding(“utf-8”);

	String proName = request.getParameter("proname");
	String price = request.getParameter("price");
	
	if(proName == null || "".equals(proName) || price == null || "".equals(price)){
		response.sendRedirect("add.jsp ? code = 1");
		return;
	}
	try{
		float f = Float.valueOf(price);
		ProDao dao = new ProDao();
		if(dao.save(proName,f)){
			response.sendRedirect("home.jsp");
			return;
		}
	}catch(NumberFormatException e){
		response.sendRedirect("add.jsp ? code = 2");
		return;
	}

%>

11.top.jsp

<%@ page language=“java” import=“java.util.*” pageEncoding=“utf-8”%>
<h1 style=“color:blue;text-align: center” >超市商品库存系统</h1>
<br>
<div style=“float: right;”><a href=“exit.jsp”>安全退出</a></div>

12.update.jsp

<%@ page language=“java” import=“dao." pageEncoding=“utf-8”%>
<%@ page import="entity.
” %>
<%
String id = request.getParameter(“id”);
Pro p = new ProDao().findById(Integer.valueOf(id));
request.setAttribute(“pro”,p);
request.getRequestDispatcher(“edit.jsp”).forward(request,response);
%>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值