java web
JSP(前端頁面)+Servlet(控制器)+JavaBean(資料獲取與封裝元件),建立DAO獲取資料庫資料,建立VO封裝取回的資料,並用EL表示式展示在頁面中。實現一個資料庫的模糊查詢。(java web實驗報告)
1.首項給大家看一下我這個web實驗的目錄
2.軟體準備:MyEclipse和MySQL資料庫
2-1.MySQL資料庫:
首先我在MySQL資料庫裡面建立一張名為:t_student的表:
3.核心代程式碼:
3-1.jsp程式碼
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="java.util.*" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<body>
<form action="Test_servlet" method="POST">
請輸入學生資訊:<input type="text" name="stuinfo">
<input type="submit" value="查詢">
</form>
<!-- 這裡的stuinfor標識的是session裡面的student資料,這裡直接使用stuinfor去獲取session裡面的資料 -->
<c:forEach items="${stuinfor }" var="student">
姓名:${student.stuname }
學號:${student.stuno }<br>
</c:forEach>
</body>
</html>
jsp程式碼中我使用了forEach核心標籤去遍歷session中的資料,這裡我直接使用的是taglib指令去宣告jsp程式碼使用的標籤庫。
大家也可以直接匯入相應的java包在lib目錄下。
3-2.servlet程式碼(doGet方法):
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//接受表單傳來的資料
try {
request.setCharacterEncoding("UTF-8");
String stuinfor = request.getParameter("stuinfo");
DAO dao = new DAO();
ArrayList<String> student = dao.queryAllStudents(stuinfor);
HttpSession session = request.getSession();
// 這裡我將student資料儲存在session中並用stuinfor(相當於student資料的一個名字叫做stuinfor)來標識它,以後需要用到student資料就直接使用stuinfor
session.setAttribute("stuinfor", student);
response.sendRedirect("submit_inform.jsp");
}
catch (Exception e) {
// TODO 自動生成的 catch 塊
e.printStackTrace();
}
}
這個程式碼裡,我將取回的資料放在了session中;然後注意一點記得重定向一下:
response.sendRedirect("submit_inform.jsp");
3-3.Beans包程式碼(連線資料庫)
DAO.jsp程式碼
package Beans;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
public class DAO {
public ArrayList<String> queryAllStudents(String stuinfor) throws Exception{
java.sql.Connection conn = null;
ArrayList students = new ArrayList();
try{
//獲取連線
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8",
user,password);
String sql = "select * from t_student where stuno like '%"+stuinfor+"%' or stuname like '%"+stuinfor+"%' or stusex like '%"+stuinfor+"%'";
Statement stat = conn.createStatement();
ResultSet rs = stat.executeQuery(sql);
while(rs.next()){
Students student = new Students();
student.setStuno(rs.getString("stuno"));
student.setStuname(rs.getString("stuname"));
students.add(student);
}
rs.close();
stat.close();
}catch(SQLException e){
e.printStackTrace();
}finally{
try{
//關閉連線
if(conn!=null){
conn.close();
conn=null;
}
}catch(Exception ex){
}
}
return students;
}
}
DriverManager.getConnection("jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8",
user,password);
這段程式碼中的user是自己建立資料庫時的使用者名稱,password是密碼(這裡根據自己的情況而定)
Student.jsp程式碼
package Beans;
public class Students {
private String stuno;
private String stuname;
// 給每個成員變數定義setter/getter方法
public String getStuno() {
return stuno;
}
public void setStuno(String stuno) {
this.stuno = stuno;
}
public String getStuname() {
return stuname;
}
public void setStuname(String stuname) {
this.stuname = stuname;
}
}
4.結果截圖
5.總結
jsp:主要是用來使用者展示資料,輸入資料的地方 servlet:我覺得是一個資料中轉站 javabean:實際操作的地方(本次實驗主要是建立了一個DAO.jsp去訪問資料庫)
這篇文章是我第一次寫部落格所寫,有很多不足地方,忘大家批評指正。有什麼問題,大家也可以留言,歡迎大家一起交流學習!!!!
相關文章
- Java Web系列:Java Web 專案基礎JavaWeb
- JAVA學習筆記—JAVA WEB(二)JAVA WEB核心(下)Java筆記Web
- Java Web UI框架JavaWebUI框架
- Java Web亂碼JavaWeb
- Java Web 拾遺JavaWeb
- Java新特性--Java Web Start (轉)JavaWeb
- Java Web(2)-jQuery上JavaWebjQuery
- Java Web(2)-jQuery下JavaWebjQuery
- java web 中文亂碼JavaWeb
- JAVA Web07——AjaxJavaWeb
- Java Web-JSPJavaWebJS
- java web 元件Listenter(一)JavaWeb元件
- Java Web程式結構JavaWeb
- java web 中的MVCJavaWebMVC
- Java Web開發者總結JavaWeb
- 【java web】--Ajax拾遺JavaWeb
- Java web 分頁感想JavaWeb
- Java web之新建第一個web專案JavaWeb
- Java Web 掃盲行動JavaWeb
- Java:Web Service初入門JavaWeb
- Java Web 檔案上傳JavaWeb
- java web定時任務JavaWeb
- Java Web 學習路線JavaWeb
- Java Web概述-練習題JavaWeb
- IDEA建立Java WEB工程IdeaJavaWeb
- JAVA WEB DAY 17_ RedisJavaWebRedis
- java web學習 日常自用JavaWeb
- Java Web開發技術JavaWeb
- java Web知識點(2)JavaWeb
- Java web錯誤總結~JavaWeb
- Java Web(六) EL表示式JavaWeb
- Java Web(一) Servlet詳解!!JavaWebServlet
- Java Web 分頁實現JavaWeb
- Java Web之Spring BootJavaWebSpring Boot
- Java Web之BaseServlet的抽取JavaWebServlet
- Java Web之動態代理JavaWeb
- Java Web系列:JDBC 基礎JavaWebJDBC
- 【java web】我眼中的JqueryJavaWebjQuery