模拟信息管理系统
通过eclipse实现网页、数据库的连接,实现对数据库的增、删、改、查。
登陆页面:
登陆成功界面:
添加信息界面:
修改信息界面:
删除信息界面:
package com.lq.pro_user.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 com.lq.pro_user.domain.user;
import com.lq.pro_user.util.DBUlit;
//对数据库进行操作
public class userDAO {
private ResultSet rs;
private PreparedStatement pst;
private Connection conn;
public List<user> querrAll(){ //在数据库中取值,并返回。
List<user> ulist=new ArrayList<>(); //建立一个集合存放取出的值
try {
conn=DBUlit.opean(); //调用工具类中的opean()方法连接数据库。
pst=conn.prepareStatement("select * from tuser");//声明需要对数据库进行的
rs=pst.executeQuery(); //从数据库中取值。
while(rs.next()) {
user u=new user(); //调用user里面的set方法给u赋值
u.setAddress(rs.getString("address"));
u.setAge(rs.getInt("age"));
u.setID(rs.getInt("iD"));
u.setName(rs.getString("name"));
ulist.add(u); //将从数据库取到的值放入ulist中。
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
DBUlit.close(rs, pst, conn); //调用工具类中的close()方法关闭资源。
}
return ulist; //将从数据库中取到的值输出。
}
public boolean add(user u) {
try {
conn=DBUlit.opean();
pst=conn.prepareStatement("insert into tuser values(?,?,?,?)");
pst.setInt(1, u.getID());
pst.setString(2, u.getName());
pst.setInt(3,u.getAge());
pst.setString(4, u.getAddress());
pst.executeUpdate();
return true;
} catch (SQLException e) {
e.printStackTrace();
}finally {
DBUlit.close(pst, conn);
}
return false;
}
public boolean del(int id) {
try {
conn=DBUlit.opean();
pst=conn.prepareStatement("delete tuser where id="+id);
pst.executeUpdate();
return true;
} catch (SQLException e) {
e.printStackTrace();
}finally {
DBUlit.close(pst, conn);
}
return false;
}
public user querryById(int id) {
try {
conn=DBUlit.opean();
pst=conn.prepareStatement("select * from tuser where id="+id);
rs=pst.executeQuery();
while(rs.next()) {
user u=new user();
u.setAddress(rs.getString("address"));
u.setAge(rs.getInt("age"));
u.setID(rs.getInt("id"));
u.setName(rs.getString("name"));
return u;
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
DBUlit.close(rs, pst, conn);
}
return null;
}
public boolean update(user u) {
try {
conn=DBUlit.opean();
pst=conn.prepareStatement("update tuser set name=?,age=?,address=? where id="+u.getID());
pst.setString(1, u.getName());
pst.setInt(2, u.getAge());
pst.setString(3,u.getAddress());
pst.executeUpdate();
return true;
} catch (SQLException e) {
e.printStackTrace();
}finally {
DBUlit.close(pst, conn);
}
return false;
}
}
//user的get、set方法
package com.lq.pro_user.domain;
public class user {
private String name;
private String address;
private int ID;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public int getID() {
return ID;
}
public void setID(int iD) {
ID = iD;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
package com.lq.pro_user.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class UserLoginServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("utf-8");
String name=req.getParameter("name");
String pass=req.getParameter("pass");
ServletConfig config=getServletConfig();
String uname=config.getInitParameter("username");
String upass=config.getInitParameter("userpass");
resp.setContentType("text/html;charset=utf-8");
PrintWriter out=resp.getWriter();
if(uname.equals(name)&&upass.equals(pass)) {
resp.sendRedirect(req.getContextPath()+"/list");
}else {
resp.sendRedirect(req.getContextPath()+"/login_err.html");
}
}
}
package com.lq.pro_user.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.lq.pro_user.dao.userDAO;
import com.lq.pro_user.domain.user;
public class UserAddServlet extends HttpServlet {
private userDAO udao=new userDAO();
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("utf-8");
user u=new user();
String id=req.getParameter("id");
String name=req.getParameter("name");
String age=req.getParameter("age");
String address=req.getParameter("address");
u.setAddress(address);
u.setAge(Integer.parseInt(age));
u.setID(Integer.parseInt(id));
u.setName(name);
boolean b=udao.add(u);
resp.setContentType("text/html;charset=utf-8");
PrintWriter out=resp.getWriter();
if (b) {
out.print("添加成功");
}else {
out.print("添加失败");
}
}
}
package com.lq.pro_user.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.lq.pro_user.dao.userDAO;
import com.lq.pro_user.domain.user;
public class UserEditServlet extends HttpServlet {
private userDAO udao=new userDAO();
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html;charset=utf-8");
PrintWriter out=resp.getWriter();
user u=udao.querryById(Integer.parseInt(req.getParameter("id")));
if (u==null) {
out.print("查无此人");
}
out.print("<html>");
out.print("<head>");
out.print("</head>");
out.print("<body>");
out.print("<form action='update' method='post'>");
out.print("ID:<input type='text' value='"+u.getID()+"'readonly name='id'/><br>");
out.print("name:<input type='text' value='"+u.getName()+"'name='name'/><br>");
out.print("age:<input type='text' value='"+u.getAge()+"'name='age'/><br>");
out.print("address:<input type='text' value='"+u.getAddress()+"' name='address'/><br>");
out.print("<input type='submit' value='修改'/><br>");
out.print("</form>");
out.print("</body>");
out.print("</html>");
}
}
package com.lq.pro_user.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.lq.pro_user.dao.userDAO;
import com.lq.pro_user.domain.user;
public class UserUpdateServlet extends HttpServlet {
private userDAO udao=new userDAO();
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("utf-8");
String name= req.getParameter("name");
String id= req.getParameter("id");
String age= req.getParameter("age");
String address= req.getParameter("address");
user u=new user();
u.setID(Integer.parseInt(id));
u.setAddress(address);
u.setName(name);
u.setAge(Integer.parseInt(age));
boolean b=udao.update(u);
resp.setContentType("text/html;charset=utf-8");
PrintWriter out=resp.getWriter();
if (b) {
req.getRequestDispatcher("/list").forward(req, resp);
}
out.print("修改失败");
}
}
package com.lq.pro_user.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.lq.pro_user.dao.userDAO;
import com.lq.pro_user.domain.user;
public class UserDelServlet extends HttpServlet {
private userDAO udao=new userDAO();
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
int id=Integer.parseInt(req.getParameter("id"));
user u =udao.querryById(id);
resp.setContentType("text/html;charset=utf-8");
PrintWriter out=resp.getWriter();
if (u==null) {
out.println("查无此人,删除失败");
}else {
boolean b=udao.del(id);
if(!b) {
out.print("删除失败");
}else {
req.getRequestDispatcher("/list").forward(req, resp);;
}
}
}
}
package com.lq.pro_user.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.lq.pro_user.dao.userDAO;
import com.lq.pro_user.domain.user;
public class UserDeleteServlet extends HttpServlet {
private userDAO udao=new userDAO();
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
int id=Integer.parseInt(req.getParameter("id"));
user u=udao.querryById(id);
resp.setContentType("text/html;charset=utf-8");
PrintWriter out=resp.getWriter();
if (u==null) {
out.print("所删除的人信息不存在!!");
return ;
}
out.print("<html>");
out.print("<head>");
out.print("</head>");
out.print("<body>");
out.print("<form action='del' method='post'>");
out.print("ID:<input type='text' value='"+u.getID()+"'readonly name='id'/><br>");
out.print("name:<input type='text' value='"+u.getName()+"'name='name'/><br>");
out.print("age:<input type='text' value='"+u.getAge()+"'name='age'/><br>");
out.print("address:<input type='text' value='"+u.getAddress()+"' name='address'/><br>");
out.print("<input type='submit' value='删除'/><br>");
out.print("</form>");
out.print("</body>");
out.print("</html>");
}
}
package com.lq.pro_user.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import javax.jws.soap.SOAPBinding.Use;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import com.lq.pro_user.dao.userDAO;
import com.lq.pro_user.domain.user;
public class UserListServlet implements Servlet {
private userDAO dao=new userDAO();//创建userDAO的对象,用来调用userDAO中的方法,实现对user表的操作。
@Override
public void service(ServletRequest req, ServletResponse resp) throws ServletException, IOException {
List<user> ulist=dao.querrAll();//将调用userDAO的方法返回的值放入ulist中,方便面后面遍历在网页中显示。
req.setAttribute("ulist",ulist);
req.getRequestDispatcher("/listView").forward(req, resp);
}
@Override
public void destroy() {
}
@Override
public ServletConfig getServletConfig() {
return null;
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void init(ServletConfig arg0) throws ServletException {
}
}
package com.lq.pro_user.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.tomcat.jni.User;
import com.lq.pro_user.domain.user;
public class UserListViewServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html;charset=utf-8");//设定网页的编码格式。
List<user> ulist=(List<user>) req.getAttribute("ulist");
PrintWriter out=resp.getWriter(); //获得输出流
out.print("<html>"); //开始往网页上输出。
out.print("<head>");
out.print("</head>");
out.print("<body>");
out.print("<a href='add.html'>添加</a>");
out.print("<table with='80%' border='1'>");
out.print("<tr><td>ID</td><td>名字</td><td>年龄</td><td>地址</td><td>操作</td><td>操作</td></tr>");
for(user u:ulist) {
out.print("<tr><td>"+u.getID()+"</td><td>"+u.getName()+"</td><td>"+u.getAge()+"</td><td>"
+u.getAddress()+"</td><td><a href=edit?id="+u.getID()+">修改</a></td><td><a href=delete?id="+u.getID()+">删除</a></td></tr>");
}
out.print("</table>");
out.print("</body>");
out.print("</html>");
}
}
package com.lq.pro_user.util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.apache.tomcat.jni.User;
public class DBUlit {
static {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");//加载驱动
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static Connection opean() throws SQLException { //建立返回连接的打开函数。
return DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","scott","9867");
}
public static void close(ResultSet rs,PreparedStatement pst,Connection conn) {//关闭资源
if(rs!=null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(pst!=null) {
try {
pst.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(conn!=null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void close(PreparedStatement pst,Connection conn) {
close(null, pst, conn);
}
}
配置xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
<display-name></display-name>
<welcome-file-list>
<welcome-file>login.html</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>list</servlet-name>
<servlet-class>com.lq.pro_user.servlet.UserListServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>list</servlet-name>
<url-pattern>/list</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>listview</servlet-name>
<servlet-class>com.lq.pro_user.servlet.UserListViewServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>listview</servlet-name>
<url-pattern>/listView</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>login</servlet-name>
<servlet-class>com.lq.pro_user.servlet.UserLoginServlet</servlet-class>
<init-param>
<param-name>username</param-name>
<param-value>admin</param-value>
</init-param>
<init-param>
<param-name>userpass</param-name>
<param-value>123456</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>add</servlet-name>
<servlet-class>com.lq.pro_user.servlet.UserAddServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>add</servlet-name>
<url-pattern>/add</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>edit</servlet-name>
<servlet-class>com.lq.pro_user.servlet.UserEditServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>edit</servlet-name>
<url-pattern>/edit</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>update</servlet-name>
<servlet-class>com.lq.pro_user.servlet.UserUpdateServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>update</servlet-name>
<url-pattern>/update</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>del</servlet-name>
<servlet-class>com.lq.pro_user.servlet.UserDelServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>del</servlet-name>
<url-pattern>/del</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>delete</servlet-name>
<servlet-class>com.lq.pro_user.servlet.UserDeleteServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>delete</servlet-name>
<url-pattern>/delete</url-pattern>
</servlet-mapping>
</web-app>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="login" method="post">
账号:<input type="text" name="name"><br>
密码:<input type="password" name="pass"><br>
<input type="submit" value="登陆"/>
</form>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>
账号或密码错误请重新<a herf="login.html">登陆</a>
</h1>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="add" method="post">
ID<input type="text" name="id"/><br>
Name<input type="text" name="name"/><br>
Age<input type="text" name="age"/><br>
Address<input type="text" name="address"/><br>
<input type="submit" value="添加"/>
<input type="button" value="返回" onclick="history.back();"/>
</form>
</body>
</html>