首先我們在在File中選擇new在選擇java project在任意取一個名字,如圖:

選擇才創建的項目userManager,在src下分別創建dao包,DBHelper包(可直接在其他項目中把它復制過來),entity包和servlet包,如圖:

打開entity,在它下面new一個class,命名為User,然后定義三個變量代碼如下:
package entity;
public class User {
private String userID;
private String username;
private String userword;
public String getUserID() {
return userID;
}
public void setUserID(String userID) {
this.userID = userID;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getUserword() {
return userword;
}
public void setUserword(String userword) {
this.userword = userword;
}
}
打開DAO,在它下面new一個class,命名為Userdao,代碼如下:
package dao;
import java.util.*;
import java.sql.*;
import entity.*;
import DBHelper.*;
public class Userdao {
public List getAllUser() {
String SQL = "SELECT * FROM user";
ResultSet rs = DBHelper.getResultSet(SQL);
return tools.ResultSettoList(rs, User.class);
// try{
// String SQL="SELECT*FROM user";
// ResultSet rs= DBHelper.getResultSet(SQL);
// List users=new ArrayList();
// while(rs.next())
// {
// User u=new User();
// u.setUserID(rs.getString("userID"));
// u.setUsername(rs.getString("userName"));
// u.setUserword(rs.getString("password"));
// users.add(u);
// }
// return users;
// }catch(Exception ex){return null;
// }
//
}
public boolean insert(User u){
String SQL="INSERT INTO user(userID,username,userword) VALUES(?,?,?)";
Object[] params=new Object[]{u.getUserID(),u.getUsername(),u.getUserword()};
int n=DBHelper.ExecSql(SQL,params);
if(n>0) return true;
else return false;
}
public boolean update(User u){
String sql="update user set username=?,userword=? where userID=?";
Object[] obj=new Object[]{u.getUsername(),u.getUserword(),u.getUserID()};
int rs=DBHelper.ExecSql(sql,obj);
if(rs==1)
return true;
else
return false;
}
public boolean delete(User u){
String sql="delete from user where userID=?";
Object[] obj=new Object[]{u.getUserID()};
int rs=DBHelper.ExecSql(sql,obj);
if(rs==1)
return true;
else
return true;
}
}
接着還需要在DAO下創建一個類,命名為testdao,用於測試Userdaobao的代碼,代碼如下:
package dao;
import java.sql.SQLException;
import java.util.List;
import entity.User;
public class testDAO {
public static void main(String[] args) throws SQLException {
// TODO Auto-generated method stub
// 測試查詢
// Userdao dao= new Userdao();
// List list =dao.getAllUser();
// System.out.println(list.size());
// 測試添加:
Userdao dao=new Userdao();
User u= new User();
// u.setUserID("d");
// u.setUsername("d");
// u.setUserword("d");
// dao.insert(u);
//
// 測試刪除:
// u.setUserID("d");
// dao.delete(u);
// System.out.println("u");
// 測試修改
u.setUserID("c");
u.setUserword("q");
u.setUsername("q");
dao.update(u);
System.out.println("u");
}
}
打開servlet,在它下面new一個servlet,命名為UserServlet,把 pageEncoding改成UTF0-8;刪除doGet和doPost里的內容,doGet和doPost里的代碼如下:
package servlet;
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import dao.*;
import entity.*;
import DBHelper.*;
public class Userservlet extends HttpServlet {
/**
* Constructor of the object.
*/
public Userservlet() {
super();
}
/**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Userdao dao=new Userdao();
List users=dao.getAllUser();
request.getSession().setAttribute("users", users);
response.sendRedirect("show.jsp");
}
/**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
// Put your code here
}
}
在WebRoot下創建一個user命名的目錄,然后在user下new一個show.jsp。先導入entity包,在把 pageEncoding改成UTF0-8;然后再body里寫輸出的樣式,代碼如下:
<%@ page language="java" import="java.util.*,dao.*,DBHelper.*,entity.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<title>User.jsp</title>
</head>
<body>
<%
List<User>users = (List<User>)session.getAttribute("users");
//String uid=request.getParameter("userID");
//String uname=request.getParameter("username");
//String password=request.getParameter("password");
//out.print("用戶ID:"+uid+"<hr/>");
//out.print("姓名:"+uname+"<hr/>");
//out.print("密碼:"+password+"<hr/>");
out.print("<table border=1 cellspacing=1>");
out.print("<tr><td>id</td><td>用戶名</td><td>密碼</td></tr>");
for(User u:users)
{
out.print("<tr>");
out.print("<td>"+u.getUserID()+"</td>");
out.print("<td>"+u.getUsername()+"</td>");
out.print("<td>"+u.getUserword()+"</td>");
out.print("</tr>");
}
out.print("</table>");
%>
</body>
</html>
記得一定要將鏈接sql的驅動文件復制在WebRoot下的WEB-INF里的lib下面。
打開WebRoot下的WEB-INF,打開web.xml,復制其路徑,開啟服務,輸入網址(網址如http://localhost:8080/userManager/servlet/UserServlet)即可查看。路徑如圖:

