Projektstruktur:
Projekthomepage:
Registrierungsseite:
Bild hochladen:
Effektbild eins:
Effektbild zwei:
Effektbild drei:
=============================================== ===========
Unten ist der Codeteil
=============================================== ===========
Datenbank-SQL erforderlich:
Datenbank db_ajax erstellen;
benutze db_ajax;
Erstellen Sie die Tabelle user_table
(
user_id int auto_increment Primärschlüssel,
Name varchar(255) eindeutig,
übergeben Sie varchar(255)
);
Erstellen Sie die Tabelle photo_table
(
photo_id int auto_increment Primärschlüssel,
Titel varchar(255),
Dateiname varchar(255),
owner_id int,
Fremdschlüssel (Eigentümer-ID) verweist auf Benutzertabelle (Benutzer-ID)
);
<div id="uploadDiv" style="display:none">
<form action="proUpload" method="post"
enctype="multipart/form-data">
<table cellpacing="1" cellpadding="10">
<caption>Bilder hochladen</caption>
<tr>
<td>Bildtitel:</td>
<td><input id="title" name="title" type="text" /></td>
</tr>
<tr>
<td>Bilder durchsuchen:</td>
<td><input id="file" name="file" type="file" /></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="Upload" />
<input type="reset" value="Reset" />
</td>
</tr>
</table>
</form>
</div>
<div id="tipDiv" style="display:none">
</div>
</body>
</html>
<!-- Konfigurieren Sie den Spring-Container so, dass er geladen wird, wenn die Webanwendung gestartet wird -->
<Zuhörer>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<Servlet>
<servlet-name>proLogin</servlet-name>
<servlet-class>com.b510.album.web.ProLoginServlet</servlet-class>
</servlet>
<Servlet-Mapping>
<servlet-name>proLogin</servlet-name>
<url-pattern>/proLogin</url-pattern>
</servlet-mapping>
<Servlet>
<servlet-name>proRegist</servlet-name>
<servlet-class>com.b510.album.web.ProRegistServlet</servlet-class>
</servlet>
<Servlet-Mapping>
<servlet-name>proRegist</servlet-name>
<url-pattern>/proRegist</url-pattern>
</servlet-mapping>
<Servlet>
<servlet-name>validateName</servlet-name>
<servlet-class>com.b510.album.web.ValidateNameServlet</servlet-class>
</servlet>
<Servlet-Mapping>
<servlet-name>validateName</servlet-name>
<url-pattern>/validateName</url-pattern>
</servlet-mapping>
<Servlet>
<servlet-name>getPhoto</servlet-name>
<servlet-class>com.b510.album.web.GetPhotoServlet</servlet-class>
</servlet>
<Servlet-Mapping>
<servlet-name>getPhoto</servlet-name>
<url-pattern>/getPhoto</url-pattern>
</servlet-mapping>
<Servlet>
<servlet-name>showImg</servlet-name>
<servlet-class>com.b510.album.web.ShowImgServlet</servlet-class>
</servlet>
<Servlet-Mapping>
<servlet-name>showImg</servlet-name>
<url-pattern>/showImg</url-pattern>
</servlet-mapping>
<Servlet>
<servlet-name>pageLoad</servlet-name>
<servlet-class>com.b510.album.web.PageLoadServlet</servlet-class>
</servlet>
<Servlet-Mapping>
<servlet-name>pageLoad</servlet-name>
<url-pattern>/pageLoad</url-pattern>
</servlet-mapping>
<Servlet>
<servlet-name>turnPage</servlet-name>
<servlet-class>com.b510.album.web.TurnPageServlet</servlet-class>
</servlet>
<Servlet-Mapping>
<servlet-name>turnPage</servlet-name>
<url-pattern>/turnPage</url-pattern>
</servlet-mapping>
<Servlet>
<servlet-name>proUpload</servlet-name>
<servlet-class>com.b510.album.web.ProUploadServlet</servlet-class>
</servlet>
<Servlet-Mapping>
<servlet-name>proUpload</servlet-name>
<url-pattern>/proUpload</url-pattern>
</servlet-mapping>
<Willkommensdateiliste>
<welcome-file>album.html</welcome-file>
</welcome-file-list>
</web-app>
<!-- Datenquellen-Bean definieren, implementiert mit C3P0-Datenquelle -->
<bean id="dataSource" destroy-method="close"
>
<!-- Geben Sie den Treiber für die Verbindung zur Datenbank an -->
<property name="driverClass" value="com.mysql.jdbc.Driver"/>
<!-- Geben Sie die URL für die Verbindung zur Datenbank an -->
<property name="jdbcUrl"
value="jdbc:mysql://localhost:3308/db_ajax"/>
<!-- Geben Sie den Benutzernamen für die Verbindung zur Datenbank an -->
<property name="user" value="root"/>
<!-- Geben Sie das Passwort für die Verbindung zur Datenbank an -->
<property name="password" value="root"/>
<!--Geben Sie die maximale Anzahl von Verbindungen zum Datenbankverbindungspool an-->
<property name="maxPoolSize" value="40"/>
<!-- Geben Sie die Mindestanzahl von Verbindungen für die Verbindung mit dem Datenbankverbindungspool an -->
<property name="minPoolSize" value="1"/>
<!-- Geben Sie die Anzahl der ersten Verbindungen zum Herstellen einer Verbindung mit dem Datenbankverbindungspool an -->
<property name="initialPoolSize" value="1"/>
<!-- Geben Sie die maximale Leerlaufzeit für Verbindungen zum Datenbankverbindungspool an -->
<property name="maxIdleTime" value="20"/>
</bean>
<!-- Definieren Sie die SessionFactory von Hibernate -->
<bean id="sessionFactory"
>
<!-- Abhängigkeitsinjektionsdatenquelle, injizieren Sie die oben definierte Datenquelle -->
<property name="dataSource" ref="dataSource"/>
<!-- Das Attribut „mappingResources“ wird verwendet, um alle Zuordnungsdateien aufzulisten -->
<property name="mappingResources">
<Liste>
<!-- Das Folgende wird verwendet, um Hibernate-Zuordnungsdateien aufzulisten-->
<value>com/b510/album/model/User.hbm.xml</value>
<value>com/b510/album/model/Photo.hbm.xml</value>
</list>
</property>
<!-- Definieren Sie die Eigenschaften der SessionFactory von Hibernate -->
<property name="hibernateProperties">
<Requisiten>
<!--Datenbankdialekt angeben-->
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLInnoDBDialect</prop>
<!-- Ob bei Bedarf jedes Mal automatisch eine Datenbank erstellt werden soll -->
<prop key="hibernate.hbm2ddl.auto">aktualisieren</prop>
<!-- Zeigt die durch den Hibernate-Persistenzvorgang generierte SQL an -->
<prop key="hibernate.show_sql">true</prop>
<!-- Formatieren Sie das SQL-Skript und geben Sie es dann aus -->
<prop key="hibernate.format_sql">true</prop>
</props>
</property>
</bean>
<!-- UserDao-Komponente konfigurieren -->
<bean id="userDao"
>
<!--Inject SessionFactory reference-->
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<!-- PhotoDao-Komponente konfigurieren -->
<bean id="photoDao"
>
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<!-- Geschäftslogikkomponente „albumService“ konfigurieren -->
<bean id="albumService"
>
<!-- Zwei DAO-Komponenten in die Geschäftslogikkomponente einfügen -->
<property name="userDao" ref="userDao"/>
<property name="photoDao" ref="photoDao"/>
</bean>
<!-- Konfigurieren Sie den lokalen Transaktionsmanager von Hibernate, verwenden Sie die HibernateTransactionManager-Klasse -->
<!-- Diese Klasse implementiert die PlatformTransactionManager-Schnittstelle, die eine spezifische Implementierung für Hibernate ist -->
<bean id="transactionManager"
>
<!-- Bei der Konfiguration von HibernateTransactionManager müssen Sie einen Verweis auf SessionFactory einfügen -->
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<!-- Konfigurieren Sie das Transaktionsaspekt-Bean und geben Sie den Transaktionsmanager an -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<!-- Wird zum Konfigurieren detaillierter Transaktionssemantik verwendet-->
<tx:attributes>
<!-- Alle Methoden, die mit „get“ beginnen, sind schreibgeschützt -->
<tx:method name="get*" read-only="true"/>
<!-- Andere Methoden verwenden Standard-Transaktionseinstellungen -->
<tx:method name="*"/>
</tx:attributes>
</tx:advice>
<aop:config>
<!-- Konfigurieren Sie einen Pointcut so, dass er mit allen Methoden übereinstimmt, die von allen Klassen ausgeführt werden, die mit Impl unter dem Lee-Paket enden -->
<aop:pointcut id="leeService"
expression="execution(* com.b510.album.service.impl.*Impl.*(..))"/>
<!-- Geben Sie an, dass der txAdvice-Transaktionsaspekt am leeService-Einstiegspunkt angewendet werden soll -->
<aop:advisor advice-ref="txAdvice"
pointcut-ref="leeService"/>
</aop:config>
</beans>
Funktion zurücksetzen()
{
//Löschen Sie die beiden einzeiligen Textfelder „Benutzer“ und „Pass“.
$("#user").val("");
$("#pass").val("");
}
//Wechseln Sie zum Registrierungsdialogfeld
Funktion changeRegist()
{
//Die beiden Schaltflächen zum Anmelden ausblenden
$("#loginDiv").hide("500");
//Zwei Schaltflächen zur Registrierung anzeigen
$("#registDiv").show("500");
}
//Funktion zur Handhabung der Benutzeranmeldung
Funktion proLogin()
{
//Erhalte die Werte der beiden Textfelder user und pass
var user = $.trim($("#user").val());
var pass = $.trim($("#pass").val());
if (user == null || user == ""
||. pass == null||. pass == "")
{
Alert("Sie müssen Ihren Benutzernamen und Ihr Passwort eingeben, bevor Sie sich anmelden können");
return false;
}
anders
{
//Asynchrone POST-Anfrage an proLogin senden
$.post("proLogin", $('#user,#pass').serializeArray()
, null , "Skript");
}
}
//Funktion, die die Benutzerregistrierung verwaltet
Funktionsregister()
{
//Erhalte die Werte der beiden Textfelder user und pass
var user = $.trim($("#user").val());
var pass = $.trim($("#pass").val());
if (user == null || user == "" || pass == null || pass =="")
{
Alert("Sie müssen Ihren Benutzernamen und Ihr Passwort eingeben, bevor Sie sich registrieren");
return false;
}
anders
{
//Asynchrone POST-Anfrage an proRegist senden
$.post("proRegist", $('#user,#pass').serializeArray()
, null , "Skript");
}
}
//Überprüfen Sie, ob der Benutzername verfügbar ist
Funktion validierenName()
{
//Den Wert des Benutzertextfelds abrufen
var user = $.trim($("#user").val());
if (user == null || user == "")
{
Alert("Sie haben Ihren Benutzernamen noch nicht eingegeben!");
return false;
}
anders
{
//Senden Sie eine asynchrone POST-Anfrage an „validateName“.
$.post("validateName", $('#user').serializeArray()
, null , "Skript");
}
}
// Erhalten Sie regelmäßig Fotos des aktuellen Benutzers und der aktuellen Seite
Funktion onLoadHandler()
{
//Asynchrone GET-Anfrage an getPhoto senden
$.getScript("getPhoto");
//Diese Methode nach Angabe von 1 Sekunde erneut ausführen
setTimeout("onLoadHandler()", 1000);
}
//Fotos anzeigen
Funktion showImg(fileName)
{
$.getScript("showImg?img=" + fileName);
// document.getElementById("show").src="uploadfiles/" + fileName + "?now=" + new Date();
// $("#show").attr("src", "uploadfiles/" + fileName);
}
//Funktion zum Umblättern von Seiten
Funktion turnPage(flag)
{
$.getScript("turnPage?turn=" + flag);
}
//Öffne das Upload-Fenster
Funktion openUpload()
{
$("#uploadDiv").show()
.Dialog(
{
modal: wahr,
veränderbar: falsch,
Breite: 428,
Höhe: 220,
Overlay: {Deckkraft: 0,5, Hintergrund: „schwarz“}
});
}
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;
/**
*
* @Autor Hongten
*
*/
öffentliche Klasse BaseServlet erweitert HttpServlet {
private static final long serialVersionUID = -2041755371540813745L;
protected AlbumService as;
// Definieren Sie den Konstruktor und erhalten Sie eine Referenz auf den Spring-Container
public void init(ServletConfig config) löst eine 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;
/**
*
* @Autor Hongten
*
*/
öffentliche Klasse ValidateNameServlet erweitert BaseServlet {
private static final long serialVersionUID = 9038839276327742641L;
öffentlicher Void-Dienst (HttpServletRequest-Anfrage, HttpServletResponse-Antwort)
wirft IOException, ServletException {
Stringname = request.getParameter("user");
Response.setContentType("text/javascript;charset=GBK");
// Den Ausgabestream abrufen
PrintWriter out = Response.getWriter();
versuchen {
if (name != null) {
if (as.validateName(name)) {
out.println("alert('Herzlichen Glückwunsch, dieser Benutzername wurde noch nicht verwendet, Sie können diesen Benutzernamen verwenden!');");
} anders {
out.println("alert('Leider ist dieser Benutzername bereits von jemand anderem belegt!');");
out.println("$('#user').val('');");
}
} anders {
out.println("alert('Bei der Überprüfung des Benutzernamens ist eine Ausnahme aufgetreten. Bitte ändern Sie den Benutzernamen und versuchen Sie es erneut!');");
}
} Catch (AlbumException ex) {
out.println("alert('" + ex.getMessage() + "Bitte ändern Sie Ihren Benutzernamen und versuchen Sie es erneut!');");
}
}
}
import java.io.IOException;
import java.io.PrintWriter;
java.util.List importieren;
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;
/**
*
* @Autor Hongten
*
*/
öffentliche Klasse TurnPageServlet erweitert BaseServlet {
private static final long serialVersionUID = -5097286750384714951L;
öffentlicher Void-Dienst (HttpServletRequest-Anfrage, HttpServletResponse-Antwort)
wirft IOException, ServletException {
String turn = request.getParameter("turn");
HttpSession session = request.getSession(true);
String name = (String) session.getAttribute("curUser");
Objekt pageObj = session.getAttribute("curPage");
// Wenn curPage in HttpSession null ist, setze die aktuelle Seite auf die erste Seite
int curPage = pageObj == null 1 : (Integer) pageObj;
Response.setContentType("text/javascript;charset=GBK");
PrintWriter out = Response.getWriter();
if (curPage == 1 && turn.equals("-1")) {
out.println("alert('Jetzt ist die erste Seite, Seite kann nicht vorwärts gehen!')");
} anders {
// Umblättern ausführen und den Wert von curPage ändern.
curPage += Integer.parseInt(turn);
versuchen {
List<PhotoHolder> photos = as.getPhotoByUser(name, curPage);
// Nach dem Umblättern gibt es keinen Datensatz
if (photos.size() == 0) {
out.println("alert('Nach dem Umblättern wurde kein Fotodatensatz gefunden, das System kehrt automatisch zur vorherigen Seite zurück.')");
//Zurück zur vorherigen Seite
curPage -= Integer.parseInt(turn);
} anders {
//Geben Sie die Seitennummer, die der Benutzer durchsucht, in die HttpSession ein
session.setAttribute("curPage", curPage);
}
} Catch (AlbumException ex) {
out.println("alert('" + ex.getMessage() + "Bitte versuchen Sie es erneut!')");
}
}
}
}
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;
/**
*
* @Autor Hongten
*
*/
öffentliche Klasse ShowImgServlet erweitert BaseServlet {
private static final long serialVersionUID = 1460203270448078666L;
öffentlicher Void-Dienst (HttpServletRequest-Anfrage, HttpServletResponse-Antwort)
wirft IOException, ServletException {
String img = request.getParameter("img");
HttpSession session = request.getSession(true);
//Fügen Sie das Bild, das der Benutzer durchsucht, in die HttpSession ein.
session.setAttribute("curImg", img);
Response.setContentType("text/javascript;charset=GBK");
// Den Ausgabestream abrufen
PrintWriter out = Response.getWriter();
out.println("$('#show').attr('src' , 'uploadfiles/" + img + "');");
}
}
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.Iterator;
java.util.List importieren;
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;
/**
*
* @Autor Hongten
*
*/
@SuppressWarnings("ungeprüft")
öffentliche Klasse ProUploadServlet erweitert BaseServlet {
private static final long serialVersionUID = 642229801989188793L;
öffentlicher Void-Dienst (HttpServletRequest-Anfrage, HttpServletResponse-Antwort)
wirft IOException, ServletException {
Iterator iter = null;
String-Titel = null;
Response.setContentType("text/html;charset=GBK");
// Den Ausgabestream abrufen
PrintWriter out = Response.getWriter();
out.println("<script type='text/javascript>'");
versuchen {
//Uploader zum Verarbeiten von Uploads verwenden
FileItemFactory Factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
Listenelemente = upload.parseRequest(request);
iter = items.iterator();
// Durchlaufen Sie den Inhalt, der jedem Formularsteuerelement entspricht
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
// Wenn das Element ein normales Formularfeld ist
if (item.isFormField()) {
String name = item.getFieldName();
if (name.equals("title")) {
title = item.getString("GBK");
}
}
// Wenn es sich um eine Datei handelt, die hochgeladen werden muss
anders {
String user = (String) request.getSession().getAttribute(
„curUser“);
String serverFileName = null;
//Dateinamen zurückgeben
String fileName = item.getName();
// Dateisuffix abrufen
String appden = fileName.substring(fileName
.lastIndexOf("."));
//Dateityp zurückgeben
String contentType = item.getContentType();
// Es dürfen nur JPG-, GIF- und PNG-Bilder hochgeladen werden
if (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-Ausgabe = neuer FileOutputStream(
getServletContext().getRealPath("/")
+ „uploadfiles//“ + serverFileName
+ appden);
byte[] buffer = neues byte[1024];
int len = 0;
while ((len = input.read(buffer)) > 0) {
Output.write(buffer, 0, len);
}
input.close();
Ausgabe.close();
as.addPhoto(user, title, serverFileName + appden);
Response.sendRedirect("album.html?resultCode=0");
} anders {
Response.sendRedirect("album.html?resultCode=1");
}
}
}
} Catch (FileUploadException fue) {
fue.printStackTrace();
Response.sendRedirect("album.html?resultCode=2");
} Catch (AlbumException ex) {
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;
/**
*
* @Autor Hongten
*
*/
öffentliche Klasse ProRegistServlet erweitert BaseServlet {
private static final long serialVersionUID = -3174994243043815566L;
öffentlicher Void-Dienst (HttpServletRequest-Anfrage, HttpServletResponse-Antwort)
wirft IOException, ServletException {
Stringname = request.getParameter("user");
String pass = request.getParameter("pass");
Response.setContentType("text/javascript;charset=GBK");
// Den Ausgabestream abrufen
PrintWriter out = Response.getWriter();
versuchen {
out.println("$('#user,#pass').val('');");
if (name != null && pass != null && as.registUser(name, pass) > 0) {
HttpSession session = request.getSession(true);
session.setAttribute("curUser", name);
out.println("alert('Herzlichen Glückwunsch, Sie haben sich erfolgreich registriert!');");
out.println("$('#noLogin').hide(500);");
out.println("$('#hasLogin').show(500);");
// Rufen Sie die Methode auf, um die Fotoliste abzurufen
out.println("onLoadHandler();");
} anders {
out.println("alert('Ihre Registrierung ist fehlgeschlagen, bitte wählen Sie einen geeigneten Benutzernamen und versuchen Sie es erneut!');");
}
} Catch (AlbumException ex) {
out.println("alert('" + ex.getMessage() + "Bitte ändern Sie Ihren Benutzernamen und versuchen Sie es erneut!');");
}
}
}
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;
/**
*
* @Autor Hongten
*
*/
öffentliche Klasse ProLoginServlet erweitert BaseServlet {
private static final long serialVersionUID = -1253530202224049958L;
öffentlicher Void-Dienst (HttpServletRequest-Anfrage, HttpServletResponse-Antwort)
wirft IOException, ServletException {
Stringname = request.getParameter("user");
String pass = request.getParameter("pass");
Response.setContentType("text/javascript;charset=GBK");
// Den Ausgabestream abrufen
PrintWriter out = Response.getWriter();
versuchen {
// Inhalt der Eingabefelder mit den IDs „user“ und „pass“ löschen
out.println("$('#user,#pass').val('');");
if (name != null && pass != null && as.userLogin(name, pass)) {
HttpSession session = request.getSession(true);
session.setAttribute("curUser", name);
out.println("alert('Sie haben sich erfolgreich angemeldet!')");
out.println("$('#noLogin').hide(500)");
out.println("$('#hasLogin').show(500)");
// Rufen Sie die Methode auf, um die Fotoliste abzurufen
out.println("onLoadHandler();");
} anders {
out.println("alert('Der von Ihnen eingegebene Benutzername und das Passwort stimmen nicht überein, bitte versuchen Sie es erneut!')");
}
} Catch (AlbumException ex) {
out.println("alert('" + ex.getMessage() + "Bitte ändern Sie Ihren Benutzernamen und Ihr Passwort und versuchen Sie es erneut!')");
}
}
}
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;
/**
*
* @Autor Hongten
*
*/
öffentliche Klasse PageLoadServlet erweitert BaseServlet {
private static final long serialVersionUID = 7512001492425261841L;
öffentlicher Void-Dienst (HttpServletRequest-Anfrage, HttpServletResponse-Antwort)
wirft IOException, ServletException {
Response.setContentType("text/javascript;charset=GBK");
// Den Ausgabestream abrufen
PrintWriter out = Response.getWriter();
HttpSession session = request.getSession(true);
String name = (String) session.getAttribute("curUser");
// Wenn der Name nicht null ist, bedeutet dies, dass sich der Benutzer angemeldet hat
if (name != null) {
//Das Element mit der ID noLogin ausblenden (Benutzeranmeldefeld)
out.println("$('#noLogin').hide()");
//Element mit der ID hasLogin ausblenden (Benutzersteuerung)
out.println("$('#hasLogin').show()");
// Rufen Sie die Methode auf, um die Fotoliste abzurufen
out.println("onLoadHandler();");
// Entfernen Sie das curImg-Attribut in HttpSession
String curImg = (String) session.getAttribute("curImg");
//Das Foto, das der Benutzer durchsucht, erneut anzeigen
if (curImg != null) {
out.println("$('#show').attr('src' , 'uploadfiles/" + curImg
+ "');");
}
}
}
}
import java.io.IOException;
import java.io.PrintWriter;
java.util.List importieren;
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;
/**
*
* @Autor Hongten
*
*/
öffentliche Klasse GetPhotoServlet erweitert BaseServlet {
private static final long serialVersionUID = -8380695760546582385L;
öffentlicher Void-Dienst (HttpServletRequest-Anfrage, HttpServletResponse-Antwort)
wirft IOException, ServletException {
HttpSession session = request.getSession(true);
// Aktuelle Seitenzahl des aktuellen Benutzers und Fotoliste des Systems von HttpSession abrufen
String name = (String) session.getAttribute("curUser");
Objekt pageObj = session.getAttribute("curPage");
// Wenn curPage in HttpSession null ist, setze die aktuelle Seite auf die erste Seite
int curPage = pageObj == null 1 : (Integer) pageObj;
Response.setContentType("text/javascript;charset=GBK");
// Den Ausgabestream abrufen
PrintWriter out = Response.getWriter();
versuchen {
List<PhotoHolder> photos = as.getPhotoByUser(name, curPage);
// Lösche das Element mit der ID der Liste
out.println("var list = $('#list').empty();");
for (PhotoHolder ph: Fotos) {
// Jedes Foto dynamisch zum Element mit der ID der Liste hinzufügen
out.println("list.append(/"<div align='center'>"
+ "<a href='javascript:void(0)' onclick=///"showImg('"
+ ph.getFileName() + "');///">" + ph.getTitle()
+ "</a></div>/");");
}
} Catch (AlbumException ex) {
out.println("alert('" + ex.getMessage() + "Bitte versuchen Sie es erneut!')");
}
}
}
/**
*
* @Autor Hongten
*
*/
öffentliche Klasse PhotoHolder {
//Der Name des Fotos
privater String-Titel;
//Der Dateiname des Fotos auf dem Server
privater String fileName;
// Konstruktor ohne Parameter
public PhotoHolder() {
}
// Konstruktor zum Initialisieren aller Eigenschaften
public PhotoHolder(String title, String fileName) {
this.title = Titel;
this.fileName = fileName;
}
//Die Setter- und Getter-Methoden des Titelattributs
public void setTitle(String title) {
this.title = Titel;
}
öffentlicher String getTitle() {
return this.title;
}
//Setter- und Getter-Methoden des fileName-Attributs
public void setFileName(String fileName) {
this.fileName = fileName;
}
öffentlicher String getFileName() {
return this.fileName;
}
}
import java.util.ArrayList;
java.util.List importieren;
import com.b510.album.dao.PhotoDao;
import com.b510.album.dao.UserDao;
import com.b510.album.Exception.AlbumException;
import com.b510.album.model.Photo;
import com.b510.album.model.User;
import com.b510.album.service.AlbumService;
import com.b510.album.vo.PhotoHolder;
/**
*
* @Autor Hongten
*
*/
Die öffentliche Klasse AlbumServiceImpl implementiert AlbumService {
// 2 DAO-Komponenten, von denen die Geschäftslogikkomponente abhängt
privates UserDao ud = null;
privates PhotoDao pd = null;
// Abhängigkeitsinjektion der Setter-Methoden, die von 2 DAO-Komponenten benötigt werden
public void setUserDao(UserDao ud) {
this.ud = ud;
}
public void setPhotoDao(PhotoDao pd) {
this.pd = pd;
}
/**
* Überprüfen Sie, ob die Benutzeranmeldung erfolgreich war.
*
* @param-Name
* Login-Benutzername
* @param übergeben
* Login-Passwort
* @return Das Ergebnis der Benutzeranmeldung, gibt bei Erfolg „true“ zurück, andernfalls „false“.
*/
public boolean userLogin(String name, String pass) {
versuchen {
// UserDao verwenden, um Benutzer basierend auf dem Benutzernamen abzufragen
Benutzer u = ud.findByName(name);
if (u != null && u.getPass().equals(pass)) {
return true;
}
return false;
} Catch (Ausnahme ex) {
ex.printStackTrace();
throw new AlbumException("Beim Verarbeiten der Benutzeranmeldung ist eine Ausnahme aufgetreten!");
}
}
/**
* Registrieren Sie einen neuen Benutzer
*
* @param-Name
* Benutzername des neu registrierten Benutzers
* @param übergeben
* Passwort für neu registrierte Benutzer
* @return den Primärschlüssel des neu registrierten Benutzers
*/
public int registUser(String name, String pass) {
versuchen {
//Eine neue Benutzerinstanz erstellen
Benutzer u = neuer Benutzer();
u.setName(name);
u.setPass(pass);
// Behalten Sie das Benutzerobjekt bei
ud.save(u);
return u.getId();
} Catch (Ausnahme ex) {
ex.printStackTrace();
throw new AlbumException("Bei der Registrierung eines neuen Benutzers ist eine Ausnahme aufgetreten!");
}
}
/**
* Fotos hinzufügen
*
* @param-Benutzer
* Benutzer, der das Foto hinzugefügt hat
* @param Titel
* Fügen Sie Ihrem Foto einen Titel hinzu
* @param Dateiname
* Fügen Sie den Dateinamen des Fotos auf dem Server hinzu
* @return Der Primärschlüssel des neu hinzugefügten Fotos
*/
public int addPhoto(String user, String title, String fileName) {
versuchen {
//Erstelle eine neue Photo-Instanz
Foto p = neues Foto();
p.setTitle(title);
p.setFileName(fileName);
p.setUser(ud.findByName(user));
// Persistente Fotoinstanz
pd.save(p);
return p.getId();
} Catch (Ausnahme ex) {
ex.printStackTrace();
throw new AlbumException("Beim Hinzufügen von Fotos ist eine Ausnahme aufgetreten!");
}
}
/**
* Erhalten Sie alle Fotos des Benutzers basierend auf dem Benutzer
*
* @param-Benutzer
* Aktueller Benutzer
* @param pageNo
*Seitenzahl
* @return Gibt die Fotos zurück, die dem Benutzer und der angegebenen Seite gehören
*/
public List<PhotoHolder> getPhotoByUser(String user, int pageNo) {
versuchen {
List<Photo> pl = pd.findByUser(ud.findByName(user), pageNo);
List<PhotoHolder> result = new ArrayList<PhotoHolder>();
für (Foto p : pl) {
result.add(new PhotoHolder(p.getTitle(), p.getFileName()));
}
Ergebnis zurückgeben;
} Catch (Ausnahme ex) {
ex.printStackTrace();
throw new AlbumException("Beim Abfragen der Fotoliste ist eine Ausnahme aufgetreten!");
}
}
/**
* Überprüfen Sie, ob der Benutzername verfügbar ist, d. h. ob der Benutzername bereits in der Datenbank vorhanden ist
*
* @param-Name
* Benutzername, der überprüft werden muss
* @return Gibt „true“ zurück, wenn der Benutzername verfügbar ist, andernfalls wird „false“ zurückgegeben.
*/
öffentlicher boolescher Validierungsname(String-Name) {
versuchen {
// Fragen Sie die entsprechende Benutzerinstanz basierend auf dem Benutzernamen ab
Benutzer u = ud.findByName(name);
if (u != null) {
return false;
}
return true;
} Catch (Ausnahme ex) {
ex.printStackTrace();
throw new AlbumException("Während der Überprüfung, ob der Benutzername existiert, ist eine Ausnahme aufgetreten!");
}
}
}
java.util.List importieren;
import com.b510.album.vo.PhotoHolder;
/**
*
* @Autor Hongten
*
*/
öffentliche Schnittstelle AlbumService {
/**
* Überprüfen Sie, ob die Benutzeranmeldung erfolgreich war.
*
* @param-Name
* Login-Benutzername
* @param übergeben
* Login-Passwort
* @return Das Ergebnis der Benutzeranmeldung, gibt bei Erfolg „true“ zurück, andernfalls „false“.
*/
boolean userLogin(String name, String pass);
/**
* Registrieren Sie einen neuen Benutzer
*
* @param-Name
* Benutzername des neu registrierten Benutzers
* @param übergeben
* Passwort für neu registrierte Benutzer
* @return den Primärschlüssel des neu registrierten Benutzers
*/
int registerUser(String name, String pass);
/**
* Fotos hinzufügen
*
* @param-Benutzer
* Benutzer, der das Foto hinzugefügt hat
* @param Titel
* Fügen Sie Ihrem Foto einen Titel hinzu
* @param Dateiname
* Fügen Sie den Dateinamen des Fotos auf dem Server hinzu
* @return Der Primärschlüssel des neu hinzugefügten Fotos
*/
int addPhoto(String user, String title, String fileName);
/**
* Erhalten Sie alle Fotos des Benutzers basierend auf dem Benutzer
*
* @param-Benutzer
* Aktueller Benutzer
* @param pageNo
*Seitenzahl
* @return Gibt die Fotos zurück, die dem Benutzer und der angegebenen Seite gehören
*/
List<PhotoHolder> getPhotoByUser(String user, int pageNo);
/**
* Überprüfen Sie, ob der Benutzername verfügbar ist, d. h. ob der Benutzername bereits in der Datenbank vorhanden ist
*
* @param-Name
* Benutzername, der überprüft werden muss
* @return Gibt „true“ zurück, wenn der Benutzername verfügbar ist, andernfalls wird „false“ zurückgegeben.
*/
boolean validateName(String name);
}
/**
* Foto-Entitätsklasse
*
* @Autor Hongten
*
*/
öffentliche Klasse Foto {
//Identifikationsattribut
private Ganzzahl-ID;
//Der Name des Fotos
privater String-Titel;
//Der Dateiname des Fotos auf dem Server
privater String fileName;
// Den Benutzer speichern, zu dem das Foto gehört
privater Benutzerbenutzer;
// Konstruktor ohne Parameter
öffentliches Foto() {
}
// Konstruktor zum Initialisieren aller Eigenschaften
öffentliches Foto (Integer-ID, String-Titel, String-Dateiname, Benutzerbenutzer) {
this.id = id;
this.title = Titel;
this.FileName = Dateiname;
this.user = user;
}
// Setter- und Getter -Methoden des ID -Attributs
public void setid (Integer id) {
this.id = id;
}
public Ganzzahl getid () {
kehre diese.id zurück;
}
// Die Setter- und Getter -Methoden des Titelattributs
public void setitle (String title) {
this.title = title;
}
public String gettitle () {
kehre diesen.titel zurück;
}
// Setter- und Getter -Methoden des Dateiname -Attributs
public void setFileName (String Dateiname) {
this.FileName = Dateiname;
}
public String getFileName () {
kehre diesen filenamen zurück;
}
// Setter- und Getter -Methoden des Benutzerattributs
public void setUser (Benutzerbenutzer) {
this.user = user;
}
öffentlicher Benutzer getUser () {
kehre diesen Benutzer zurück;
}
}
Java.util.set importieren;
import Java.util.hashset;
/**
* Benutzerentitätsklasse
*
* @Autor Hongten
*
*/
Benutzer der öffentlichen Klasse {
// Identifikationsattribut
private Ganzzahl -ID;
// Der Benutzername des Benutzers
privater String-Name;
// Passwort dieses Benutzers
privater Saitenpass;
// SETSETEN SIE SETEN SIE DIE FOTOS, DIE IN DIESER Benutzer zugeordnet ist
private set <Pototh> fotos = new Hashset <Fotos> ();
// Konstruktor ohne Parameter
public user () {
}
// Konstruktor zur Initialisierung aller Eigenschaften
public user (Ganzzahl -ID, String -Name, String -Pass) {
this.id = id;
this.name = Name;
this.pass = pass;
}
// Setter- und Getter -Methoden des ID -Attributs
public void setid (Integer id) {
this.id = id;
}
public Ganzzahl getid () {
kehre diese.id zurück;
}
// Setter- und Getter -Methoden des Namens Attribut
public void setName(String name) {
this.name = Name;
}
öffentlicher String getName() {
return this.name;
}
// Setter- und Getter -Methoden des Passattributs
public void setpass (String Pass) {
this.pass = pass;
}
public String getPass () {
kehre diesen.pass zurück;
}
// Setter- und Getter -Methoden des Fotosattributs
public void setphotos (set <Pototh> fotos) {
this.photos = fotos;
}
public set <Fotos> getPhotos () {
kehre this.photos zurück;
}
}
/**
*Angeordnete Ausnahme
*
* @Autor Hongten
*
*/
Public Class AlbumException erweitert RunTimeException {
Private statische endgültige lange Serialversionuid = 8050756054850450421L;
// Geben Sie einen parameterlosen Konstruktor an
public AlbumException () {
}
// Geben Sie einen Konstruktor mit String -Parametern an
public AlbumException (String msg) {
Super (MSG);
}
}
import java.sql.SQLException;
java.util.List importieren;
import org.hibernate.hibernateException;
import org.hibernate.query;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.hibernateCallback;
import org.springframework.orm.hibernate3.support.hibernatedaosupport;
/**
*
* @Autor Hongten
*
*/
@Suppresswarnings ("Unbekämpft")
Öffentliche Klasse HongenhiberNatedaosupport erweitert Hibernatedaosupport {
/**
* Verwenden Sie HQL -Anweisungen für Paging -Abfragenoperationen
*
* @param hql
* HQL -Anweisung zu befragen
* @param offset
* Index des ersten Datensatzes
* @param pageSize
*Die Anzahl der Datensätze, die auf jeder Seite angezeigt werden sollen
* @return alle Datensätze der aktuellen Seite
*/
öffentliche Liste FindBypage (endgültige String -HQL, endgültiger Int -Offset,
endgültig int pageSize) {
Listlist = gethibernatetemplate (). ExecuteFind (neuer hibernateCallback () {
öffentliches Objekt doinhiberNate (Sitzungssitzung)
Wirft HibernateException, sqlexception {aus
LIST ERGEBNIS = Session.createquery (HQL) .SetFirstresult (Offset)
.SetMaxResults (pageSize) .List ();
Ergebnis zurückgeben;
}
});
Rückgabeliste;
}
/**
* Verwenden Sie HQL -Anweisungen für Paging -Abfragenoperationen
*
* @param hql
* HQL -Anweisung zu befragen
* @param-Wert
* Wenn HQL einen Parameter hat, der übergeben werden muss, ist der Wert der in übergebene Parameter.
* @param offset
* Index des ersten Datensatzes
* @param pageSize
*Die Anzahl der Datensätze, die auf jeder Seite angezeigt werden sollen
* @return alle Datensätze der aktuellen Seite
*/
öffentliche Liste FindBypage (endgültiger String -HQL, endgültiger Objektwert,
endgültiger int offset, endgültig int pageSize) {
Listlist = gethibernatetemplate (). ExecuteFind (neuer hibernateCallback () {
öffentliches Objekt doinhiberNate (Sitzungssitzung)
Wirft HibernateException, sqlexception {aus
LIST ERGEBNIS = Session.createquery (HQL) .SetParameter (0, Wert)
.setFirstresult (offset) .setMaxResults (pageSize) .List ();
Ergebnis zurückgeben;
}
});
Rückgabeliste;
}
/**
* Verwenden Sie HQL -Anweisungen für Paging -Abfragenoperationen
*
* @param hql
* HQL -Anweisung zu befragen
* @Param -Werte
* Wenn HQL mehrere Parameter enthält, die übergeben werden müssen, ist Werte das Parameter -Array, das übergeben wird.
* @param offset
* Index des ersten Datensatzes
* @param pageSize
*Die Anzahl der Datensätze, die auf jeder Seite angezeigt werden sollen
* @return alle Datensätze der aktuellen Seite
*/
öffentliche Liste findbypage (endgültige String -HQL, endgültiges Objekt [] Werte,
endgültiger int offset, endgültig int pageSize) {
Listlist = gethibernatetemplate (). ExecuteFind (neuer hibernateCallback () {
öffentliches Objekt doinhiberNate (Sitzungssitzung)
Wirft HibernateException, sqlexception {aus
Query query = session.createquery (HQL);
für (int i = 0; i <values.length; i ++) {
query.setParameter (i, Werte [i]);
}
LIST ERGEBNIS = query.setFirstresult (Offset) .SetMaxResults (
pageSize) .List ();
Ergebnis zurückgeben;
}
});
Rückgabeliste;
}
}
java.util.List importieren;
import com.b510.album.dao.photodao;
import com.b510.album.enhance.HongenHibernatedaosupport;
import com.b510.album.model.photo;
import com.b510.album.model.user;
/**
*
* @Autor Hongten
*
*/
@Suppresswarnings ("Unbekämpft")
Die öffentliche Klasse Photodaohibernate erweitert Honongenhibernatedaosupport -Geräte
Fotodao {
/**
* Laden Sie die Fotoinstanz basierend auf dem Identifikationsattribut
*
* @param id
* Der Identitätsattributwert der Fotoinstanz, die geladen werden muss
* @return die Fotoinstanz, die dem angegebenen Identifikationsattribut entspricht
*/
öffentliches Foto get (Ganzzahl id) {
return (foto) gethibernatetemplate (). get (foto.class, id);
}
/**
* Behalten Sie die angegebene Fotoinstanz fort
*
* @param foto
* Fotoinstanz, die bestehen werden muss
* @return den Identity -Attributwert, nachdem die Fotoinstanz bestehen bleibt
*/
public Ganzzahl speichern (Fotofoto) {
return (Integer) Gethibernatetemplate (). Speichern (Foto);
}
/**
* Ändern Sie die angegebene Fotoinstanz
*
* @param foto
* Fotoinstanz, die geändert werden muss
*/
public void Update (Fotofoto) {
Gethibernatetemplate (). Update (Foto);
}
/**
* Löschen Sie die angegebene Fotoinstanz
*
* @param foto
* Fotoinstanz, die gelöscht werden muss
*/
public void delete (Fotofoto) {
Gethibernatetemplate (). Delete (Foto);
}
/**
* Löschen Sie die Fotoinstanz basierend auf dem Identifikationsattribut
*
* @param id
* Der Identifikationsattributwert der Fotoinstanz, die gelöscht werden muss
*/
public void delete (Integer id) {
gethibernatetemplate (). Delete (get (id));
}
/**
* Fragen Sie alle Fotoinstanzen ab
*
* @return alle Fotoinstanzen in der Datenbank
*/
öffentliche Liste <Fotos> findall () {
return (list <Foto>) gethibernatetemplate (). Find ("From photo");
}
/**
* Abfragen Sie Fotos von den bestimmten Benutzern und führen Sie die Paging -Steuerung durch
*
* @param user
* Fragen Sie den Benutzer ab, dessen Foto gehört zu
* @param pageno
*Angegebene Seite zu befragen
* @RETURN DAS ANGEBRAUCHE FOTO
*/
öffentliche Liste <Fotos> findByUser (Benutzerbenutzer, int pageno) {
int offset = (pageno - 1) * page_size;
// Geben Sie die Ergebnisse der Paging -Abfrage zurück
return (list <Foto>) findBypage ("Von Foto b wo b.user =?", Benutzer,
offset, page_size);
}
}
java.util.List importieren;
import com.b510.album.dao.userdao;
import com.b510.album.enhance.HongenHibernatedaosupport;
import com.b510.album.model.user;
/**
*
* @Autor Hongten
*
*/
@Suppresswarnings ("Unbekämpft")
öffentliche Klasse UserdaohiberNate erweitert Honongenhibernatedaosupport -Geräte
Userdao {
/**
* Laden Sie die Benutzerinstanz basierend auf dem Identifikationsattribut
*
* @param id
* Der Identitätsattributwert der Benutzerinstanz, die geladen werden muss
* @return Benutzerinstanz entspricht dem angegebenen Identifikationsattribut
*/
öffentlicher Benutzer get (Ganzzahl -ID) {
return (user) getibernatetemplate (). get (user.class, id);
}
/**
* Behalten Sie die angegebene Benutzerinstanz fort
*
* @param user
* Benutzerinstanz, die angehalten werden muss
* @return den Identity -Attributwert, nachdem die Benutzerinstanz bestehen bleibt
*/
public Integer speichern (Benutzer Benutzer) {
return (Ganzzahl) Gethibernatetemplate (). Speichern (Benutzer);
}
/**
* Ändern Sie die angegebene Benutzerinstanz
*
* @param user
* Die Benutzerinstanz, die geändert werden muss
*/
public void Update (Benutzerbenutzer) {
Gethibernatetemplate (). Update (Benutzer);
}
/**
* Löschen Sie die angegebene Benutzerinstanz
*
* @param user
* Benutzerinstanz, die gelöscht werden muss
*/
public void delete (Benutzer Benutzer) {
Gethibernatetemplate (). Delete (Benutzer);
}
/**
* Löschen Sie die Benutzerinstanz basierend auf dem Identifikationsattribut
*
* @param id
* Der Identifikationsattributwert der Benutzerinstanz, die gelöscht werden muss
*/
public void delete (Integer id) {
gethibernatetemplate (). Delete (get (id));
}
/**
* Fragen Sie alle Benutzerinstanzen ab
*
* @return alle Benutzerinstanzen in der Datenbank
*/
public list <user> findall () {
return (list <Beus>) gethibernatetemplate (). Find ("From User");
}
/**
* Suchen Sie Benutzer basierend auf dem Benutzernamen
*
* @param Name
* Der Benutzername des Benutzers zu finden
* @return den gefundenen Benutzer
*/
öffentlicher Benutzer findByName (String -Name) {
LIST <BENE> user> user = (list <Beus>) gethibernatetemplate (). Find (
"von Benutzer u wo U.Name =?", Name);
if (user! = null && user.size () == 1) {
return user.get (0);
}
null zurückgeben;
}
}
java.util.List importieren;
import com.b510.album.model.photo;
import com.b510.album.model.user;
/**
* Photodao -Schnittstelle
*
* @Autor Hongten
*
*/
öffentliche Schnittstelle Photodao {
// Verwenden Sie Konstanten, um die Anzahl der auf jeder Seite angezeigten Fotos zu steuern
endgültig int page_size = 8;
/**
* Laden Sie die Fotoinstanz basierend auf dem Identifikationsattribut
*
* @param id
* Der Identitätsattributwert der Fotoinstanz, die geladen werden muss
* @return die Fotoinstanz, die dem angegebenen Identifikationsattribut entspricht
*/
Foto Get (Integer ID);
/**
* Behalten Sie die angegebene Fotoinstanz fort
*
* @param foto
* Fotoinstanz, die bestehen werden muss
* @return den Identity -Attributwert, nachdem die Fotoinstanz bestehen bleibt
*/
Integer Save (Fotofoto);
/**
* Ändern Sie die angegebene Fotoinstanz
*
* @param foto
* Fotoinstanz, die geändert werden muss
*/
void Update (Fotofoto);
/**
* Löschen Sie die angegebene Fotoinstanz
*
* @param foto
* Fotoinstanz, die gelöscht werden muss
*/
Hohlraum löschen (Fotofoto);
/**
* Löschen Sie die Fotoinstanz basierend auf dem Identifikationsattribut
*
* @param id
* Der Identifikationsattributwert der Fotoinstanz, die gelöscht werden muss
*/
void delete (Ganzzahl -ID);
/**
* Fragen Sie alle Fotoinstanzen ab
*
* @return alle Fotoinstanzen in der Datenbank
*/
Liste <Fotos> findAll ();
/**
* Abfragen Sie Fotos von den bestimmten Benutzern und führen Sie die Paging -Steuerung durch
*
* @param user
* Fragen Sie den Benutzer ab, dessen Foto gehört zu
* @param pageno
*Angegebene Seite zu befragen
* @RETURN DAS ANGEBRAUCHE FOTO
*/
Liste <Fotos> findByUser (Benutzerbenutzer, int pageno);
}
java.util.List importieren;
import com.b510.album.model.user;
/**
* Benutzerdao -Schnittstelle
*
* @Autor Hongten
*
*/
öffentliche Schnittstelle Userdao {
/**
* Laden Sie die Benutzerinstanz basierend auf dem Identifikationsattribut
*
* @param id
* Der Identitätsattributwert der Benutzerinstanz, die geladen werden muss
* @return Benutzerinstanz entspricht dem angegebenen Identifikationsattribut
*/
Benutzer GET (Ganzzahl -ID);
/**
* Behalten Sie die angegebene Benutzerinstanz fort
*
* @param user
* Benutzerinstanz, die angehalten werden muss
* @return den Identity -Attributwert, nachdem die Benutzerinstanz bestehen bleibt
*/
Integer Save (Benutzerbenutzer);
/**
* Ändern Sie die angegebene Benutzerinstanz
*
* @param user
* Die Benutzerinstanz, die geändert werden muss
*/
void Update (Benutzerbenutzer);
/**
* Löschen Sie die angegebene Benutzerinstanz
*
* @param user
* Benutzerinstanz, die gelöscht werden muss
*/
void Delete (Benutzerbenutzer);
/**
* Löschen Sie die Benutzerinstanz basierend auf dem Identifikationsattribut
*
* @param id
* Der Identifikationsattributwert der Benutzerinstanz, die gelöscht werden muss
*/
void delete (Ganzzahl -ID);
/**
* Fragen Sie alle Benutzerinstanzen ab
*
* @return alle Benutzerinstanzen in der Datenbank
*/
LIST <Bener> findAll ();
/**
* Suchen Sie Benutzer basierend auf dem Benutzernamen
*
* @param Name
* Der Benutzername des Benutzers zu finden
* @return den gefundenen Benutzer
*/
Benutzer findByName (String -Name);
}
Da das Projekt nach dem Hinzufügen des JAR -Pakets relativ groß aussieht, wird das JAR -Paket hier storniert.
Folgendes ist der Anhang : ajax_jquery_album_jb51net.rar (Quellcode -Download)