مشخصات مقاله
-
611
-
0.0
-
1821
-
0
-
0
آموزش سیستم لاگین در Spring
مثال login
مثال برنامه ورود(login application) ادغام Spring و struts2
برای یک برنامه ورود ساده با استفاده از Spring و struts2 فایل های زیر را باید ایجاد کنید :
- index.jsp
- web.xml
- struts.xml
- applicationContext.xml
- Login.java
- login_success.jsp
- login_error.jsp
index.jsp :
این صفحه نام و رمز عبور را از کاربر می گیرد.
<%@ taglib uri="/struts-tags" prefix="s"%> < s:form action="login"> < s:textfield name="name" label="Username">< /s:textfield> < s:password name="password" label="Password">< /s:password> < s:submit value="login">< /s:submit> < /s:form>
web.xml :
کلاس کنترلر برای struts2 و کلاس شنونده ContextLoaderListener برای ایجاد ارتباط بین برنامه Spring و struts2 را تعریف می کند.
< ?xml version="1.0" encoding="UTF-8" ?>
< web-app version="2.5"
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_2_5.xsd">
< welcome-file-list>
< welcome-file>index.jsp< /welcome-file>
< /welcome-file-list>
< filter>
< filter-name>struts2< /filter-name>
< filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
< /filter-class>
< /filter>
< listener>
< listener-class>org.springframework.web.context.ContextLoaderListener< /listener-class>
< /listener>
< filter-mapping>
< filter-name>struts2< /filter-name>
< url-pattern>/*< /url-pattern>
< /filter-mapping>
< /web-app>
struts.xml :
پکیج را با action و result تعریف می کند. در اینجا، نام کلاس action ، login است که در فایل applicationContext.xml مورد جستجو واقع می شود.
< ?xml version="1.0" encoding="UTF-8" ?> < !DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> < struts> < package name="abc" extends="struts-default"> < action name="login" class="login"> < result name="success">login_success.jsp< /result> < result name="error">login_error.jsp< /result> < /action> < /package> < /struts>
applicationContext.xml :
یک bean با شناسه ورود تعریف می کند. این bean ها با کلاس com.javatpoint.Login مطابقت دارد. در اینجا به عنوان کلاس action در نظر گرفته می شود.
< ?xml version="1.0" encoding="UTF-8" ?> < beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> < bean id="login" class="com.javatpoint.Login"> < property name="successmessage" value="You are successfully logged in!">< /property> < property name="errormessage" value="Sorry, username or password error!">< /property> < /bean> < /beans>
Login.java :
چهار خصیصه نام، رمز عبور، پیام موفقیت(successmessage) و پیام خطا(errormessage) را به همراه متد execute که در شرایطی که رمز عبور javatpoint باشد، success را باز میگرداند، تعریف می کند :
package com.javatpoint;
public class Login {
private String name,password,successmessage,errormessage;
//setters and getters
public String execute(){
if(password.equals("javatpoint")){
return "success";
}
else{
return "error";
}
}
}
login_success.jsp :
مقادیر خصیصه های نام کاربری و پیام را چاپ می کند.
<%@ taglib uri="/struts-tags" prefix="s"%>
${successmessage}
< br />
Welcome, < s:property value="name" />< br />
login_error.jsp :
صفحه خطا است. اما در این مثال مورد نیاز نیست زیرا هیچ منطقی(logic) را در متد execute از کلاس action تعریف نمی کنیم.
${errormessage}
< jsp:include page="index.jsp">< /jsp:include>