亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

JSP網站開發基礎總結《六》

2019-11-14 23:21:35
字體:
來源:轉載
供稿:網友
jsp網站開發基礎總結《六》

  對于本篇需要總結的內容,量估計有點大,大家好好看哈,絕對全是干貨,代碼的已經運行測試,不存在問題,大家可以參考學習,下面開始本篇的內容。

 1、添加數據到數據庫

  如何用戶在JSP頁面的填寫的信息輸入到MySQL數據庫呢?其實原理很簡單,就是我們在JSP頁面里添加一個form表單標簽,需要注意的是這里的action值填我們的用于與數據庫庫交互的select的地址,method標簽有兩個值可選:get和post,get方式的數據傳輸,不安全,傳輸的數據在地址欄可以看到,而post方式的傳輸就相對安全些,用戶填寫的數據不會顯式讓用戶看到。設置好form表單標簽后,當用戶填寫完表達后,點擊提交,用戶的填寫的表單數據將會傳輸給我們的select,這樣我們的select獲得到數據后,通過調用我們之前編輯好的添加數據方法,便可以把用戶的填寫的數據添加到數據庫。

  jsp頁面代碼:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8" errorPage="error.html"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>    <base href="<%=basePath%>">        <title>添加數據</title>        <meta http-equiv="Words" content="添加數據">    <meta http-equiv="descr

  對于的select:

package com.mysql.jsp.select;import java.io.IOException;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 com.mysql.jsp.manager.ManagerMaImp;import com.mysql.jsp.sever.StudentMaImp;import com.mysql.jsp.student.Student;public class add extends HttpServlet {    public void doGet(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {        doPost(request, response);//調用doPsot()方法,把使用get方式傳輸的數據用doPost()方向接收    }    public void doPost(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {        request.setCharacterEncoding("utf-8");//設置編碼方式        response.setCharacterEncoding("utf-8");//設置編碼方式                //這里使用了一個登錄驗證        String manager_name = (String)request.getsession().getAttribute("name");//獲得登錄用戶的用戶名        String manager_password = (String)request.getSession().getAttribute("password");//獲得登錄用戶的密碼        ManagerMaImp mmi = new ManagerMaImp();        boolean login = mmi.getByName(manager_name, manager_password);//驗證是否正確        if(!login){            request.setAttribute("news", "您還未登錄,請先登錄再進行操作");            request.getRequestDispatcher("Login.jsp").forward(request, response);//不正確跳轉到登錄頁        }else{            String name = request.getParameter("name");//獲得用戶填寫的姓名            String sex_ = request.getParameter("sex");//獲得用戶選擇的性別            int sex = 1;            if(sex_.equals("女")){                sex = 0;            }            int year = Integer.parseInt(request.getParameter("year"));//獲得用戶填寫的年齡信息            String from = request.getParameter("from");//獲得用戶填寫的故鄉信息            String school = request.getParameter("school");//獲得用戶填寫的學校信息            //生成一個學生對象            Student student = new Student();            student.setName(name);            student.setSex(sex);            student.setYear(year);            student.setFrom(from);            student.setSchool(school);            StudentMaImp smi = new StudentMaImp();            boolean flag = smi.add(student);//調用添加方法,將數據添加到數據庫            if(flag){                List<Student> list = new ArrayList<Student>();                list = smi.getAll();                request.setAttribute("list", list);                request.getRequestDispatcher("All.jsp").forward(request, response);                        }else{                response.sendRedirect("Add.jsp");            }        }    }}

  對于向數據庫添加信息,就為大家總結完畢,加上前幾篇,我想大家應該已經明白如何通過JSP來做動態網站了吧。對于這里提到的是否登錄驗證,下面單獨聊一下。

 3、登錄驗證:

  這個功能大家應該遇到過很多,一般當我們在一些網站下載資料時,會有一個會員是否登錄驗證,只有你登錄了才能下載,這個小功能很簡單,但比較實用。下面我們就一起學習一下,這里用到了一個關鍵字:session,我們只需要在用戶登錄成功后,將用戶的賬戶和密碼通過requset方式進行一下聲明,之后我們就可以在任何頁面或select中得到。

  聲明代碼:

request.getSession().setAttribute("name",name);            request.getSession().setAttribute("password", password);

  調用代碼:

String manager_name = (String)request.getSession().getAttribute("name");//獲得登錄用戶的用戶名        String manager_password = (String)request.getSession().getAttribute("password");//獲得登錄用戶的密碼

 4、遍歷數據庫:

  添加數據我們已經學會了,下面我們一起學一下,如何把數據庫中的所有數據遍歷后,通過JSP頁面為用戶顯示出來。

  后臺select代碼:

       StudentMaImp smi = new StudentMaImp();            List<Student> list = new ArrayList<Student>();            list = smi.getAll();            request.setAttribute("list", list);            request.getRequestDispatcher("All.jsp").forward(request, response);

  JSP頁面:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" errorPage="error.html"%><%@page import="com.mysql.jsp.student.Student"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!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>  <% List<Student> list = (List<Student>)request.getAttribute("list"); %>    <center>        <h1>遍歷數據庫中的數據</h1>        <hr/>        <form action="get" method="post">            <table width="80%">                <tr>                    <td><a href="Add.jsp">添加</a></td><td>&nbsp;</td><td>精確查找:<input type="text" name="queding"/><%if(request.getAttribute("new1")!=null){ %><span style="color: red"><%=request.getAttribute("new1")%></span><% } %></td><td>&nbsp;</td><td>模糊查找:<input type="text" name="mohu"/><%if(request.getAttribute("new2")!=null){ %><span style="color: red"><%=request.getAttribute("new2")%></span><% } %></td><td><input type="submit" value="搜索"/></td>                </tr>            </table>        </form>        <table border="1" width="80%">            <TR>                <TD>ID</TD><td>姓名</td><td>性別</td><td>年齡</td><td>家鄉</td><td>學校</td><td colspan="2">操作</td>            </TR>            <%                if(list.size()!=0){                    for(int i=0; i<list.size(); i++){                        Student student = list.get(i);            %>                    <tr><TD><%=student.getId() %></TD><td><%=student.getName() %></td><td><%if(student.getSex()==1){ %>男<%}else{ %>女<%} %></td><td><%=student.getYear() %></td><td><%=student.getFrom() %></td><td><%=student.getSchool() %></td><td><a href="getId?id=<%=student.getId() %>">修改</a></td><td><a href="del?id=<%=student.getId() %>">刪除</a></td></tr>            <%                    }                }             %>        </table>    </center>  </body></html>

  界面效果:

  

 5、刪除數據:

  既然是刪除操作,也就沒有界面了,但我們點擊刪除后,select接到我們發送過去的數據信息,根據這些信息調用我們之前寫好的刪除方法,完成刪除操作。

  select代碼:

public class del extends HttpServlet {    public void doGet(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {        doPost(request, response);//刪除操作,發送數據的方式便是get方式,我們可以在地址欄看到我們發送過來的數據信息    }    public void doPost(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {        request.setCharacterEncoding("utf-8");        response.setCharacterEncoding("utf-8");        String manager_name = (String)request.getSession().getAttribute("name");        String manager_password = (String)request.getSession().getAttribute("password");        ManagerMaImp mmi = new ManagerMaImp();        boolean login = mmi.getByName(manager_name, manager_password);        if(!login){            request.setAttribute("news", "您還未登錄,請先登錄再進行操作");            request.getRequestDispatcher("Login.jsp").forward(request, response);        }else{            int id = Integer.parseInt(request.getParameter("id"));            StudentMaImp smi = new StudentMaImp();            boolean flag = smi.del(id);            if(flag){                List<Student> list = new ArrayList<Student>();                list = smi.getAll();                request.setAttribute("list", list);                request.getRequestDispatcher("All.jsp").forward(request, response);            }else{                response.sendRedirect("error.html");            }        }    }}

 6、更新操作:

  學完了添加、刪除、遍歷操作后,接下來我們一起來學習一下更新操作。

  更新操作的JSP頁面:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8" errorPage="error.html"%><%@page import="com.mysql.jsp.student.Student"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!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="修改數據">    <meta http-equiv="description" content="修改數據到數據庫">  </head>    <body>  <%Student student = (Student)request.getAttribute("student"); %>    <center>        <h1>修改數據到mysql數據庫</h1>        <hr/>        <form action="update" method="post" >            <table>                <tr>                    <!--  disabled="disabled":銷毀的,select無法得到它的值   -->                    <!--  readonly="readonly":只讀的,select可以讀出值  -->                    <td>id:</td><td><input type="text" name="id" readonly="readonly" value="<%=student.getId() %>" /></td>                </tr>                <tr>                    <td>姓名:</td><td><input type="text" name="name" value="<%=student.getName() %>"/></td>                </tr>                <tr>                    <td>性別:</td><td><input type="radio" name="sex" value="男" <%if(student.getSex()==1){ %>checked="checked"<%} %> >男<input type="radio" name="sex" value="女" <%if(student.getSex()==0){ %>checked="checked"<%} %> >女</td>                </tr>                <tr>                    <td>年齡:</td><td><input type="text" name="year" value="<%=student.getYear() %>"/></td>                </tr>                <tr>                    <td>家鄉:</td><td><input type="text" name="from" value="<%=student.getFrom() %>"/></td>                </tr>                <tr>                    <td>學校:</td><td><input type="text" name="school" value="<%=student.getSchool() %>"/></td>                </tr>                <tr>                    <td align="center"><input type="submit" value="更新" /></td><td align="center"><input type="reset" value="重置"></td>                </tr>            </table>        </form>    </center>  </body></html>

  既然是更新,我們需要首先通過select獲得需要更新信息的對象,然后將對象數據發送給JSP頁面,代碼:

public class come extends HttpServlet {    public void doGet(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {        doPost(request, response);    }    public void doPost(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {        StudentMaImp smi = new StudentMaImp();        List<Student> list = new ArrayList<Student>();        list = smi.getAll();        request.setAttribute("list", list);        request.getRequestDispatcher("All.jsp").forward(request, response);    }}

  用戶接收用戶修改的數據,并進行數據更新的select:

public class update extends HttpServlet {    public void doGet(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {        doPost(request, response);    }    public void doPost(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {        request.setCharacterEncoding("utf-8");        response.setCharacterEncoding("utf-8");        String manager_name = (String)request.getSession().getAttribute("name");        String manager_password = (String)request.getSession().getAttribute("password");        ManagerMaImp mmi = new ManagerMaImp();        boolean login = mmi.getByName(manager_name, manager_password);        if(!login){            request.setAttribute("news", "您還未登錄,請先登錄再進行操作");            request.getRequestDispatcher("Login.jsp").forward(request, response);        }else{            int id = Integer.parseInt(request.getParameter("id"));            String name = request.getParameter("name");            String sex_ = request.getParameter("sex");            int sex = 1;            if(sex_.equals("女")){                sex = 0;            }            int year = Integer.parseInt(request.getParameter("year"));            String from = request.getParameter("from");            String school = request.getParameter("school");            Student student = new Student();            student.setId(id);            student.setName(name);            student.setSex(sex);            student.setYear(year);            student.setFrom(from);            student.setSchool(school);            StudentMaImp smi = new StudentMaImp();            boolean flag = smi.update(student);            if(flag){                List<Student> list = new ArrayList<Student>();                list = smi.getAll();                request.setAttribute("list", list);                request.getRequestDispatcher("All.jsp").forward(request, response);            }else{                response.sendRedirect("error.html");            }        }    }}

  好了,到這里對于通過JSP實現對數據庫的增、刪、改、遍歷操作,就為大家總結完畢。下一篇:JSP頁面精確搜索、模糊搜索


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲第一区在线| 国产视频福利一区| 中文字幕免费精品一区| 久久激情视频久久| 日韩欧美在线视频日韩欧美在线视频| 国产精品盗摄久久久| 国产欧美一区二区三区久久人妖| 欧日韩不卡在线视频| 69久久夜色精品国产69乱青草| 色视频www在线播放国产成人| 久久精品国产亚洲7777| 国产一区二区动漫| 久久久免费精品视频| 国产国语videosex另类| 欧美日韩国产精品一区| 日韩电影免费观看中文字幕| 日韩精品在线私人| 国产噜噜噜噜噜久久久久久久久| 欧美激情亚洲激情| 久久国产精品99国产精| 欧美精品激情在线观看| 国内精品视频一区| 国产一区二区三区视频在线观看| 亚洲国产欧美日韩精品| 国产精品入口尤物| 日韩av在线电影网| 日本久久精品视频| 久久99国产综合精品女同| 2021久久精品国产99国产精品| 日韩电影第一页| 亚洲成人久久一区| 97视频在线观看视频免费视频| 国产成人欧美在线观看| 欧美自拍视频在线观看| 亚洲激情电影中文字幕| 日韩中文字幕免费看| 欧美一级在线亚洲天堂| 91精品国产网站| 亚洲第一黄色网| 亚洲性av网站| 亚洲激情视频在线| 国产精品三级美女白浆呻吟| 美女av一区二区三区| 久久国产精品久久久| 亚洲人成在线观看网站高清| 亚洲美女喷白浆| 欧美中文在线免费| 日韩精品极品视频| 九九久久精品一区| 九九热视频这里只有精品| 国产精品久久久久久中文字| 欧美日韩xxxxx| 久久久综合免费视频| 日韩av中文在线| 亚洲男子天堂网| 国产成人免费av电影| 一区二区在线视频播放| 欧美黑人视频一区| 午夜精品久久久久久久久久久久| 亚洲免费伊人电影在线观看av| 亚洲第一网站免费视频| 91香蕉国产在线观看| 国产精品视频最多的网站| 中文字幕精品一区二区精品| 久久久成人精品视频| 亚洲国产成人久久综合一区| 国产一区二区三区在线观看视频| 亚洲激情在线观看| 另类视频在线观看| 色婷婷综合成人av| 欧美性猛交xxxx免费看| 亚洲图片在线综合| 国产精品久久久久久av福利软件| 欧美性xxxxx极品| 日韩av综合中文字幕| 亚洲国产精久久久久久久| 久久成人18免费网站| 日韩视频免费看| 欧美大片免费观看在线观看网站推荐| 色av中文字幕一区| 欧美激情一区二区三级高清视频| 亚洲成年人在线播放| 大伊人狠狠躁夜夜躁av一区| 久久精品国产亚洲精品2020| 一本色道久久综合亚洲精品小说| 日韩中文理论片| 亚洲成人免费在线视频| 欧美一区二区大胆人体摄影专业网站| 久久久久久久网站| 日韩av在线影院| 日韩精品视频观看| 这里只有精品在线观看| 国产欧美日韩中文| 91九色国产在线| 久久精品一区中文字幕| 国产精品亚洲激情| 国产精选久久久久久| 日韩欧美亚洲国产一区| 在线视频欧美性高潮| 欧洲成人午夜免费大片| 欧美一区二三区| 欧美国产在线电影| 欧美巨大黑人极品精男| 久久av在线播放| 久热精品视频在线观看| 在线观看不卡av| 日韩最新在线视频| 人人爽久久涩噜噜噜网站| 久久亚洲精品国产亚洲老地址| 国产xxx69麻豆国语对白| 欧美高跟鞋交xxxxxhd| 亚洲另类激情图| 亚洲美女黄色片| 成人国产亚洲精品a区天堂华泰| 久久久91精品| 久久久成人精品视频| 亚洲视频国产视频| 欧美一级视频在线观看| 国产精品91久久| 久久国产精品网站| 国产成人在线视频| 亚洲久久久久久久久久久| 久久99热精品| 日韩最新中文字幕电影免费看| 狠狠色噜噜狠狠狠狠97| 欧美另类老肥妇| 欧美性猛交xxxx免费看漫画| 亚洲码在线观看| 欧美精品免费看| y97精品国产97久久久久久| 亚洲视频在线观看免费| 国产精品自产拍在线观看| 欧美福利视频在线| 欧美一级视频在线观看| 欧美理论片在线观看| 久久青草精品视频免费观看| 日韩中文字幕视频在线观看| 亚洲精品资源美女情侣酒店| 国产日韩在线视频| 国产亚洲aⅴaaaaaa毛片| 欧美成人免费va影院高清| 另类少妇人与禽zozz0性伦| 亚洲高清福利视频| 欧美激情三级免费| 国产成人亚洲综合91| 欧美大片欧美激情性色a∨久久| 国产xxx69麻豆国语对白| 日韩有码视频在线| 日韩av在线最新| 日韩精品免费在线播放| 亚洲视频精品在线| 午夜精品久久久久久久男人的天堂| 97香蕉久久夜色精品国产| 成人h片在线播放免费网站| 国内偷自视频区视频综合| 亚洲护士老师的毛茸茸最新章节| 欧美激情a在线| 青青草99啪国产免费| 亚洲欧洲日产国码av系列天堂| 欧美激情中文字幕乱码免费| 亚洲精品国产精品国自产在线| 日韩av手机在线看| **欧美日韩vr在线| 91视频免费网站|