Javaweb上机考试测试_5.26

上机考试测试项目

一、设计数据库

在这里插入图片描述

在这里插入图片描述

二、domain包装类

package cn.edu.xit.domain;

public class User {
	private int id;
	private String username;
	private String password;
	private String jobs;
	private String phone;
	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 getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public String getJobs() {
		return jobs;
	}
	public void setJobs(String jobs) {
		this.jobs = jobs;
	}
	public String getPhone() {
		return phone;
	}
	public void setPhone(String phone) {
		this.phone = phone;
	}
	
}

三、Dao层

package cn.edu.xit.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;

import com.mchange.v2.c3p0.cfg.C3P0ConfigUtils;
import com.sun.org.apache.bcel.internal.generic.NEW;

import cn.edu.xit.domain.User;
import cn.edu.xit.util.C3p0Utils;

public class UserDao {
	//根据username和password查找user表
	public User findUserByUsernameandPwd(String username,String password) throws SQLException{
		QueryRunner queryRunner = new QueryRunner(C3p0Utils.getDataSource());
		String sql = "select * from user where username = ? and password = ?";
		User user = queryRunner.query(sql,new BeanHandler<User>(User.class),username,password);
		return user;
	
	} 	
	
     public List<User> findUser() throws SQLException{
    	 QueryRunner queryRunner = new QueryRunner(C3p0Utils.getDataSource());
    	 String sql = "select * from user";
    	 List<User> user = queryRunner.query(sql,new BeanListHandler<User>(User.class));
    	 return user;
     }
   //根据id查询 user表数据
     public User findUserById(int id) throws SQLException{
    	 QueryRunner queryRunner = new QueryRunner(C3p0Utils.getDataSource());
    	 String sql = "select from user where id = ?";
    	 User user = queryRunner.query(sql,new BeanHandler<User>(User.class),id);
    	 return user;
     }


   //根据username使用模糊查询 user表数据
    public List<User> findUserByUsername(String  username) throws SQLException{
    	QueryRunner queryRunner = new QueryRunner(C3p0Utils.getDataSource());
    	List<Object> list = new ArrayList<Object>();
    	String sql = "select * from user where "; // 要多个空格,否则是whereusername
    	if(username!=null && username.trim().length()>0){
    		sql = sql + "username like ?";
    		list.add(username);
    	}
    	Object[] params = list.toArray();
    	List<User> user1 = queryRunner.query(sql,new BeanListHandler<User>(User.class),params);
    	return user1;
    }

  //按照id删除 user表
    public int deleteUserById(int id) throws SQLException{
    	QueryRunner queryRunner = new QueryRunner(C3p0Utils.getDataSource());
   	    String sql = "select from user where id = ?";
   	    int count = queryRunner.update(sql,id);
   	    return count;
	
	
    }

  //增加数据到user表
   public int addUser(User user) throws SQLException{
	   String sql = "insert into user(id,username,password,jobs,phone) values (?,?,?,?,?)";
	   QueryRunner queryRunner = new QueryRunner(C3p0Utils.getDataSource());
	   int row = queryRunner.update(sql,user.getId(),user.getUsername(),user.getPassword(),user.getJobs(),user.getPhone());
	   return row;
     }

 //修改user数据
   public int updateUser(User user) throws SQLException{
	   String sql = "update user set id = ?,username = ?,password = ?,jobs = ?,phone = ?";
	   QueryRunner queryRunner = new QueryRunner(C3p0Utils.getDataSource());
	   int row = queryRunner.update(sql,user.getId(),user.getUsername(),user.getPassword(),user.getJobs(),user.getPassword());
	   return row;
     
  }


}
     

四、service层

package cn.edu.xit.service;

import java.sql.SQLException;
import java.util.List;

import org.apache.commons.dbutils.QueryRunner;

import cn.edu.xit.dao.UserDao;
import cn.edu.xit.domain.User;
import cn.edu.xit.util.C3p0Utils;

public class UserService {
	private UserDao userDao=new UserDao();

	public User login(String username,String password) throws SQLException {
		return userDao.findUserByUsernameandPwd(username, password);
      }
	public List<User> findAll() throws SQLException{
		
		
		return userDao.findUser();
		
	}
	
	public int deleteUserById(int id) throws SQLException{
	
		return userDao.deleteUserById(id);
        }
	public List<User> findUserByUsername(String  username) throws SQLException{

	       return userDao.findUserByUsername( username);
        }
}

五、servlet层

package cn.edu.xit.servlet;

import java.io.IOException;
import java.sql.SQLException;

import javax.security.auth.login.LoginException;
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 cn.edu.xit.dao.UserDao;
import cn.edu.xit.domain.User;
import cn.edu.xit.service.UserService;

/**
 * 用户登录servlet编写
 */
@WebServlet("/LoginServlet")
public class LoginServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public LoginServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		
		

		request.setCharacterEncoding("utf-8");
		UserService userService = new UserService();
		String username = request.getParameter("username");
		String password = request.getParameter("password");
		try{
			User user = userService.login(username, password);
			if(user!=null){
				response.sendRedirect("FindUserServlet");
			}else{
				response.sendRedirect("login.jsp");
			}
		}catch(SQLException e){
			e.printStackTrace();
		}
	} 

		

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request,response);
	}

}

package cn.edu.xit.servlet;

import java.io.IOException;
import java.sql.SQLException;
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 cn.edu.xit.domain.User;
import cn.edu.xit.service.UserService;

/**
 * 显示用户的所有信息 
 */
@WebServlet("/FindUserServlet")
public class FindUserServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public FindUserServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		UserService userService = new UserService();
		try{
			List<User> user = userService.findAll();
			if(user!=null){
				request.getSession().setAttribute("user", user);
				response.sendRedirect("list.jsp");
			}
		}catch(SQLException e){
			e.printStackTrace();
		}

	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request,response);
	}

}

package cn.edu.xit.servlet;

import java.io.IOException;
import java.sql.SQLException;
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 cn.edu.xit.domain.User;
import cn.edu.xit.service.UserService;

/**
 * Servlet implementation class FindUserByUsername
 */
@WebServlet("/FindUserByUsername")
public class FindUserByUsername extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public FindUserByUsername() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
			
		request.setCharacterEncoding("utf-8");
		UserService userService = new UserService();
		String username = request.getParameter("username");
		try{
			List<User> user = userService.findUserByUsername(username);
			if(user!=null){
				request.getSession().setAttribute("username", username);
				request.getSession().setAttribute("user", user);
				response.sendRedirect("list.jsp");
			}
		}catch(SQLException e){
			e.printStackTrace();
		}
			
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request,response);
	}

}

package cn.edu.xit.servlet;

import java.io.IOException;
import java.sql.SQLException;

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 cn.edu.xit.dao.UserDao;

import cn.edu.xit.service.UserService;

/**
 *删除用户servlet编写
 */
@WebServlet("/DeleteServlet")
public class DeleteServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public DeleteServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		
		request.setCharacterEncoding("utf-8");
		UserService userService = new UserService();
		int id = Integer.parseInt(request.getParameter("id"));
		try{
			int count = userService.deleteUserById(id);
			if(count!=0){
				response.sendRedirect("FindUserServlet");
			}
		}catch(SQLException e){
			e.printStackTrace();
		}
	

       }

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request,response);
	}

}

六、前端页面

① login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<link rel="stylesheet" type="text/css" href="css/bootstrap.css">	
</head>
<body>

<div class = "container">
	<div class = "row">
		<div class = "col-md-6 offset-md-3">
			   <form action="LoginServlet" method="post">
				  <div class="form-group">
				    <label for="formGroupExampleInput">用户名</label>
				    <input type="text" class="form-control" id="formGroupExampleInput" name="username" placeholder="请输入用户的姓名 ">
				  </div>
				  <div class="form-group">
				    <label for="formGroupExampleInput2">密码</label>
				    <input type="text" class="form-control" id="formGroupExampleInput2" name="password" placeholder="请输入密码">
				  </div>
				    <div class="form-group row">
					    <div class="col-md-10">
					      <button type="submit" class="btn btn-primary">登录</button>
					      <button type="reset" class="btn btn-primary">重置</button>
					    </div>
  					</div>
				</form>
		</div>
	</div>
</div>

<!--  <center>

<h1>用户登录</h1>
<form action="LoginServlet" method="post" >
username:<input type="text" name="username"><br/><br/>
password:<input type="password" name="password"><br/><br/>
<input type="submit" value="login">
</form>
</center>  -->
</body>
</html>

②list.jsp

<%@page import="java.util.List"%>
<%@page import="cn.edu.xit.domain.User"%>
<%@ 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 PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- 显示用户的所有信息页面  -->
<form action="FindUserByUsername" method="post">
<label>名称:</label><input type="text" name="username" value="${username}">
<input type="submit" value="查询"><br/><br/><br/><br/>
</form>
<table border="1px">
<tr>
<td>编号</td>
<td>名称</td>
<td>职业</td>
<td>电话</td>			
<td>操作</td>
</tr>
<c:forEach items="${user}" var="user1" >
<tr>
<td>${user1.id}</td>
<td>${user1.username}</td>
<td>${user1.jobs}</td>
<td>${user1.phone}</td>			
<td><a href="DeleteServlet?id=${user1.id}" onclick="return confirm('确认删除')">删除</a>
<a href="UpdateServlet?id=${user1.id}">修改</a>
</td>
</tr>
</c:forEach>
</table>
<a href="InsertServlet">增加</a>

</body>
</html>

七、C3p0连接池配置

package cn.edu.xit.util;
import javax.sql.DataSource;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class C3p0Utils {
	private static DataSource ds;
	static {
		ds = new ComboPooledDataSource();
	}
	public static DataSource getDataSource() {
		return ds;
	}
}

② c3p0-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
	<default-config>
		<property name="driverClass">com.mysql.jdbc.Driver</property>
		<property name="jdbcUrl">
     		jdbc:mysql://127.0.0.1/student
     	</property>
		<property name="user">root</property>
		<property name="password">swj93980</property>
		<property name="checkoutTimeout">30000</property>
		<property name="initialPoolSize">10</property>
		<property name="maxIdleTime">30</property>
		<property name="maxPoolSize">100</property>
		<property name="minPoolSize">10</property>
		<property name="maxStatements">200</property>
	</default-config> 
</c3p0-config>

PS:用户名和密码以及jdbcURL地址需要跟你们自己的数据库对应


项目跑通结果:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

工程项目整体图:
在这里插入图片描述


附上jar包资源:
链接: https://pan.baidu.com/s/1WfCsLgHatGYac-2jn_4Xiw
提取码: g8v1

jar包都放在WEB-INF的lib文件夹中

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BeJav

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值