السلام عليكم ورحمة الله وبركاته
هذا أول تصميم لى jsp و servlets
الكود بالكامل كبير لم أستطع أرفاقه
سوف أقوم بوضعه وتقولوا لى هل أنا صح أم لا
فكرتى فى أرسال البيانات الى القاعدة قدتكون مختلفة شوية
لكن هذا فكرتى فلم أقم بأنشاء Class لتعريف المتغيرات ووضعتها فى نفس ال servlet الخاص بالأضافة للقاعدة
الله وأعلم الفكرة صحيحة أم لا لكنها فكرة ومحاولة
ملحوظة المشروع تم شرحة فى القسم ولكنى غيرت الفكرة كما ذكرت
أولا نبدا بملف index.jsp
<%@ page 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>
<script type="text/javascript">
function checkRequiredFields(frm){
if (frm.usernameTxt.value.length == 0 ){
alert ("يجب دخال الأسم");
return false;
}
if (frm.passwdTxt.value.length == 0){
alert ("قم بإدخال كلمة المرور");
return false;
}
if (frm.fullNameTxt.value.length == 0){
alert ("قم بأدخال الأسم كاملا");
return false;
}
if (frm.emailTxt.value.length == 0){
alert ("قم بإدخال البريد ");
return false;
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>تسجيل</title>
</head>
<body dir="rtl">
<form action="AddServle" method="post" onsubmit="return checkRequiredFields(this)">
<table>
<tr>
<td>إسم المستخدم</td><td><input type="text" name="usernameTxt"/> </td>
</tr>
<tr>
<td>كلمة المرور</td><td><input type="password" name="passwdTxt"/> </td>
</tr>
<tr>
<td>الإسم الكامل</td><td><input type="text" name="fullNameTxt"/> </td>
</tr>
<tr>
<td>البريد الإلكتروني</td><td><input type="text" name="emailTxt"/> </td>
</tr>
<tr>
<td colspan="2"> <input type="submit" value="تسجيل" /> </td>
</tr>
</table>
</form>
</body>
</html>ملف web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<listener>
<listener-class>DBMySite.AddServle</listener-class>
</listener>
<servlet>
<servlet-name>AddServle</servlet-name>
<servlet-class>DBMySite.AddServle</servlet-class>
</servlet>
<servlet>
<servlet-name>DBconnect</servlet-name>
<servlet-class>DBMySite.DBconnect</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AddServle</servlet-name>
<url-pattern>/AddServle</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>DBconnect</servlet-name>
<url-pattern>/DBconnect</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<jsp-config>
</jsp-config>
</web-app>ملف AddServle
package DBMySite;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.sql.*;
public class AddServle extends HttpServlet {
private static final long serialVersionUID = 1L;
private static final String ENCODING = "UTF-8";
String User ;
String Password ;
String Fullname ;
String Email;
protected void doadd(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding(ENCODING);
response.setCharacterEncoding(ENCODING);
String nextView ;
User = request.getParameter("usernameTxt");
Password = request.getParameter("passwdTxt");
Fullname = request.getParameter("fullNameTxt");
Email= request.getParameter("emailTxt");
Connection Connection = null;
PreparedStatement ps = null;
try {
Connection = new DBConnect().getConnection();
String query = "INSERT INTO aas(name, Password, Fullname ,Email)"
+ "values (?, ?, ?, ?);";
ps = Connection.prepareStatement(query);
ps.setString(1, User);
ps.setString(2,Password);
ps.setString(3, Fullname );
ps.setString(4, Email);
ps.executeUpdate();
} catch (SQLException ex) {
nextView = "index.jsp" + ex.getMessage();
}
}
}كلا DBConnect
/*
* DB Manger
*/
package DBMySite;
import java.sql.*;
/**
* @public class DBConnect
*/
public class DBConnect {
// <editor-fold defaultstate="collapsed" desc="Connection Detels">
private final String DRIVER = "com.mysql.jdbc.Driver";
private final String URL = "jdbc:mysql://localhost:3306/register";
private final String USER_NAME = "root";
private final String PASS_WORD = "root";
private Connection connection;
private Statement statement;
private ResultSet resultSet;// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="DBConnect connetion">
public DBConnect() {
try {
Class.forName(DRIVER);
connection = DriverManager.getConnection(URL, USER_NAME, PASS_WORD);
} catch (SQLException ex) {
} catch (ClassNotFoundException ex) {
}
}// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="return DB connection">
public Connection getConnection() {
return connection;
}// </editor-fold>
}فهل هذا صحيح
أفيدونا
ولو صحيح يبقى دى فكرتى فى أضافة البيانات
والى بيفكر يلطشها ( حلال عليه ) :lol: