1、學習Java Web須要的技術:html
Java語言基礎:算法基礎、經常使用數據結構、編程規範。java
掌握常見的數據結構和實用算法;培養良好的編程習慣。mysql
Java面向對象:封裝、繼承、多態等,面向對象程序設計,基礎設計模式等。算法
掌握面向對象的基本原則以及在編程實踐中的意義;掌握Java面向對象編程基本實現原理。sql
JDK核心API:語言核心包、異常處理、經常使用工具包、集合框架。數據庫
熟練掌握JDK核心API編程技術;理解API設計原則;具有熟練的閱讀API文檔的能力。編程
JavaSE核心:異常處理、多線程基礎、IO系統、網絡編程、Java反射機制、JVM性能調優(JVM內存結構剖析、GC分析及調優、JVM內存參數優化)、Java泛型、JDK新特性設計模式
熟練掌握JavaSE核心內容,特別是IO和多線程;初步具有面向對象設計和編程的能力;掌握基本的JVM優化策略。服務器
SQL語言:SQL語句基礎和提升、SQL語句調優。網絡
熟練的掌握SQL語句;掌握必定的數據庫查詢技巧及SQL語句優化技巧。
Oracle數據庫:Oracle體系結構及系統管理、Oracle數據庫高級編程、數據庫設計基礎。
掌握Oracle體系結構及核心編程技術
XML:XML語法、XML解析(SAX、DOM)、Dom4j組件、Digester組件。
熟練掌握XML語法規則;理解DOM模型;熟悉Java對XML的各類解析方式。
HTML/CSS:TML基本文檔結構、掌握CSS基礎語法、關於HTML文檔塊、連接、列表、表格、表單等
掌握HTML基本原理;掌握CSS各類選擇器及常見樣式設置;熟練使用HTML經常使用元素。
JavaScript核心:JavaScript語言基礎(數據類型、函數、對象、閉包)、Java DOM編程、事件模型、JavaScript面向對象編程。
深刻理解JavaScript語言原理;熟練的使用JavaScript對HTML DOM進行編程;熟練掌握JavaScript對象對象封裝技巧,爲後續的JavaScript學習打下堅實的基礎。
Servlet/JSP:Servlet生命週期及Servlet服務器、Tomcat部署配置、JSP語法、自定義標記、JSTL和EL表達式、JSP 新特性、Java Web 設計模式。
透徹理解Servlet核心原理;熟練掌握Servlet API;透徹理解JSP引擎工做原理;透徹理解標記庫原理;熟悉常見的Java Web設計模式;爲後續的Java Web開發打下堅實的理論基礎。
Ajax:Ajax基礎、XHR對象、Ajax設計模式、JSON技術。
掌握Ajax的基本通訊原理;掌握基於XML和JSON的Ajax數據規則。
package com.jaovo.msg.dao;
import java.util.List;
import com.jaovo.msg.model.User;
public interface IUserDao {
public void add(User user);
public void delete(int id);
public void update(User user);
public User load(int id);
public User load(String username);
public List<User> load();
}
package com.jaovo.msg.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.jaovo.msg.Util.DBUtil;
import com.jaovo.msg.Util.UserException;
import com.jaovo.msg.model.User;
import sun.net.www.content.text.plain;
public class UserDaoImpl implements IUserDao {
@Override
public void add(User user) {
//得到連接對象
Connection connection = DBUtil.getConnection();
//準備sql語句
String sql = "select count(*) from t_user where username = ?";
//建立語句傳輸對象
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
try {
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1, user.getUsername());
//接收結果集
resultSet = preparedStatement.executeQuery();
//遍歷結果集
while(resultSet.next()) {
if (resultSet.getInt(1) > 0) {
throw new UserException("用戶已存在") ;
}
}
sql = "insert into t_user(username,password) value (?,?)";
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1, user.getUsername());
preparedStatement.setString(2, user.getPassword());
preparedStatement.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
//關閉資源
DBUtil.close(resultSet);
DBUtil.close(preparedStatement);
DBUtil.close(connection);
}
}
@Override
public void delete(int id) {
Connection connection = DBUtil.getConnection();
String sql = "delete from t_user where id = ?";
PreparedStatement preparedStatement = null;
try {
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setInt(1, id);
preparedStatement.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
DBUtil.close(preparedStatement);
DBUtil.close(connection);
}
}
@Override
public void update(User user) {
Connection connection = DBUtil.getConnection();
//準備sql語句
String sql = "update t_user set password = ? , nickname=? where id = ?";
//建立語句傳輸對象
PreparedStatement preparedStatement = null;
try {
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1, user.getPassword());
preparedStatement.setInt(3, user.getId());
preparedStatement.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
DBUtil.close(preparedStatement);
DBUtil.close(connection);
}
}
@Override
public User load(int id) {
Connection connection = DBUtil.getConnection();
//準備sql語句
String sql = "select * from t_user where id = ?";
//建立語句傳輸對象
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
User user = null;
try {
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setInt(1, id);
resultSet = preparedStatement.executeQuery();
while(resultSet.next()) {
user = new User();
user.setId(id);
user.setUsername(resultSet.getString("username"));
user.setPassword(resultSet.getString("password"));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
DBUtil.close(resultSet);
DBUtil.close(preparedStatement);
DBUtil.close(connection);
}
return user;
}
@Override
public User load(String username) {
// TODO Auto-generated method stub
Connection connection = DBUtil.getConnection();
//準備sql語句
String sql = "select * from t_user where username = ?";
//建立語句傳輸對象
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
User user = null;
try {
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1, username);
resultSet = preparedStatement.executeQuery();
while(resultSet.next()) {
user = new User();
user.setUsername(username);
user.setId(resultSet.getInt("username"));
user.setPassword(resultSet.getString("password"));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
DBUtil.close(resultSet);
DBUtil.close(preparedStatement);
DBUtil.close(connection);
}
return user;
}
@Override
public List<User> load() {
Connection connection = DBUtil.getConnection();
//準備sql語句
String sql = "select * from t_user ";
//建立語句傳輸對象
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
//集合中只能放入user對象
List<User> users = new ArrayList<User>();
User user = null;
try {
preparedStatement = connection.prepareStatement(sql);
resultSet = preparedStatement.executeQuery();
while(resultSet.next()) {
user = new User();
user.setId(resultSet.getInt("id"));
user.setUsername(resultSet.getString("username"));
user.setPassword(resultSet.getString("password"));
users.add(user);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
DBUtil.close(resultSet);
DBUtil.close(preparedStatement);
DBUtil.close(connection);
}
return users;
}
}
package com.jaovo.msg.model;
public class User {
private int id;
private String username;
private String password;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
package com.jaovo.msg.Util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class DBUtil {
public static Connection getConnection() {
try {
//1 加載驅動
Class.forName("com.mysql.jdbc.Driver").newInstance();
} catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String user = "root";
String password = "a13293581799";
String url = "jdbc:mysql://localhost:3306/login";
Connection connection = null;
try {
//2 建立連接對象connection
connection = DriverManager.getConnection(url,user,password);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return connection;
}
//關閉資源的方法
public static void close(Connection connection ) {
try {
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void close(PreparedStatement preparedStatement ) {
try {
if (preparedStatement != null) {
preparedStatement.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void close(ResultSet resultSet ) {
try {
if (resultSet != null) {
resultSet.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
package com.jaovo.msg.Util;
public class UserException extends RuntimeException{
public UserException() {
super();
// TODO Auto-generated constructor stub
}
public UserException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) {
super(message, cause, enableSuppression, writableStackTrace);
// TODO Auto-generated constructor stub
}
public UserException(String message, Throwable cause) {
super(message, cause);
// TODO Auto-generated constructor stub
}
public UserException(String message) {
super(message);
// TODO Auto-generated constructor stub
}
public UserException(Throwable cause) {
super(cause);
// TODO Auto-generated constructor stub
}
}
<%@ page import="com.jaovo.msg.Util.DBUtil" language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ page import="com.jaovo.msg.model.User"%>>
<%@ page import="com.jaovo.msg.dao.UserDaoImpl"%>>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
request.setCharacterEncoding("UTF-8");
String username=(String)request.getParameter("username");
String password=(String)request.getParameter("password");//取出login.jsp的值
UserDaoImpl a=new UserDaoImpl();
User user=a.load(username);
String password1=user.getPassword();
if(password.equals(password1)){
response.sendRedirect("loginsuccess.jsp");
}
else{
out.print("<script language='javaScript'> alert('密碼錯誤');</script>");
response.setHeader("refresh", "0;url=login.jsp");
}
%>
</body>
</html>
<%@ page import="java.sql.*" language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>登陸界面</title>
</head>
<body>
<center>
<h1 style="color:red">登陸</h1>
<form id="indexform" name="indexForm" action="indexcheck.jsp" method="post">
<table border="0">
<tr>
<td>帳號:</td>
<td><input type="text" name="username"></td>
</tr>
<tr>
<td>密碼:</td>
<td><input type="password" name="password">
</td>
</tr>
</table>
<br>
<input type="submit" value="登陸" style="color:#BC8F8F">
</form>
<form action="zhuce.jsp">
<input type="submit" value="註冊" style="color:#BC8F8F">
</form>
</center>
</body>
</html>
<%@ page import="java.sql.*" language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<h1>登錄成功</h1>
</body>
</html>
運行結果截圖:
4、課堂測試未按時完成的緣由
實話實說,本身花在編程,學習上的時間都太少,致使如今沒有自學過任何東西,數據庫鏈接,jsp等等,都是我剛剛開始接觸,因此剛開始寫一個關於登錄界面,對於如今本身的水平,很是吃力。
5、目標及計劃
接下來要花時間學習數據庫操做的語句,jsp,html語言。