【學習筆記】Javaweb訪問資料庫步驟
阿新 • • 發佈:2020-12-24
技術標籤:學習筆記
1.匯入四個jar包到工程的WebConten->Web-INF->lib
- commons.beanutils.jar
- commons.collections.jar
- commons.logging.jar
- mysql-connector-java-8.0.16.jar
2.建立四個包
2.1 com.entity
- 建立實體類
2.2 com.util
- 建立訪問資料庫的通用類DBUtil
2.3 com.dao
- 建立訪問資料庫的類
2.4 com.service
建立serverl類,用於從dao獲取資料
2.5 com.contronler
建立Servlet類,將資料轉發給jsp
package com.blog.controler;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet. http.HttpServletResponse;
import com.blog.entity.Blog;
import com.blog.service.BlogService;
/**
* Servlet implementation class BlogServlet
*/
@WebServlet({ "/BlogServlet", "/blog/blog.do" })
public class BlogServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
BlogService bs = new BlogService();
String keyword = "";
//判斷檢索框是否輸入了內容
if (request.getParameter("keyword")!=null) {
keyword = request.getParameter("keyword");
System.out.println(keyword);
}
List<Blog> bloglist = bs.getBlog(keyword);
request.setAttribute("bloglist", bloglist);
request.getRequestDispatcher("blog.jsp").forward(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
3.在工程裡的WebContent目錄建立jsp檔案
- 如blog.jsp
- 然後啟動伺服器,在瀏覽器位址列輸入localhost:8080/blog/blog.do(Servlet的名字)
@WebServlet({ "/BlogServlet", "/blog/blog.do" })
<%@page import="com.blog.entity.Blog"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="../../favicon.ico">
<title>Blog Template for Bootstrap</title>
<!-- Bootstrap core CSS -->
<link href="./css/bootstrap.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="./css/blog.css" rel="stylesheet">
</head>
<body>
<div class="blog-masthead">
<div class="container">
<nav class="blog-nav">
<a class="blog-nav-item active" href="#">首頁</a>
<a class="blog-nav-item" href="#">推薦</a>
<a class="blog-nav-item" href="#">關注</a>
<a class="blog-nav-item" href="#">專區</a>
<a class="blog-nav-item" href="#">關於</a>
<!-- 檢索 -->
<form action="blog.do" class="blog-nav-item" method="post">
<input type="text" class="form" name="keyword" placeholder="字串" />
<button type="submit" class="btn btn-primary">搜尋</button>
</form>
</nav>
</div>
</div>
<br/><br/>
<div class="container">
<div class="blog-header">
</div>
<div class="row">
<div class="col-sm-8 blog-main">
<%
List<Blog> bloglist = (List<Blog>) request.getAttribute("bloglist");
for (Blog blog : bloglist) {
%>
<div class="blog-post">
<h5 class="blog-post-title"><%=blog.getBlogtitle() %></h5>
<p class="blog-post-meta">
<%=blog.getBlogdate() %> by <a href="#"><%=blog.getUser().getUsername() %></a>
</p>
<p><%=blog.getBlogcontent() %></p>
</div>
<!-- /.blog-post -->
<%
}
%>
<nav>
<ul class="pager">
<li><a href="#">Previous</a></li>
<li><a href="#">Next</a></li>
</ul>
</nav>
</div>
<!-- /.blog-main -->
<div class="col-sm-3 col-sm-offset-1 blog-sidebar">
<div class="sidebar-module sidebar-module-inset">
<h4>About</h4>
<p>
Etiam porta <em>sem malesuada magna</em> mollis euismod. Cras
mattis consectetur purus sit amet fermentum. Aenean lacinia
bibendum nulla sed consectetur.
</p>
</div>
<div class="sidebar-module">
<h4>Archives</h4>
<ol class="list-unstyled">
<li><a href="#">March 2014</a></li>
<li><a href="#">February 2014</a></li>
<li><a href="#">January 2014</a></li>
<li><a href="#">December 2013</a></li>
<li><a href="#">November 2013</a></li>
<li><a href="#">October 2013</a></li>
<li><a href="#">September 2013</a></li>
<li><a href="#">August 2013</a></li>
<li><a href="#">July 2013</a></li>
<li><a href="#">June 2013</a></li>
<li><a href="#">May 2013</a></li>
<li><a href="#">April 2013</a></li>
</ol>
</div>
<div class="sidebar-module">
<h4>Elsewhere</h4>
<ol class="list-unstyled">
<li><a href="#">GitHub</a></li>
<li><a href="#">Twitter</a></li>
<li><a href="#">Facebook</a></li>
</ol>
</div>
</div>
<!-- /.blog-sidebar -->
</div>
<!-- /.row -->
</div>
<!-- /.container -->
<footer class="blog-footer">
<p>
Blog template built for <a href="http://getbootstrap.com">Bootstrap</a>
by <a href="https://twitter.com/mdo">@mdo</a>.
</p>
<p>
<a href="#">Back to top</a>
</p>
</footer>
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="./js/jquery-2.0.3.js"></script>
<script src="./js/bootstrap.js"></script>
</body>
</html>