JavaBean:用於傳遞數據,擁有與數據相關的邏輯處理
JSP:從Model接收數據並生成HTML
Servlet:接收HTTP請求並控制Model和View
jdbc:用於配置環境
一、【建立數據庫】
在mysql中新建一個名為kecheng的數據庫,並在其中新建一個kecheng數據表,包含三個字段,classname,classroom,teacher

二、【新建web項目】
1. eclipse新建一個名為kechengguanlli的Dynamic Web Project
修改class的默認輸出目錄為:WebContent/WEB-INF/classes,勾選自動生成web.xml
2. 將連接mysql的驅動jar包(mysql-connector-java-5.1.7-bin.jar)copy到WEB-INF下的lib目錄下
3. 新建7個包
helper、鏈接數據庫的操作,避免重復寫代碼,所以用一個包封裝起來
SQL、數據庫增刪改查的統一代碼,在實例中具體調用
javabean、基類,包括此項目中的成員變量
servlet、增加數據庫中課程
servletdelete、刪除數據庫中課程
servletseclec、查詢數據庫中課程
servletupdate、修改數據庫中課程

4. 新建類(最愉快的搬磚環節 -.-),java類放在對應包中,jsp頁面放在WebContent目錄下,替換web.xml中內容;
helper包下新建 DbHelper.java
package helper;
import java.sql.Connection;
import java.sql.DriverManager;
public class DbHelper {
private static String url = "jdbc:mysql://localhost:3306/kecheng"; //數據庫地址
private static String userName = "root"; //數據庫用戶名
private static String passWord = "199812"; //數據庫密碼
private static Connection conn = null;
private DbHelper(){
}
public static Connection getConnection(){
if(null == conn){
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url, userName, passWord);
} catch (Exception e) {
e.printStackTrace();
}
}
return conn;
}
public static void main(String[] args) { //測試數據庫是否連通
System.out.println(getConnection());
}
}
javabean包下新建kecheng.java
package javabean;
public class kecheng {
private String classname;
private String teacher;
private String classroom;
private String fanhui;
public kecheng()
{}
public String getClassname() {
return classname;
}
public void setClassname(String classname) {
this.classname = classname;
}
public String getTeacher() {
return teacher;
}
public void setTeacher(String teacher) {
this.teacher = teacher;
}
public String getClassroom() {
return classroom;
}
public void setClassroom(String classroom) {
this.classroom = classroom;
}
public String getFanhui() {
return fanhui;
}
public void setFanhui(String fanhui) {
this.fanhui = fanhui;
}
}
servlet包下新建add.java
package servlet;
import java.io.IOException;
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 javabean.kecheng;
import javabean.kecheng;
import SQL.sqlclass;
/**
* Servlet implementation class add
*/
@WebServlet("/add")
public class add extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public add() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
int i=0,j=1,k=0;
response.getWriter().append("Served at: ").append(request.getContextPath());
String classname=request.getParameter("classname");//防止中文亂碼
String teacher=request.getParameter("teacher");
String classroom=request.getParameter("classroom");
if(teacher.equals("王建民")||teacher.equals("劉立嘉")||teacher.equals("劉丹")||teacher.equals("王輝")||teacher.equals("楊子光"))
i=1;
String name;
name=classroom.substring(0,2);
if(name.equals("一教")||name.equals("二教")||name.equals("三教")||name.equals("基教"))
j=1;
if(true)//課程名
k=1;
if(i==1&&j==1&&k==1)
{ kecheng student=new kecheng();
student.setClassname(classname);
student.setTeacher(teacher);
student.setClassroom(classroom);
sqlclass sql=new sqlclass();
sql.addUser(student);
response.sendRedirect("first.jsp");//頁面跳轉
}
else response.sendRedirect("add.jsp");
}
/**
* @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);
}
}
【 jsp頁面放在WebContent目錄下】
first.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<center>課程基本信息管理主界面</center>
<center>——————————————————————————————————</center>
<a href="add.jsp"><center><b>課程信息錄入</b></center></a><br>
<a href="update.jsp"><center><b>課程信息修改</b></center></a><br>
<a href="delete.jsp"><center><b>課程信息刪除</b></center></a><br>
<a href="select.jsp"><center><b>課程信息查詢</b></center></a><br>
</body>
</html>
add.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="servlet.add" method="get">
<center>課程信息錄入界面</center>
<center>——————————————————————————————————————</center>
<center>課程名稱:<input type="text" name=classname><br></center>
<center>任課教師:<input type="text" name=teacher><br></center>
<center>上課地點:<input type="text" name=classroom><br></center>
<center><input type="submit" value="保存"></center>
</body>
</html>
delete.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<center>課程信息刪除</center>
<center>輸入以下了表中的任意一個即可</center>
<center>——————————————————————————————————</center>
<form action="servletdelete.delete" method="get">
<center>課程名稱:<input type="text" name=classname><br></center>
<center>任課教師:<input type="text" name=teacher><br></center>
<center>上課地點:<input type="text" name=classroom><br></center>
<center><input type="submit" value="確定刪除"></center>
</body>
</html>
select.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page import="java.util.*"%>
<%@page import="javabean.kecheng"%>
<%@page import="SQL.sqlclass"%>
<%@page import="java.util.List"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<center><%="課程"+" "+"教師"+" "+"教室" %> </center>
<%
sqlclass a=new sqlclass();
a.getAllUser();
kecheng c=new kecheng();
List<kecheng> b= new ArrayList<kecheng>();
b=a.getAllUser();
int i=0;
int j=0;
j=a.getnum();
for(;i<j;i++)
{c=b.get(i);
%>
<center><%=c.getClassname()+" "+c.getTeacher()+" "+c.getClassroom() %> </center>
<% }%>
</body>
</html>
update.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<center>課程信息修改</center>
<center>——————————————————————————————————</center>
<form action="servletupdate.update" method="get">
<center>課程名稱:<input type="text" name=classname><br></center>
<center>任課教師:<input type="text" name=teacher><br></center>
<center>上課地點:<input type="text" name=classroom><br></center>
<center><input type="submit" value="保存"></center>
</body>
</html>
【替換web.xml中內容】
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID" version="4.0">
<display-name>kechengguanli</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>servlet</servlet-name>
<servlet-class>servlet.add</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servlet</servlet-name>
<url-pattern>/servlet.add</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>servletdelete</servlet-name>
<servlet-class>servletdelete.delete</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servletdelete</servlet-name>
<url-pattern>/servletdelete.delete</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>servletupdate</servlet-name>
<servlet-class>servletupdate.update</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servletupdate</servlet-name>
<url-pattern>/servletupdate.update</url-pattern>
</servlet-mapping>
</web-app>
