c mysql web开发实例教程_java web 开发入门实例
學習是個技巧活,關鍵是要找到重點的地方,新手在這方面的坑尤其多。看別人的教程一步一步的跟著做,隔幾步就遇到一個新知識點,忍不住就百度往深處了解,一晃半天就過去了。
有的知識點要深入學習的,有的是了解下就行的。我個人感覺這個度的把握是最難的。當然這也是饒不過去的坑。
最近跟著網上的一個教程學習JAVA WEB開發,將中間遇到的坑和教訓標記下:
1、JAVAC編譯時,提示找不到自定義類的問題。(如果是用記事本編輯,用命令行Javac編譯,需要 在環境變量中,設置CLASSPATH 指向你的classes目錄);
2、關于JDBC:MYSQL的端口號,如果沒有指定,會連接失敗。切記根據本機的端口設置正確
3、有條件還是用ECLIPSE來編譯執行,可以從控制臺看到詳細的錯誤日志。
==================================
附:入門代碼及注釋
1、文件及目錄結構(存在TOMCAT的WEBAPPS目錄下)
2、登錄頁面效果
3、主要代碼(運行前提:需安裝JDK及MYSQL)
(1)、在MYSQL 中創建數據庫user ,創建用戶表tb_user;
mysql -u root -p 123456 ;
create database user;
use user;
create table tb_user (
username varchar(20) primary key,
password varchar(20));
(2)創建兩個JSP文件 (index.jsp ?mesage.jsp)
index.jsp 中需要用到login.jpg ,要放在images目錄下面。
JAVA 學習Reg用戶注冊頁面Username:
Password:
Confirm Password:
message.jsp
String info = (String)request.getAttribute("info");
if(info != null) {
out.print("
");out.print("");
out.print("");
out.print(info);
out.print("");
out.print("");
out.print("
");}
%>
l
以上就是展示層,結束后,可以在瀏覽器中輸入http://localhost:8080/reg/index.jsp看下效果。(注意你TOMCAT的端口號,我用的是8080)
(3)、建立 JAVA BEAN模型層
共有4個文件,分別放在beans ?dao ?service ?utils 目錄下
文件名為 :UserBean.java ? ? ? ? ? UserDao.java ? ? ? SignInServlet.java ? ?DataBaseUtil.java
UserBean.java
package beans;
/**
用戶信息javabean
**/
public class UserBean {
private String username;
private String password;
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;
}
}
UserDao.java
package dao;
import utils.DataBaseUtil;
import beans.UserBean;
import java.sql.*;
public class UserDao {
public boolean isUserExist(String username) {
//create a connection
Connection connection = DataBaseUtil.getConnection();
String sql ="select * from tb_user WHERE username=?";
try{
PreparedStatement ps = connection.prepareStatement(sql);
ps.setString(1, username);
ResultSet resultSet = ps.executeQuery();
if(!resultSet.next()) {
return true;
}
}catch(SQLException e) {
System.out.println(e.toString());
e.printStackTrace();
}catch(NullPointerException f){
f.printStackTrace();
}finally {
DataBaseUtil.closeConnection(connection);
}
return false;
}
public boolean isPasswordConfirm(String password, String repassword) {
return password.equals(repassword);
}
public void saveUser(UserBean user) {
Connection connection = DataBaseUtil.getConnection();
String sql = "insert into tb_user (username, password) values(?,?) ";
try {
PreparedStatement ps = connection.prepareStatement(sql);
ps.setString(1, user.getUsername());
ps.setString(2, user.getPassword());
ps.executeUpdate();
}catch(SQLException e) {
e.printStackTrace();
}finally {
DataBaseUtil.closeConnection(connection);
}
}
}
DataBaseUtil.java
1 packageutils;2
3 importjava.sql.Connection;4 importjava.sql.DriverManager;5 importjava.sql.SQLException;6
7 public classDataBaseUtil {8
9 public staticConnection getConnection() {10 Connection connection = null;11 try{12 Class.forName("com.mysql.jdbc.Driver");13 String url = "jdbc:mysql://localhost:3306/user";14 connection = DriverManager.getConnection(url, "root", "123456");15 returnconnection;16
17 }catch(ClassNotFoundException nfe) {18 nfe.printStackTrace();19 }catch(SQLException sqle) {20 sqle.printStackTrace();21 }22 returnconnection;23 }24
25 public static voidcloseConnection(Connection connection) {26 if(connection != null) {27 try{28 connection.close();29 }catch(SQLException sqle) {30 sqle.printStackTrace();31 }32 }33 }34 }
(3)、控制層 SignInServlet
SignInServlet.java
1 packageservice;2
3 importbeans.UserBean;4 importdao.UserDao;5
6 importjavax.servlet.ServletException;7 importjavax.servlet.http.HttpServlet;8 importjavax.servlet.http.HttpServletRequest;9 importjavax.servlet.http.HttpServletResponse;10 importjava.io.IOException;11
12 public class SignInServlet extendsHttpServlet{13
14 @Override15 public void doPost(HttpServletRequest request, HttpServletResponse response) throwsServletException, IOException{16 String username = request.getParameter("username");17 String password = request.getParameter("password");18 String repassword = request.getParameter("repassword");19
20 UserDao userDao = newUserDao();21 if(username != null && !username.isEmpty()) {22 //用戶名不存在可以注冊
23 if(userDao.isUserExist(username) &&userDao.isPasswordConfirm(password, repassword)) {24 UserBean userBean = newUserBean();25 userBean.setPassword(password);26 userBean.setUsername(username);27 userDao.saveUser(userBean);28 request.setAttribute("info", "Congratulations! Reg successfully!");29 }else{30 if(!userDao.isUserExist(username))31 request.setAttribute("info", "Sorry! Username exists!"+username+" "+password);32 if(!userDao.isPasswordConfirm(password, repassword))33 request.setAttribute("info", "Sorry! Password not confirmed!");34 }35 }36 //forward to message.jsp
37 request.getRequestDispatcher("message.jsp").forward(request, response);38 }39 }
(4)、配置web.xml文件
在WEB-INF目錄下創建web.xml文件,指定程序的相關配置信息
1 <?xml version="1.0" encoding="UTF-8"?>
2
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4 xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
5 version="3.1">
6
7
8 index.jsp
9
10
11 SignInServlet
12 service.SignInServlet
13
14
15 SignInServlet
16 /RegServlet
17
18
(5)、下載相關JAR包
從網上下載JDBC-MySQL驅動,放入lib目錄中(我用的是:mysql-connector-java-5.1.30.jar)
(6)、編譯JAVA文件
打開reg/web-inf/CLASSES ?文件夾,按住shift在窗口中點鼠標右鍵,選擇 “在此處打開命令窗口w” 進入cmd窗口,先進入相關的子目錄 ,一個一個的執行 javac **.java 將文件編譯為.class文件;
上述工作完成后,啟動瀏覽器,輸入 http://localhost:8080/reg/ ?如果能打開頁面如下,祝賀你,你的 WEB項目成功了;
真誠感謝 Easy sir ?:
代碼基本照搬,改了JSP的編碼類型為 UTF-8 ,順序略有調整。
總結
以上是生活随笔為你收集整理的c mysql web开发实例教程_java web 开发入门实例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: csf是什么格式
- 下一篇: rtf是什么格式?rtf怎么打开?(为什