هيكل المشروع:
الصفحة الرئيسية للمشروع:
صفحة التسجيل:
تحميل الصورة:
تأثير الصورة الأولى:
تأثير الصورة الثانية:
تأثير الصورة الثالثة:
================================================================================================== ===========
أدناه هو جزء التعليمات البرمجية
================================================================================================== ===========
مطلوب قاعدة بيانات SQL:
إنشاء قاعدة بيانات db_ajax؛
استخدم db_ajax؛
إنشاء جدول user_table
(
user_id int auto_increment المفتاح الأساسي،
اسم varchar(255) فريد،
تمرير فارتشار(255)
);
إنشاء جدول photo_table
(
photo_id int auto_increment المفتاح الأساسي،
فارتشار العنوان (255)،
اسم الملف فارشار (255)،
معرف_المالك,
يشير المفتاح الخارجي (owner_id) إلى user_table (user_id)
);
<div id="uploadDiv" style="display:none">
<عمل النموذج = "proUpload" طريقة = "نشر"
enctype = "multipart/form-data">
<جدول تباعد الخلايا = "1" خلية الحشو = "10">
<caption>تحميل الصور</caption>
<تر>
<td>عنوان الصورة:</td>
<td><input id="title" name="title" type="text" /></td>
</tr>
<تر>
<td>تصفح الصور:</td>
<td><إدخال معرف = "ملف" اسم = "ملف" نوع = "ملف" /></td>
</tr>
<تر>
<td colspan = "2" محاذاة = "مركز">
<نوع الإدخال = "إرسال" القيمة = "تحميل" />
<نوع الإدخال = "إعادة تعيين" القيمة = "إعادة تعيين" />
</TD>
</tr>
</الجدول>
</النموذج>
</div>
<div id="tipDiv" style="display:none">
</div>
</الجسم>
</html>
<!-- قم بتكوين حاوية الربيع ليتم تحميلها عند بدء تشغيل تطبيق الويب -->
<المستمع>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</المستمع>
<سيرفيليت>
<servlet-name>proLogin</servlet-name>
<servlet-class>com.b510.album.web.ProLoginServlet</servlet-class>
</سيرفلت>
<رسم الخرائط servlet>
<servlet-name>proLogin</servlet-name>
<url-pattern>/proLogin</url-pattern>
</servlet-mapping>
<سيرفيليت>
<servlet-name>proRegist</servlet-name>
<servlet-class>com.b510.album.web.ProRegistServlet</servlet-class>
</سيرفلت>
<رسم الخرائط servlet>
<servlet-name>proRegist</servlet-name>
<url-pattern>/proRegist</url-pattern>
</servlet-mapping>
<سيرفيليت>
<servlet-name>validateName</servlet-name>
<servlet-class>com.b510.album.web.ValidateNameServlet</servlet-class>
</سيرفلت>
<رسم الخرائط servlet>
<servlet-name>validateName</servlet-name>
<url-pattern>/validateName</url-pattern>
</servlet-mapping>
<سيرفيليت>
<servlet-name>getPhoto</servlet-name>
<servlet-class>com.b510.album.web.GetPhotoServlet</servlet-class>
</سيرفلت>
<رسم الخرائط servlet>
<servlet-name>getPhoto</servlet-name>
<url-pattern>/getPhoto</url-pattern>
</servlet-mapping>
<سيرفيليت>
<servlet-name>showImg</servlet-name>
<servlet-class>com.b510.album.web.ShowImgServlet</servlet-class>
</سيرفلت>
<رسم الخرائط servlet>
<servlet-name>showImg</servlet-name>
<url-pattern>/showImg</url-pattern>
</servlet-mapping>
<سيرفيليت>
<servlet-name>pageLoad</servlet-name>
<servlet-class>com.b510.album.web.PageLoadServlet</servlet-class>
</سيرفلت>
<رسم الخرائط servlet>
<servlet-name>pageLoad</servlet-name>
<url-pattern>/pageLoad</url-pattern>
</servlet-mapping>
<سيرفيليت>
<servlet-name>turnPage</servlet-name>
<servlet-class>com.b510.album.web.TurnPageServlet</servlet-class>
</سيرفلت>
<رسم الخرائط servlet>
<servlet-name>turnPage</servlet-name>
<url-pattern>/turnPage</url-pattern>
</servlet-mapping>
<سيرفيليت>
<servlet-name>proUpload</servlet-name>
<servlet-class>com.b510.album.web.ProUploadServlet</servlet-class>
</سيرفلت>
<رسم الخرائط servlet>
<servlet-name>proUpload</servlet-name>
<url-pattern>/proUpload</url-pattern>
</servlet-mapping>
<قائمة ملفات الترحيب>
<welcome-file>album.html</welcome-file>
</welcome-file-list>
</web-app>
<!-- تحديد مصدر بيانات Bean، ويتم تنفيذه باستخدام مصدر بيانات C3P0 -->
<معرف الفول = "مصدر البيانات" طريقة التدمير = "إغلاق"
>
<!-- حدد برنامج التشغيل للاتصال بقاعدة البيانات -->
<اسم الخاصية = "driverClass" value = "com.mysql.jdbc.Driver"/>
<!-- حدد عنوان URL للاتصال بقاعدة البيانات -->
<اسم الخاصية = "jdbcUrl"
القيمة = "jdbc:mysql://localhost:3308/db_ajax"/>
<!-- حدد اسم المستخدم للاتصال بقاعدة البيانات -->
<اسم الخاصية = "المستخدم" القيمة = "الجذر"/>
<!-- حدد كلمة المرور للاتصال بقاعدة البيانات -->
<اسم الخاصية = "كلمة المرور" القيمة = "الجذر"/>
<!--حدد الحد الأقصى لعدد الاتصالات بتجمع اتصالات قاعدة البيانات-->
<اسم الخاصية = "maxPoolSize" القيمة = "40"/>
<!-- حدد الحد الأدنى لعدد الاتصالات للاتصال بتجمع اتصالات قاعدة البيانات -->
<اسم الخاصية = "minPoolSize" القيمة = "1"/>
<!-- حدد عدد الاتصالات الأولية للاتصال بتجمع اتصالات قاعدة البيانات -->
<اسم الخاصية = "initialPoolSize" القيمة = "1"/>
<!-- حدد الحد الأقصى لوقت الخمول للاتصالات بتجمع اتصالات قاعدة البيانات -->
<اسم الخاصية = "maxIdleTime" value = "20"/>
</فول>
<!-- تعريف SessionFactory الخاص بالإسبات -->
<معرف الفول = "sessionFactory"
>
<!-- مصدر بيانات حقن التبعية، أدخل مصدر البيانات المحدد أعلاه -->
<property name="dataSource" ref="dataSource"/>
<!-- يتم استخدام السمة mappingResouces لسرد كافة ملفات التعيين -->
<اسم الخاصية = "mappingResources">
<قائمة>
<!-- يُستخدم ما يلي لسرد ملفات تعيين السبات-->
<value>com/b510/album/model/User.hbm.xml</value>
<value>com/b510/album/model/Photo.hbm.xml</value>
</قائمة>
</خاصية>
<!-- تحديد خصائص جلسة عمل Hibernate's SessionFactory -->
<اسم الخاصية = "hibernateProperties">
<الدعائم>
<!--حدد لهجة قاعدة البيانات-->
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLInnoDBdialect</prop>
<!-- ما إذا كان سيتم إنشاء قاعدة بيانات تلقائيًا في كل مرة حسب الحاجة -->
<prop key="hibernate.hbm2ddl.auto">تحديث</prop>
<!-- عرض SQL الذي تم إنشاؤه بواسطة عملية استمرار السبات -->
<prop key="hibernate.show_sql">صحيح</prop>
<!-- قم بتنسيق البرنامج النصي SQL ثم إخراجه -->
<prop key="hibernate.format_sql">صحيح</prop>
</الدعائم>
</خاصية>
</فول>
<!-- تكوين مكون UserDao -->
<معرف الفول = "userDao"
>
<!--إدخال مرجع SessionFactory-->
<property name="sessionFactory" ref="sessionFactory"/>
</فول>
<!-- تكوين مكون PhotoDao -->
<معرف الفول = "photoDao"
>
<property name="sessionFactory" ref="sessionFactory"/>
</فول>
<!-- تكوين مكون منطق أعمال خدمة الألبوم -->
<معرف الفول = "albumService"
>
<!-- قم بإدخال مكونين DAO في مكون منطق الأعمال -->
<property name="userDao" ref="userDao"/>
<اسم الخاصية = "photoDao" ref = "photoDao"/>
</فول>
<!-- قم بتكوين مدير المعاملات المحلي لـ Hibernate، واستخدم فئة HibernateTransactionManager -->
<!-- تطبق هذه الفئة واجهة PlatformTransactionManager، وهي تطبيق محدد للإسبات -->
<معرف الفول = "مدير المعاملات"
>
<!-- عند تكوين HibernateTransactionManager، يلزمك إدخال مرجع إلى SessionFactory -->
<property name="sessionFactory" ref="sessionFactory"/>
</فول>
<!-- قم بتكوين جانب المعاملة Bean وحدد مدير المعاملة -->
<tx:advice id="txAdvice" مدير المعاملات = "transactionManager">
<!-- يُستخدم لتكوين دلالات المعاملات التفصيلية-->
<tx:السمات>
<!-- جميع الأساليب التي تبدأ بـ 'get' هي للقراءة فقط -->
<tx:method name="get*" للقراءة فقط = "true"/>
<!-- تستخدم الطرق الأخرى إعدادات المعاملة الافتراضية -->
<tx:اسم الطريقة = "*"/>
</tx:السمات>
</tx:نصيحة>
<أوب: التكوين>
<!-- قم بتكوين نقطة قطع لمطابقة جميع الأساليب التي يتم تنفيذها بواسطة جميع الفئات التي تنتهي بـ Impl ضمن حزمة lee -->
<aop:pointcut معرف = "leeService"
التعبير = "التنفيذ (* com.b510.album.service.impl.*Impl.*(..))"/>
<!-- حدد تطبيق جانب معاملة txAdvice عند نقطة إدخال leeService -->
<aop:مشورة المستشار-ref="txAdvice"
pointcut-ref="leeService"/>
</aop:التكوين>
</فاصوليا>
إعادة تعيين الوظيفة ()
{
// امسح مربعي النص المكونين من سطر واحد للمستخدم وتمريرهما
$("#user").val("");
$("#pass").val("");
}
// قم بالتبديل إلى مربع حوار التسجيل
تغيير الدالة ()
{
// إخفاء الزرين لتسجيل الدخول
$("#loginDiv").hide("500");
// عرض زرين للتسجيل
$("#registDiv").show("500");
}
// وظيفة للتعامل مع تسجيل دخول المستخدم
الدالة برولوجين()
{
// احصل على قيم مربعي النص user وتمريرها
فار المستخدم = $.trim($("#user").val());
فار باس = $.trim($("#pass").val());
إذا (المستخدم == فارغ || المستخدم == ""
||. تمرير == فارغ||.
{
تنبيه ("يجب عليك إدخال اسم المستخدم وكلمة المرور قبل أن تتمكن من تسجيل الدخول")؛
عودة كاذبة.
}
آخر
{
// إرسال طلب POST غير متزامن إلى proLogin
$.post("proLogin", $('#user,#pass').serializeArray()
، فارغة، "النص")؛
}
}
// الوظيفة التي تعالج تسجيل المستخدم
وظيفة التسجيل ()
{
// احصل على قيم مربعي النص user وتمريرها
فار المستخدم = $.trim($("#user").val());
فار باس = $.trim($("#pass").val());
إذا (المستخدم == فارغ || المستخدم == "" || تمرير == فارغ || تمرير = = "")
{
تنبيه("يجب عليك إدخال اسم المستخدم وكلمة المرور قبل التسجيل");
عودة كاذبة.
}
آخر
{
// إرسال طلب POST غير متزامن إلى proRegist
$.post("proRegist", $('#user,#pass').serializeArray()
، فارغة، "النص")؛
}
}
//تحقق مما إذا كان اسم المستخدم متاحًا
دالة اسم التحقق ()
{
// احصل على قيمة مربع نص المستخدم
فار المستخدم = $.trim($("#user").val());
إذا (المستخدم == فارغ || المستخدم == "")
{
تنبيه ("لم تقم بإدخال اسم المستخدم الخاص بك بعد!")؛
عودة كاذبة.
}
آخر
{
// أرسل طلب POST غير متزامن للتحقق من صحة الاسم
$.post("validateName", $('#user').serializeArray()
، فارغة، "النص")؛
}
}
// احصل بشكل دوري على صور المستخدم الحالي والصفحة الحالية
الدالة onLoadHandler()
{
// أرسل طلب GET غير متزامن إلى getPhoto
$.getScript("getPhoto");
// قم بتنفيذ هذه الطريقة مرة أخرى بعد تحديد ثانية واحدة
setTimeout("onLoadHandler()", 1000);
}
// عرض الصور
وظيفة showImg (اسم الملف)
{
$.getScript("showImg?img=" + fileName);
// document.getElementById("show").src="uploadfiles/" + fileName + "?now=" + new Date();
// $("#show").attr("src" , "uploadfiles/" + fileName);
}
// وظيفة للتعامل مع تقليب الصفحة
وظيفة TurnPage (العلم)
{
$.getScript("turnPage?turn=" + flag);
}
// افتح نافذة التحميل
الدالة openUpload()
{
$("#uploadDiv").show()
الحوار(
{
مشروط: صحيح،
يمكن تغيير حجمها: كاذبة،
العرض: 428,
الارتفاع: 220،
التراكب: {التعتيم: 0.5، الخلفية: "أسود"}
});
}
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import org.springframework.context.ApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
import com.b510.album.service.AlbumService;
/**
*
* @ المؤلف هونغتن
*
*/
الطبقة العامة BaseServlet تمتد HttpServlet {
serialVersionUID النهائي الطويل الخاص الثابت = -2041755371540813745L؛
خدمة الألبومات المحمية كـ؛
// حدد المنشئ واحصل على مرجع لحاوية الربيع
init الفراغ العام (تكوين ServletConfig) يطرح ServletException {
super.init(config);
ApplicationContext ctx = WebApplicationContextUtils
.getWebApplicationContext(getServletContext());
as = (AlbumService) ctx.getBean("albumService");
}
}
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.b510.album.exception.AlbumException;
import com.b510.album.web.base.BaseServlet;
/**
*
* @ المؤلف هونغتن
*
*/
الطبقة العامة ValidateNameServlet تمتد BaseServlet {
serialVersionUID النهائي الطويل الخاص = 9038839276327742641L؛
خدمة باطلة عامة (طلب HttpServletRequest، استجابة HttpServletResponse)
يلقي IOException، ServletException {
اسم السلسلة = request.getParameter("user");
Response.setContentType("text/javascript;charset=GBK");
// احصل على دفق الإخراج
PrintWriter out = Response.getWriter();
يحاول {
إذا (الاسم! = فارغ) {
إذا (as.validateName(name)) {
println("alert('تهانينا، لم يتم استخدام اسم المستخدم هذا بعد، يمكنك استخدام اسم المستخدم هذا!');");
} آخر {
out.println("alert('عذرًا، اسم المستخدم هذا مشغول بالفعل بواسطة شخص آخر!');");
println("$('#user').val('');");
}
} آخر {
out.println("alert('حدث استثناء أثناء التحقق من اسم المستخدم، يرجى تغيير اسم المستخدم والمحاولة مرة أخرى!');");
}
} التقاط (AlbumException على سبيل المثال) {
out.println("alert('" + ex.getMessage() + "الرجاء تغيير اسم المستخدم الخاص بك والمحاولة مرة أخرى!');");
}
}
}
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.b510.album.exception.AlbumException;
import com.b510.album.vo.PhotoHolder;
import com.b510.album.web.base.BaseServlet;
/**
*
* @ المؤلف هونغتن
*
*/
الطبقة العامة TurnPageServlet تمتد BaseServlet {
serialVersionUID الطويل النهائي الثابت الخاص = -5097286750384714951L؛
خدمة باطلة عامة (طلب HttpServletRequest، استجابة HttpServletResponse)
يلقي IOException، ServletException {
سلسلة بدوره = request.getParameter("turn");
جلسة HttpSession = request.getSession(true);
اسم السلسلة = (سلسلة) session.getAttribute("curUser");
Object pageObj = session.getAttribute("curPage");
// إذا كانت قيمة curPage في HttpSession فارغة، فاضبط الصفحة الحالية على الصفحة الأولى
int curPage = pageObj == null 1 : (Integer) pageObj;
Response.setContentType("text/javascript;charset=GBK");
PrintWriter out = Response.getWriter();
إذا (curPage == 1 && Turn.equals("-1")) {
out.println("alert('الآن هي الصفحة الأولى، لا يمكن إعادة توجيه الصفحة!')");
} آخر {
// تنفيذ تقليب الصفحة وتعديل قيمة curPage.
curPage += Integer.parseInt(turn);
يحاول {
List<PhotoHolder> الصور = as.getPhotoByUser(name, curPage);
// لا يوجد سجل بعد قلب الصفحة
إذا (photos.size() == 0) {
out.println("alert("لم يتم العثور على سجل للصور بعد قلب الصفحة، وسيعود النظام تلقائيًا إلى الصفحة السابقة")");
// العودة إلى الصفحة السابقة
curPage -= Integer.parseInt(turn);
} آخر {
// ضع رقم الصفحة التي يتصفحها المستخدم في جلسة HttpSession
session.setAttribute("curPage", curPage);
}
} التقاط (AlbumException على سبيل المثال) {
println("alert('" + ex.getMessage() + "الرجاء المحاولة مرة أخرى!')");
}
}
}
}
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.b510.album.web.base.BaseServlet;
/**
*
* @ المؤلف هونغتن
*
*/
الطبقة العامة ShowImgServlet تمتد BaseServlet {
serialVersionUID النهائي الطويل الخاص = 1460203270448078666L؛
خدمة باطلة عامة (طلب HttpServletRequest، استجابة HttpServletResponse)
يلقي IOException، ServletException {
String img = request.getParameter("img");
جلسة HttpSession = request.getSession(true);
// ضع الصورة التي يتصفحها المستخدم في جلسة HttpSession.
session.setAttribute("curImg", img);
Response.setContentType("text/javascript;charset=GBK");
// احصل على دفق الإخراج
PrintWriter out = Response.getWriter();
println("$('#show').attr('src' , 'uploadfiles/" + img + "');");
}
}
import java.io.FileOutputStream;
import java.io.IOException;
استيراد java.io.InputStream؛
import java.io.PrintWriter;
import java.util.Iterator;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import com.b510.album.exception.AlbumException;
import com.b510.album.web.base.BaseServlet;
/**
*
* @ المؤلف هونغتن
*
*/
@SuppressWarnings("تم إلغاء التحديد")
الطبقة العامة ProUploadServlet تمتد BaseServlet {
serialVersionUID النهائي الطويل الخاص = 642229801989188793L؛
خدمة باطلة عامة (طلب HttpServletRequest، استجابة HttpServletResponse)
يلقي IOException، ServletException {
مكرر iter = null;
عنوان السلسلة = فارغ؛
Response.setContentType("text/html;charset=GBK");
// احصل على دفق الإخراج
PrintWriter out = Response.getWriter();
out.println("<script type='text/javascript>'");
يحاول {
// استخدم برنامج التحميل للتعامل مع التحميلات
FileItemFactory Factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
عناصر القائمة = upload.parseRequest(request);
iter = items.iterator();
// اجتياز المحتوى المطابق لكل عنصر تحكم في النموذج
بينما (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
// إذا كان العنصر عبارة عن حقل نموذج عادي
إذا (item.isFormField()) {
اسم السلسلة = item.getFieldName();
إذا (name.equals("العنوان")) {
title = item.getString("GBK");
}
}
// إذا كان الملف بحاجة إلى التحميل
آخر {
مستخدم السلسلة = (سلسلة) request.getSession().getAttribute(
"curUser");
String serverFileName = null;
// إرجاع اسم الملف
String fileName = item.getName();
// احصل على لاحقة الملف
String appden = fileName.substring(fileName
.lastIndexOf("."));
// نوع ملف الإرجاع
String contentType = item.getContentType();
// يُسمح فقط بتحميل الصور بتنسيق jpg وgif وpng
إذا (contentType.equals("image/pjpeg")
||.contentType.equals("image/gif").
||.contentType.equals("image/jpeg")
||.contentType.equals("image/png")) {
InputStream input = item.getInputStream();
serverFileName = String.valueOf(System
.currentTimeMillis());
إخراج FileOutputStream = FileOutputStream جديد (
getServletContext().getRealPath("/")
+ "uploadfiles//" + اسم ملف الخادم
+ إلحاق)؛
بايت[] المخزن المؤقت = بايت جديد[1024];
إنت لين = 0;
بينما ((لين = input.read(buffer)) > 0) {
input.write(buffer, 0, len);
}
input. Close();
الإخراج. إغلاق ()؛
as.addPhoto(user, title, serverFileName + appden);
Response.sendRedirect("album.html?resultCode=0");
} آخر {
Response.sendRedirect("album.html?resultCode=1");
}
}
}
} قبض على (FileUploadException fue) {
printStackTrace();
Response.sendRedirect("album.html?resultCode=2");
} التقاط (AlbumException على سبيل المثال) {
ex.printStackTrace();
}
}
}
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.b510.album.exception.AlbumException;
import com.b510.album.web.base.BaseServlet;
/**
*
* @ المؤلف هونغتن
*
*/
الطبقة العامة ProRegistServlet تمتد BaseServlet {
serialVersionUID النهائي الطويل الخاص الثابت = -3174994243043815566L؛
خدمة باطلة عامة (طلب HttpServletRequest، استجابة HttpServletResponse)
يلقي IOException، ServletException {
اسم السلسلة = request.getParameter("user");
تمرير السلسلة = request.getParameter("pass");
Response.setContentType("text/javascript;charset=GBK");
// احصل على دفق الإخراج
PrintWriter out = Response.getWriter();
يحاول {
println("$('#user,#pass').val('');");
if (name != null && pass != null && as.registUser(name, pass) > 0) {
جلسة HttpSession = request.getSession(true);
session.setAttribute("curUser", name);
out.println("alert('مبروك، لقد قمت بالتسجيل بنجاح!');");
println("$('#noLogin').hide(500);");
println("$('#hasLogin').show(500);");
// اتصل بالطريقة للحصول على قائمة الصور
println("onLoadHandler();");
} آخر {
out.println("alert('فشل التسجيل الخاص بك، يرجى اختيار اسم مستخدم مناسب والمحاولة مرة أخرى!');");
}
} التقاط (AlbumException على سبيل المثال) {
out.println("alert('" + ex.getMessage() + "الرجاء تغيير اسم المستخدم الخاص بك والمحاولة مرة أخرى!');");
}
}
}
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.b510.album.exception.AlbumException;
import com.b510.album.web.base.BaseServlet;
/**
*
* @ المؤلف هونغتن
*
*/
الطبقة العامة ProLoginServlet تمتد BaseServlet {
serialVersionUID النهائي الطويل الخاص الثابت = -1253530202224049958L؛
خدمة باطلة عامة (طلب HttpServletRequest، استجابة HttpServletResponse)
يلقي IOException، ServletException {
اسم السلسلة = request.getParameter("user");
تمرير السلسلة = request.getParameter("pass");
Response.setContentType("text/javascript;charset=GBK");
// احصل على دفق الإخراج
PrintWriter out = Response.getWriter();
يحاول {
// امسح محتويات مربعات الإدخال بمعرفات المستخدم وتمريرها
println("$('#user,#pass').val('');");
if (name != null && pass != null && as.userLogin(name, pass)) {
جلسة HttpSession = request.getSession(true);
session.setAttribute("curUser", name);
out.println("alert('لقد قمت بتسجيل الدخول بنجاح!')");
println("$('#noLogin').hide(500)");
println("$('#hasLogin').show(500)");
// اتصل بالطريقة للحصول على قائمة الصور
println("onLoadHandler();");
} آخر {
out.println("alert('اسم المستخدم وكلمة المرور اللذين أدخلتهما غير متطابقين، يرجى المحاولة مرة أخرى!')");
}
} التقاط (AlbumException على سبيل المثال) {
out.println("alert('" + ex.getMessage() + "الرجاء تغيير اسم المستخدم وكلمة المرور والمحاولة مرة أخرى!')");
}
}
}
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.b510.album.web.base.BaseServlet;
/**
*
* @ المؤلف هونغتن
*
*/
الطبقة العامة PageLoadServlet تمتد BaseServlet {
serialVersionUID النهائي الطويل الخاص = 7512001492425261841L؛
خدمة باطلة عامة (طلب HttpServletRequest، استجابة HttpServletResponse)
يلقي IOException، ServletException {
Response.setContentType("text/javascript;charset=GBK");
// احصل على دفق الإخراج
PrintWriter out = Response.getWriter();
جلسة HttpSession = request.getSession(true);
اسم السلسلة = (سلسلة) session.getAttribute("curUser");
// إذا لم يكن الاسم خاليًا، فهذا يشير إلى أن المستخدم قد قام بتسجيل الدخول
إذا (الاسم ! = فارغ) {
// إخفاء العنصر بالمعرف noLogin (لوحة تسجيل دخول المستخدم)
println("$('#noLogin').hide()");
// إخفاء العنصر بالمعرف hasLogin (لوحة تحكم المستخدم)
println("$('#hasLogin').show()");
// اتصل بالطريقة للحصول على قائمة الصور
println("onLoadHandler();");
// أخرج سمة curImg من جلسة HttpSession
String curImg = (String) session.getAttribute("curImg");
// أعد عرض الصورة التي يتصفحها المستخدم
إذا (curImg!= فارغة) {
out.println("$('#show').attr('src' , 'uploadfiles/" + curImg
+ "');");
}
}
}
}
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.b510.album.exception.AlbumException;
import com.b510.album.vo.PhotoHolder;
import com.b510.album.web.base.BaseServlet;
/**
*
* @ المؤلف هونغتن
*
*/
الطبقة العامة GetPhotoServlet تمتد BaseServlet {
serialVersionUID النهائي الطويل الخاص الثابت = -8380695760546582385L؛
خدمة باطلة عامة (طلب HttpServletRequest، استجابة HttpServletResponse)
يلقي IOException، ServletException {
جلسة HttpSession = request.getSession(true);
// احصل على رقم الصفحة الحالية للمستخدم الحالي وقائمة الصور الخاصة بالنظام من HttpSession
اسم السلسلة = (سلسلة) session.getAttribute("curUser");
Object pageObj = session.getAttribute("curPage");
// إذا كانت قيمة curPage في HttpSession فارغة، فاضبط الصفحة الحالية على الصفحة الأولى
int curPage = pageObj == null 1 : (Integer) pageObj;
Response.setContentType("text/javascript;charset=GBK");
// احصل على دفق الإخراج
PrintWriter out = Response.getWriter();
يحاول {
List<PhotoHolder> الصور = as.getPhotoByUser(name, curPage);
// امسح العنصر بمعرف القائمة
println("var list = $('#list').empty();");
لـ (PhotoHolder ph : الصور) {
// أضف كل صورة ديناميكيًا إلى العنصر بمعرف القائمة
out.println("list.append(/"<div align='center'>"
+ "<a href='javascript:void(0)' onclick=///"showImg('"
+ ph.getFileName() + "');///">" + ph.getTitle()
+ "</a></div>/");");
}
} التقاط (AlbumException على سبيل المثال) {
println("alert('" + ex.getMessage() + "الرجاء المحاولة مرة أخرى!')");
}
}
}
/**
*
* @ المؤلف هونغتن
*
*/
الطبقة العامة PhotoHolder {
// اسم الصورة
عنوان سلسلة خاصة؛
// اسم ملف الصورة على الخادم
اسم ملف سلسلة خاص؛
// مُنشئ بدون معلمات
حامل الصور العام () {
}
// مُنشئ لتهيئة كافة الخصائص
PhotoHolder العامة (عنوان السلسلة، اسم ملف السلسلة) {
this.title = title;
this.fileName = fileName;
}
// طرق الضبط و getter لسمة العنوان
عنوان الفراغ العام (عنوان السلسلة) {
this.title = title;
}
سلسلة عامة getTitle () {
إرجاع هذا.العنوان؛
}
// أساليب Setter و getter لسمة fileName
public void setFileName(String fileName) {
this.fileName = fileName;
}
سلسلة عامة getFileName () {
إرجاع this.fileName;
}
}
import java.util.ArrayList;
import java.util.List;
import com.b510.album.dao.PhotoDao;
import com.b510.album.dao.UserDao;
import com.b510.album.exception.AlbumException;
استيراد com.b510.album.model.Photo؛
import com.b510.album.model.User;
import com.b510.album.service.AlbumService;
import com.b510.album.vo.PhotoHolder;
/**
*
* @ المؤلف هونغتن
*
*/
الطبقة العامة AlbumServiceImpl تنفذ AlbumService {
// 2 مكونات DAO التي يعتمد عليها مكون منطق الأعمال
Private UserDao ud = null;
PhotoDao الخاص pd = null;
// حقن التبعية لطرق الضبط التي يتطلبها مكونان من DAO
مجموعة الفراغ العامUserDao(UserDao ud) {
this.ud = ud;
}
مجموعة الفراغ العامةPhotoDao(PhotoDao pd) {
this.pd = pd;
}
/**
* التحقق من نجاح تسجيل دخول المستخدم.
*
* @اسم المعلمة
* اسم مستخدم تسجيل الدخول
* @param pass
* كلمة المرور لتسجيل الدخول
* @return نتيجة تسجيل دخول المستخدم، تُرجع صحيحًا إذا نجحت، وإلا تُرجع خطأ
*/
تسجيل الدخول المنطقي العام (اسم السلسلة، تمرير السلسلة) {
يحاول {
// استخدم UserDao للاستعلام عن المستخدمين بناءً على اسم المستخدم
المستخدم u = ud.findByName(name);
إذا (u != null && u.getPass().equals(pass)) {
عودة صحيحة؛
}
عودة كاذبة.
} قبض (استثناء على سبيل المثال) {
ex.printStackTrace();
throw new AlbumException("حدث استثناء أثناء معالجة تسجيل دخول المستخدم!");
}
}
/**
* تسجيل مستخدم جديد
*
* @اسم المعلمة
* اسم المستخدم للمستخدم المسجل حديثا
* @param pass
* كلمة المرور للمستخدمين المسجلين حديثا
* @return المفتاح الأساسي للمستخدم المسجل حديثًا
*/
public int registUser(اسم السلسلة، تمرير السلسلة) {
يحاول {
// أنشئ مثيل مستخدم جديد
المستخدم u = مستخدم جديد ()؛
u.setName(name);
u.setPass(pass);
// استمر في كائن المستخدم
ud.save(u);
إرجاع u.getId();
} قبض (استثناء على سبيل المثال) {
ex.printStackTrace();
throw new AlbumException("حدث استثناء أثناء تسجيل مستخدم جديد!");
}
}
/**
* إضافة الصور
*
* @param المستخدم
* المستخدم الذي أضاف الصورة
* @param العنوان
* أضف عنوانًا لصورتك
* @param اسم الملف
* إضافة اسم ملف الصورة على الخادم
*return المفتاح الأساسي للصورة المضافة حديثًا
*/
public int addPhoto(String user, String title, String fileName) {
يحاول {
// أنشئ نسخة صورة جديدة
الصورة ع = صورة جديدة ()؛
p.setTitle(title);
p.setFileName(fileName);
p.setUser(ud.findByName(user));
// مثيل الصورة الثابتة
pd.save(p);
إرجاع p.getId();
} قبض (استثناء على سبيل المثال) {
ex.printStackTrace();
throw new AlbumException("حدث استثناء أثناء إضافة الصور!");
}
}
/**
* الحصول على جميع صور المستخدم حسب المستخدم
*
* @param المستخدم
* المستخدم الحالي
* @param رقم الصفحة
*رقم الصفحة
* @return إرجاع الصور التابعة للمستخدم والصفحة المحددة
*/
القائمة العامة <PhotoHolder> getPhotoByUser(String user, int pageNo) {
يحاول {
List<Photo> pl = pd.findByUser(ud.findByName(user),pageNo);
List<PhotoHolder> result = new ArrayList<PhotoHolder>();
لـ (الصورة ص: رر) {
result.add(new PhotoHolder(p.getTitle(), p.getFileName()));
}
نتيجة الإرجاع؛
} قبض (استثناء على سبيل المثال) {
ex.printStackTrace();
throw new AlbumException("حدث استثناء أثناء الاستعلام عن قائمة الصور!");
}
}
/**
* التحقق مما إذا كان اسم المستخدم متاحًا، أي ما إذا كان اسم المستخدم موجودًا بالفعل في قاعدة البيانات
*
* @اسم المعلمة
* اسم المستخدم الذي يحتاج إلى التحقق
* @return يُرجع صحيحًا إذا كان اسم المستخدم متاحًا، وإلا يُرجع خطأ.
*/
اسم التحقق المنطقي العام (اسم السلسلة) {
يحاول {
// الاستعلام عن مثيل المستخدم المقابل بناءً على اسم المستخدم
المستخدم u = ud.findByName(name);
إذا (ش ! = فارغة) {
عودة كاذبة.
}
عودة صحيحة؛
} قبض (استثناء على سبيل المثال) {
ex.printStackTrace();
throw new AlbumException("حدث استثناء أثناء عملية التحقق من وجود اسم المستخدم!");
}
}
}
import java.util.List;
import com.b510.album.vo.PhotoHolder;
/**
*
* @ المؤلف هونغتن
*
*/
الواجهة العامة AlbumService {
/**
* التحقق من نجاح تسجيل دخول المستخدم.
*
* @اسم المعلمة
* اسم مستخدم تسجيل الدخول
* @param pass
* كلمة المرور لتسجيل الدخول
* @return نتيجة تسجيل دخول المستخدم، تُرجع صحيحًا إذا نجحت، وإلا تُرجع خطأ
*/
boolean userLogin(String name, String pass);
/**
* تسجيل مستخدم جديد
*
* @اسم المعلمة
* اسم المستخدم للمستخدم المسجل حديثا
* @param pass
* كلمة المرور للمستخدمين المسجلين حديثا
* @return المفتاح الأساسي للمستخدم المسجل حديثًا
*/
int RegisterUser(اسم السلسلة، تمرير السلسلة)؛
/**
* إضافة الصور
*
* @param المستخدم
* المستخدم الذي أضاف الصورة
* @param العنوان
* أضف عنوانًا لصورتك
* @param اسم الملف
* إضافة اسم ملف الصورة على الخادم
*return المفتاح الأساسي للصورة المضافة حديثًا
*/
int addPhoto(String user, String title, String fileName);
/**
* الحصول على جميع صور المستخدم بناء على المستخدم
*
* @param المستخدم
* المستخدم الحالي
* @param رقم الصفحة
*رقم الصفحة
* @return إرجاع الصور التابعة للمستخدم والصفحة المحددة
*/
List<PhotoHolder> getPhotoByUser(String user, int pageNo);
/**
* التحقق مما إذا كان اسم المستخدم متاحًا، أي ما إذا كان اسم المستخدم موجودًا بالفعل في قاعدة البيانات
*
* @اسم المعلمة
* اسم المستخدم الذي يحتاج إلى التحقق
* @return يُرجع صحيحًا إذا كان اسم المستخدم متاحًا، وإلا يُرجع خطأ.
*/
اسم التحقق المنطقي (اسم السلسلة) ؛
}
/**
* فئة كيان الصورة
*
* @ المؤلف هونغتن
*
*/
صورة الطبقة العامة {
// سمة التعريف
معرف عدد صحيح خاص؛
// اسم الصورة
عنوان السلسلة الخاصة ؛
// اسم ملف الصورة على الخادم
اسم الملف الخاص بالسلسلة ؛
// احفظ المستخدم الذي تنتمي إليه الصورة
مستخدم خاص للمستخدم ؛
// مُنشئ بدون معلمات
الصورة العامة () {
}
// مُنشئ لتهيئة جميع الخصائص
الصورة العامة (معرف عدد صحيح ، عنوان السلسلة ، اسم ملف السلسلة ، مستخدم المستخدم) {
this.id = id;
this.title = title ؛
this.filename = اسم الملف ؛
this.user = المستخدم ؛
}
// Setter و Getter Methods of ID Sendribute
setId public void (integer id) {
this.id = id;
}
عدد صحيح عام getid () {
إرجاع هذا.
}
// أساليب Setter و Getter لسمة العنوان
public void settitle (عنوان السلسلة) {
this.title = title ؛
}
السلسلة العامة getTitle () {
إرجاع هذا.
}
// سمة سمة اسم الملف
public void setFilename (اسم ملف السلسلة) {
this.filename = اسم الملف ؛
}
السلسلة العامة getFilename () {
إرجاع this.filename ؛
}
// أساليب Setter و Getter الخاصة بسمات المستخدم
public void setuser (مستخدم المستخدم) {
this.user = المستخدم ؛
}
المستخدم العام getUser () {
إرجاع هذا.
}
}
استيراد java.util.set ؛
استيراد java.util.hashset ؛
/**
* فئة كيان المستخدم
*
* @ المؤلف هونغتن
*
*/
مستخدم الفئة العامة {
// سمة التعرف
معرف عدد صحيح خاص ؛
// اسم مستخدم المستخدم
اسم سلسلة خاصة؛
// كلمة مرور هذا المستخدم
تمريرة سلسلة خاصة
// استخدم SET لحفظ الصور المرتبطة بهذا المستخدم
مجموعة خاصة <Photo> الصور = new hashset <forture> () ؛
// مُنشئ بدون معلمات
المستخدم العام () {
}
// مُنشئ لتهيئة جميع الخصائص
المستخدم العام (معرف INTEGER ، اسم السلسلة ، تمريرة السلسلة) {
this.id = id;
this.name = name;
this.pass = pass ؛
}
// Setter و Getter Methods of ID Sendribute
setId public void (integer id) {
this.id = id;
}
عدد صحيح عام getid () {
إرجاع هذا.
}
// Setter و Getter Methods of Name Attribute
اسم مجموعة الفراغ العام (اسم السلسلة) {
this.name = name;
}
سلسلة عامة getName () {
إرجاع هذا. الاسم؛
}
// Setter و Getter Methods of Pass Sentribute
public void setPass (سلسلة ممر) {
this.pass = pass ؛
}
السلسلة العامة getPass () {
إرجاع هذا.
}
// سمة أساليب الصور و getter من الصور
public void setPhotos (set <hoto> صور) {
this.photos = الصور ؛
}
مجموعة عامة <moate> getPhotos () {
إرجاع this.photos ؛
}
}
/**
*استثناء مخصص
*
* @ المؤلف هونغتن
*
*/
يمتد ألبوم الطبقة العامة إلى RunTimeException {
استاتيكي خاص نهائي الطويل المسلسل = 8050756054850450421L ؛
// توفير مُنشئ بدون معلمة
الألبوم العام () {
}
// توفير مُنشئ مع معلمات السلسلة
الألبوم العام (String MSG) {
سوبر (MSG) ؛
}
}
استيراد java.sql.SQLException؛
import java.util.List;
استيراد org.hibernate.hibernateException ؛
استيراد org.hibernate.query ؛
استيراد org.hibernate.session ؛
استيراد org.springframework.orm.hibernate3.hibernatecallback ؛
استيراد org.springframework.orm.hibernate3.support.hibernatedaosupport ؛
/**
*
* @ المؤلف هونغتن
*
*/
suppressWarnings ("غير محدد")
الطبقة العامة hongtenhibernatedaosupport يمتد heibernatedaosupport {
/**
* استخدم عبارات HQL لترحيل عمليات الاستعلام
*
* Param HQL
* بيان HQL ليتم الاستعلام عنه
* param الإزاحة
* فهرس السجل الأول
* param pagesize
*عدد السجلات التي سيتم عرضها في كل صفحة
* RETURN جميع سجلات الصفحة الحالية
*/
القائمة العامة FindBypage (السلسلة النهائية HQL ، إزاحة INT النهائية ،
int النهائي pagesize) {
قائمة قائمة = gethibernatetemplate (). executefind (new hibernatecallback () {
كائن عام doinhibernate (جلسة الجلسة)
يلقي HibernateException ، sqlexception {
النتيجة قائمة = session.createquery (HQL) .setFirStresult (إزاحة)
.setMaxResults (pagesize) .list () ؛
نتيجة الإرجاع؛
}
});
قائمة العودة؛
}
/**
* استخدم عبارات HQL لترحيل عمليات الاستعلام
*
* Param HQL
* بيان HQL ليتم الاستعلام عنه
*قيمةparam
* إذا كان لدى HQL معلمة تحتاج إلى تمريرها ، فإن القيمة هي المعلمة التي تم تمريرها.
* param الإزاحة
* فهرس السجل الأول
* param pagesize
*عدد السجلات التي سيتم عرضها في كل صفحة
* RETURN جميع سجلات الصفحة الحالية
*/
القائمة العامة FindBypage (سلسلة HQL النهائية ، قيمة الكائن النهائي ،
إزاحة int النهائية ، pagesize النهائي) {
قائمة قائمة = gethibernatetemplate (). executefind (new hibernatecallback () {
كائن عام doinhibernate (جلسة الجلسة)
يلقي HibernateException ، sqlexception {
قائمة قائمة = session.createquery (HQL) .SetParameter (0 ، القيمة)
.setfirstresult (إزاحة) .SetMaxResults (pagesize) .list () ؛
نتيجة الإرجاع؛
}
});
قائمة العودة؛
}
/**
* استخدم عبارات HQL لترحيل عمليات الاستعلام
*
* Param HQL
* بيان HQL ليتم الاستعلام عنه
* قيم param
* إذا كان لدى HQL معلمات متعددة تحتاج إلى تمريرها ، فإن القيم هي صفيف المعلمات التي تم تمريرها.
* param الإزاحة
* فهرس السجل الأول
* param pagesize
*عدد السجلات التي سيتم عرضها في كل صفحة
* RETURN جميع سجلات الصفحة الحالية
*/
القائمة العامة FindBypage (سلسلة HQL النهائية ، قيم الكائن النهائي [] ،
إزاحة int النهائية ، pagesize النهائي) {
قائمة قائمة = gethibernatetemplate (). executefind (new hibernatecallback () {
كائن عام doinhibernate (جلسة الجلسة)
يلقي HibernateException ، sqlexception {
استعلام Query = Session.Createquery (HQL) ؛
لـ (int i = 0 ؛ i <border.length ؛ i ++) {
Query.SetParameter (i ، القيم [i]) ؛
}
قائمة قائمة = Query.SetFirStresult (إزاحة) .SetMaxResults (
pagesize) .list () ؛
نتيجة الإرجاع؛
}
});
قائمة العودة؛
}
}
import java.util.List;
استيراد com.b510.album.dao.photodao ؛
استيراد com.b510.album.enhance.hongtenhibernatedaosupport ؛
استيراد com.b510.album.model.photo ؛
استيراد com.b510.album.model.user ؛
/**
*
* @ المؤلف هونغتن
*
*/
suppressWarnings ("غير محدد")
يمتد PhotoDaohibernate من الطبقة العامة الأدوات التي تتوافق مع HongtenHibernatedAoSupport
photodao {
/**
* قم بتحميل مثيل الصور بناءً على سمة التعرف
*
* @param id
* قيمة سمة الهوية لمثيل الصورة التي يجب تحميلها
* @إعادة مثيل الصورة المقابل لسمة التعرف المحددة
*/
الصورة العامة GET (INTEGER ID) {
return (photo) gethibernatetemplate (). get (photo.class ، id) ؛
}
/**
* استمر في مثيل الصورة المحدد
*
* param photo
* مثيل الصور الذي يجب استمراره
* @إعادة قيمة سمة الهوية بعد استمرار مثيل الصورة
*/
عدد صحيح عام حفظ (صورة الصورة) {
إرجاع (عدد صحيح) gethibernateTemplate (). حفظ (الصورة) ؛
}
/**
* تعديل مثيل الصور المحدد
*
* param photo
* مثيل الصور الذي يجب تعديله
*/
تحديث الفراغ العام (صورة الصورة) {
GethibernateTemplate (). التحديث (الصورة) ؛
}
/**
* حذف مثيل الصور المحدد
*
* param photo
* مثيل الصور الذي يجب حذفه
*/
حذف الفراغ العام (صورة الصورة) {
gethibernatetemplate (). حذف (الصورة) ؛
}
/**
* حذف مثيل الصورة بناءً على سمة التعريف
*
* @param id
* قيمة سمة التعرف لمثيل الصورة التي يجب حذفها
*/
حذف الفراغ العام (معرف INTEGER) {
gethibernatetemplate (). حذف (الحصول على (معرف)) ؛
}
/**
* الاستعلام عن جميع مثيلات الصور
*
* @إعادة جميع مثيلات الصور في قاعدة البيانات
*/
القائمة العامة <forts> findall () {
إرجاع (قائمة <fult>) gethibernateTemplate (). Find ("From Photo") ؛
}
/**
* الاستعلام عن الصور التي تنتمي إلى مستخدمين محددين وأداء التحكم في الترحيل
*
* param user
* الاستعلام عن المستخدم الذي تنتمي صوره إلى
* param pageno
*صفحة محددة ليتم الاستعلام عنها
* @إعادة الصورة التي تم الاستعلام عنها
*/
القائمة العامة <forts> findbyuser (مستخدم المستخدم ، int pageno) {
int arsom = (pageno - 1) * page_size ؛
// إرجاع نتائج الاستعلام على الترحيل
إرجاع (قائمة <fheals>) FindBypage ("من الصورة B حيث B.User =؟" ، المستخدم ،
الإزاحة ، page_size) ؛
}
}
import java.util.List;
استيراد com.b510.album.dao.userdao ؛
استيراد com.b510.album.enhance.hongtenhibernatedaosupport ؛
استيراد com.b510.album.model.user ؛
/**
*
* @ المؤلف هونغتن
*
*/
suppressWarnings ("غير محدد")
الطبقة العامة userDaoHibernate
userdao {
/**
* تحميل مثيل المستخدم بناءً على سمة التعرف
*
* @param id
* قيمة سمة الهوية لمثيل المستخدم الذي يجب تحميله
* مثيل مستخدم RETURN يتوافق مع سمة التعرف المحددة
*/
المستخدم العام يحصل على (معرف عدد صحيح) {
إرجاع (مستخدم) gethibernateTemplate (). get (user.class ، id) ؛
}
/**
* استمر في مثيل المستخدم المحدد
*
* param user
* مثيل المستخدم الذي يجب استمراره
* @إعادة قيمة سمة الهوية بعد استمرار مثيل المستخدم
*/
عدد صحيح عام حفظ (مستخدم المستخدم) {
إرجاع (عدد صحيح) gethibernateTemplate (). حفظ (المستخدم) ؛
}
/**
* تعديل مثيل المستخدم المحدد
*
* param user
* مثيل المستخدم الذي يجب تعديله
*/
تحديث الفراغ العام (مستخدم المستخدم) {
gethibernatetemplate (). تحديث (المستخدم) ؛
}
/**
* حذف مثيل المستخدم المحدد
*
* param user
* مثيل المستخدم الذي يجب حذفه
*/
حذف الفراغ العام (مستخدم المستخدم) {
gethibernatetemplate (). حذف (المستخدم) ؛
}
/**
* حذف مثيل المستخدم بناءً على سمة التعرف
*
* @param id
* قيمة سمة التعرف لمثيل المستخدم الذي يجب حذفه
*/
حذف الفراغ العام (معرف INTEGER) {
gethibernatetemplate (). حذف (الحصول على (معرف)) ؛
}
/**
* الاستعلام عن جميع مثيلات المستخدم
*
* @إعادة جميع مثيلات المستخدم في قاعدة البيانات
*/
القائمة العامة <Sether> findall () {
إرجاع (قائمة <Sether>) gethibernatetemplate (). البحث ("من المستخدم") ؛
}
/**
* ابحث عن المستخدمين على أساس اسم المستخدم
*
* param اسم
* اسم المستخدم للمستخدم يمكن العثور عليه
* العودة للمستخدم الذي تم العثور عليه
*/
المستخدم العام FindByName (اسم السلسلة) {
قائمة <Sether> المستخدمين = (قائمة <Ser>)
"من المستخدم u أين اسم الأمم المتحدة =؟" ، الاسم) ؛
if (المستخدمين! = null && user.size () == 1) {
إرجاع المستخدمين. get (0) ؛
}
عودة فارغة؛
}
}
import java.util.List;
استيراد com.b510.album.model.photo ؛
استيراد com.b510.album.model.user ؛
/**
* واجهة photodao
*
* @ المؤلف هونغتن
*
*/
الواجهة العامة photodao {
// استخدم الثوابت للتحكم في عدد الصور المعروضة في كل صفحة
النهائي int page_size = 8 ؛
/**
* قم بتحميل مثيل الصور بناءً على سمة التعرف
*
* @param id
* قيمة سمة الهوية لمثيل الصورة التي يجب تحميلها
* @إعادة مثيل الصورة المقابل لسمة التعرف المحددة
*/
الصورة الحصول على (معرف عدد صحيح) ؛
/**
* استمر في مثيل الصورة المحدد
*
* param photo
* مثيل الصور الذي يجب استمراره
* @إعادة قيمة سمة الهوية بعد استمرار مثيل الصورة
*/
عدد صحيح حفظ (صورة الصورة) ؛
/**
* تعديل مثيل الصور المحدد
*
* param photo
* مثيل الصور الذي يجب تعديله
*/
تحديث باطل (صورة الصورة) ؛
/**
* حذف مثيل الصور المحدد
*
* param photo
* مثيل الصور الذي يجب حذفه
*/
حذف باطل (صورة الصورة) ؛
/**
* حذف مثيل الصورة بناءً على سمة التعريف
*
* @param id
* قيمة سمة التعرف لمثيل الصورة التي يجب حذفها
*/
حذف باطل (معرف عدد صحيح) ؛
/**
* الاستعلام عن جميع مثيلات الصور
*
* @إعادة جميع مثيلات الصور في قاعدة البيانات
*/
قائمة <forte> findall () ؛
/**
* الاستعلام عن الصور التي تنتمي إلى مستخدمين محددين وأداء التحكم في الترحيل
*
* param user
* الاستعلام عن المستخدم الذي تنتمي صوره إلى
* param pageno
*صفحة محددة ليتم الاستعلام عنها
* @إعادة الصورة التي تم الاستعلام عنها
*/
قائمة <forte> findbyuser (مستخدم المستخدم ، int pageno) ؛
}
import java.util.List;
استيراد com.b510.album.model.user ؛
/**
* واجهة userDao
*
* @ المؤلف هونغتن
*
*/
الواجهة العامة userDao {
/**
* تحميل مثيل المستخدم بناءً على سمة التعرف
*
* @param id
* قيمة سمة الهوية لمثيل المستخدم الذي يجب تحميله
* مثيل مستخدم RETURN يتوافق مع سمة التعرف المحددة
*/
يحصل المستخدم على (معرف عدد صحيح) ؛
/**
* استمر في مثيل المستخدم المحدد
*
* param user
* مثيل المستخدم الذي يجب استمراره
* @إعادة قيمة سمة الهوية بعد استمرار مثيل المستخدم
*/
عدد صحيح حفظ (مستخدم المستخدم) ؛
/**
* تعديل مثيل المستخدم المحدد
*
* param user
* مثيل المستخدم الذي يجب تعديله
*/
تحديث باطل (مستخدم المستخدم) ؛
/**
* حذف مثيل المستخدم المحدد
*
* param user
* مثيل المستخدم الذي يجب حذفه
*/
void delete (مستخدم المستخدم) ؛
/**
* حذف مثيل المستخدم بناءً على سمة التعرف
*
* @param id
* قيمة سمة التعرف لمثيل المستخدم الذي يجب حذفه
*/
حذف باطل (معرف عدد صحيح) ؛
/**
* الاستعلام عن جميع مثيلات المستخدم
*
* @إعادة جميع مثيلات المستخدم في قاعدة البيانات
*/
قائمة <Sether> findall () ؛
/**
* ابحث عن المستخدمين على أساس اسم المستخدم
*
* param اسم
* اسم المستخدم للمستخدم يمكن العثور عليه
* العودة للمستخدم الذي تم العثور عليه
*/
user findByName (اسم السلسلة) ؛
}
نظرًا لأن المشروع يبدو كبيرًا نسبيًا بعد إضافة حزمة JAR ، يتم إلغاء حزمة JAR هنا.
فيما يلي المرفق : ajax_jquery_album_jb51net.rar (تنزيل رمز المصدر)