1. 程式人生 > 其它 >【學習筆記】Javaweb訪問資料庫步驟

【學習筆記】Javaweb訪問資料庫步驟

技術標籤:學習筆記

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>