使用 Jsp實現俱樂部會員信息管理功能,orac1e11g作為后台數據庫,該系統包括
查看俱樂部會員信息列表和修改俱樂部會員信息兩人功能,具體耍求如下:
打開俱樂部會員信息列表頁面,以列表方式顯示所有俱樂部會員信息。
具體要求及推薦實現步驟:
第一步:創建數據表(memberisnfo)
create table memberisnfo( id number(10) primary key,--會員編號 mname varchar2(30) not null, --會員姓名 mgender varchar2(2) not null, --會員性別 mage number(10) not null,--會員年齡 maddress varchar2(100),--家庭位置 memail varchar2(50) --電子郵件 ) --自增序列 CREATE SEQUENCE id_seq START WITH 1 INCREMENT BY 1 NOMAXVALUE CACHE 10; --插入數據 insert into memberisnfo values (1,'黃鼠狼','男','36','江西生物科技職業學院','1210486771@qq.com'); insert into memberisnfo values (id_seq.Nextval,'東東','男','20','江西生物科技職業學院','558899520@qq.com'); insert into memberisnfo values (id_seq.Nextval,'薇薇','女','25','南昌理工學院','258258456@qq.com'); insert into memberisnfo values (id_seq.Nextval,'花花','女','12','江西生物科技職業學院','2315429277@qq.com'); select * from memberisnfo --查詢數據
第二步:創建實體類
package entity; /* * 創建俱樂部會員系統實體參數 * * */ public class Club_Name { private String id;//創建id private String mname;//創建名字實體 private String mgender;//創建日期實體 private String mage;//創建年齡實體 private String maddress;//創建地址實體 private String memail;//創建Emaile實體 public String getId() { return id; } public void setId(String id) { this.id = id; } public String getMname() { return mname; } public void setMname(String mname) { this.mname = mname; } public String getMgender() { return mgender; } public void setMgender(String mgender) { this.mgender = mgender; } public String getMage() { return mage; } public void setMage(String mage) { this.mage = mage; } public String getMaddress() { return maddress; } public void setMaddress(String maddress) { this.maddress = maddress; } public String getMemail() { return memail; } public void setMemail(String memail) { this.memail = memail; } }
創建數據庫幫助類
package Dao_Base; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class Base_Dao { //數據庫名和登入密碼 String driver="oracle.jdbc.driver.OracleDriver"; String url="jdbc:oracle:thin:@localhost:1521:ORCL"; String user = "epet"; String pwd = "123456"; //建立數據庫連接方法 public Connection getConnection(){ //加載驅動 try { //第一步:加載驅動 Class.forName(driver); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } Connection con =null; //獲取連接對象 try { con =DriverManager.getConnection(url,user,pwd); //連接數據庫 } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return con; } //======釋放資源方法======= public void ShiFang(ResultSet rs, Statement st,Connection con){ //如果結果集不為空,則釋放成功 ,否則失敗 try { if(rs!=null){ rs.close(); }if(st!=null){ st.close(); }if(con!=null){ con.close(); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
第三步:三層架構(業務邏輯層+數據訪問層+實現層)
package Dao; import java.util.List; import entity.Club_Name; public interface Club_Name_Select { //創建查詢類所有人的位子的情況 public List<Club_Name> Culb(); //創建根據ID查詢內容的方法 public List<Club_Name> Culb2(String id); //根據id進行修改 public String Culd3(String id,String mname,String mgender,String mage,String maddress,String memail ); }
package Dao_Impl; 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 entity.Club_Name; import Dao.Club_Name_Select; import Dao_Base.Base_Dao; public class Club_Name_Impl extends Base_Dao implements Club_Name_Select{ //創建數據庫連接對象 Connection con=this.getConnection(); //創建寫入sql語句的參數 PreparedStatement ps=null; //創建結果集接收 ResultSet rs=null; //創建sql語句 String sql=""; public List<Club_Name> Culb() { //創建數據庫查詢 sql="select * from memberisnfo"; //創建實體類集合接收 List<Club_Name> list=new ArrayList<Club_Name>(); try { //寫入sql ps=con.prepareStatement(sql); //執行sql rs=ps.executeQuery(); //循環輸出並存入集合裝入實體類 while(rs.next()){ //實例化實體類對象 Club_Name name=new Club_Name(); //開始存入 name.setId(rs.getString (1)); name.setMname(rs.getString(2)); name.setMgender(rs.getString(3)); name.setMage(rs.getString (4)); name.setMaddress(rs.getString(5)); name.setMemail(rs.getString(6)); //將查詢的對象存入集合中去 list.add(name); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; } public List<Club_Name> Culb2(String id) { //創建數據庫查詢 sql="select * from memberisnfo where id=?"; //創建實體類集合接收 List<Club_Name> list=new ArrayList<Club_Name>(); try { //寫入sql ps=con.prepareStatement(sql); ps.setString (1, id); //執行sql rs=ps.executeQuery(); //循環輸出並存入集合裝入實體類 while(rs.next()){ //實例化實體類對象 Club_Name name=new Club_Name(); //開始存入 name.setId(rs.getString (1)); name.setMname(rs.getString(2)); name.setMgender(rs.getString(3)); name.setMage(rs.getString (4)); name.setMaddress(rs.getString(5)); name.setMemail(rs.getString(6)); //將查詢的對象存入集合中去 list.add(name); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; } public String Culd3(String id,String mname, String mgender, String mage, String maddress, String memail) { //創建數據庫查詢 sql="update memberisnfo set mname=?,mgender=?,mage=?,maddress=?,memail=? where id=?"; int q=0; try { //寫入sql ps=con.prepareStatement(sql); ps.setString(1, mname); ps.setString(2, mgender); ps.setString (3, mage); ps.setString(4, maddress); ps.setString(5, memail); ps.setString (6, id); //執行sql q=ps.executeUpdate(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } if(q>0){ return "ok"; }else{ return "no"; } } }
package servlet; import java.io.IOException; import java.io.UnsupportedEncodingException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import Dao_Impl.Club_Name_Impl; public class Club_Name extends HttpServlet{ //創建post提交方法 public void doPost(HttpServletRequest request,HttpServletResponse response){ try { //獲取傳過來的id值 String id=request.getParameter("id"); id=new String(id.getBytes("ISO-8859-1"),"utf-8"); //獲取傳過來的性別值 String sex=(String)request.getParameter("va"); sex=new String(sex.getBytes("ISO-8859-1"),"utf-8"); //獲取名字的默認值 String name=request.getParameter("name"); name=new String(name.getBytes("ISO-8859-1"),"utf-8"); //獲取年齡 String Mage=request.getParameter("year"); Mage=new String (Mage.getBytes("ISO-8859-1"),"utf-8"); //獲取家庭住址 String Maddress=request.getParameter("location"); Maddress=new String(Maddress.getBytes("ISO-8859-1"),"utf-8"); //獲取家庭住址 String Email=request.getParameter("email"); Email=new String(Email.getBytes("ISO-8859-1"),"utf-8"); //實例化更新對象 Club_Name_Impl impl=new Club_Name_Impl(); //調用更新的方法 String update=impl.Culd3(id, name, sex, Mage, Maddress, Email); request.setAttribute("update", update); //傳送值到首頁 request.getRequestDispatcher("index.jsp").forward(request, response); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ServletException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
配置web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <!--接收需要提交的值--> <servlet> <servlet-name>Club_Name</servlet-name> <servlet-class>servlet.Club_Name</servlet-class> </servlet> <!-- 映射servlet --> <servlet-mapping> <servlet-name>Club_Name</servlet-name> <url-pattern>/Club_Name</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
jsp頁面顯示層
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@page import="Dao_Impl.Club_Name_Impl"%> <%@page import="entity.Club_Name"%> <% //實例化查詢對象 Club_Name_Impl impl=new Club_Name_Impl(); //利用集合接收對象 List<Club_Name> list=impl.Culb(); //接收傳過來的結果值 String update=(String)request.getAttribute("update"); //開始判斷 if("ok".equals(update)){ %> <script type="text/javascript"> alert("修改成功!!!"); </script> <% }else if("no".equals(update)){ %> <script type="text/javascript"> alert("修改失敗!!!"); </script> <% }else{ } %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>查詢俱樂部會員信息</title> </head> <body> <div style="width:800px;margin:auto;border:0px solid red"> <table border="1px solid red" width="800px" style="margin:auto"> <tr style="background:#A5A4A7"> <td colspan="6"><center><b>俱樂部會員信息號</b></center></td> </tr> <tr style="background:#A5A4A7"> <td><center><b>編號</b></center></td> <td><center><b>姓名</b></center></td> <td><center><b>姓名</b></center></td> <td><center><b>年齡</b></center></td> <td><center><b>家庭住址</b></center></td> <td><center><b>Email</b></center></td> </tr> <% //傳出參數並進行賦值調用 for(int i=0;i<list.size();i++){ //實例化實體類 Club_Name room=list.get(i); %> <tr> <td><center><a href="Club_Name_Amend.jsp?id=<%=room.getId() %>"><%=room.getId() %></a></center></td> <td><center><%=room.getMname()%></center></td> <td><center><%=room.getMgender() %></center></td> <td><center><%=room.getMage() %></center></td> <td><center><%=room.getMaddress() %></center></td> <td><center><%=room.getMemail() %></center></td> </tr> <% } %> </table> </div> </body> </html>
需改頁面:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@page import="Dao_Impl.Club_Name_Impl"%> <%@page import="entity.Club_Name"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <% //獲取接收過來的id值 String id=request.getParameter("id"); //吧獲取的id值進行轉發 request.setAttribute("id",id); //實例化查詢對象 Club_Name_Impl impl=new Club_Name_Impl(); //利用集合接收對象 List<Club_Name> list=impl.Culb2(id); %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>修改頁面</title> <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> <div style="width:400px;margin:auto;border:0px solid red"> <form action="Club_Name?id=<%=id %>" method="post"> <table border="1px solid red" width="400px" style="background:#A5A4A7;margin:auto"> <tr > <td colspan="2"><center><b>會員信息</b></center></td> </tr> <% for(int i=0;i<list.size();i++){ //實例化實體類 Club_Name room=list.get(i); %> <tr> <td ><center><b>姓名</b></center></td> <td ><b><input type="text" value="<%=room.getMname()%>" name="name"></b></td> </tr> <tr> <td ><center><b>性別</b></center></td> <td ><input type="radio" value="男" name="va" id="va1" />男 <input type="radio" value="女" name="va" id="va2"/>女</td> </tr> <tr> <td ><center><b>年齡</b></center></td> <td ><b><input type="text" value="<%=room.getMage() %> " name="year"/></b></td> </tr> <tr> <td ><center><b>家庭住址</b></center></td> <td ><b><input type="text" value="<%=room.getMaddress() %>" name="location"></b></td> </tr> <tr> <td ><center><b>Email</b></center></td> <td ><b><input type="text"value="<%=room.getMemail() %>" name="email"></b></td> </tr> <script type="text/javascript"> //獲取男的按鈕的值 var name=document.getElementById("va1"); //獲取女的按鈕值 var name1=document.getElementById("va2"); //判斷是男或者女 if(name.value=="<%=room.getMgender()%>"){ name.checked="checked"; }else{ name1.checked="checked"; } </script> <%} %> <tr> <td colspan="2"><center><b><input type="submit" value="提交"/> <input type="reset" value="重置"/></b></center></td> </tr> </table> </form> </div> </body> </html>