Struts 2 개발 환경 구축 간단 한 로그 인 기능 인 스 턴 스 첨부

우선 Struts 2 환경 을 구축 하 는 것 이다.
첫 번 째 다운로드 Struts 2
Struts 홈 페이지 http://struts.apache.org/ 에 가서 Struts 2 구성 요 소 를 다운로드 하 세 요.
지금까지 struts 2 의 최신 버 전 은 2.3.1.3 이 고 struts-2.3.16.3-all.zip 를 다운로드 하여 압축 을 풀 고 놓 았 다.
두 번 째 단 계 는 웹 프로젝트 를 새로 만 들 고 jar 패 키 지 를 가 져 옵 니 다.
MyEclispe 에 웹 프로젝트 를 새로 만 든 다음 압축 을 푸 는 Struts 2 패 키 지 를 찾 습 니 다.안쪽 apps 폴 더 에서 struts 2-blank.war 를 찾 아 이 WAR 파일 을 압축 을 풀 고 안에 있 는 WEB-INF\lib 디 렉 터 리 에 있 는 jar 파일 을 모두 새 웹 프로젝트 의 WebRoot\WEB-INF\lib 디 렉 터 리 에 복사 합 니 다.
세 번 째 설정 웹.xml
프로젝트 의 WebRoot\\WEB-INF\디 렉 터 리 에서 웹.xml 파일 을 찾 습 니 다.웹.xml 파일 을 새로 만 들 지 않 고 다음 코드 를 추가 합 니 다.

<filter>
 <filter-name>struts2</filter-name>
 <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
 <filter-name>struts2</filter-name>
 <url-pattern>/*</url-pattern>
</filter-mapping>
다음은 완전한 웹.xml 파일 의 예제 입 니 다.

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns="http://xmlns.jcp.org/xml/ns/javaee"
 xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
 id="WebApp_ID" version="3.1">
 <display-name>web1</display-name>
 <filter>
  <filter-name>struts2</filter-name>
  <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
 </filter>
 <filter-mapping>
  <filter-name>struts2</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>
 <welcome-file-list>
  <welcome-file>index.html</welcome-file>
  <welcome-file>index.htm</welcome-file>
  <welcome-file>index.jsp</welcome-file>
  <welcome-file>default.html</welcome-file>
  <welcome-file>default.htm</welcome-file>
  <welcome-file>default.jsp</welcome-file>
 </welcome-file-list>
</web-app>
4 단계 struts.xml 설정
프로젝트 의 src 디 렉 터 리 에서 struts.xml 파일 을 찾 았 습 니 다.새 파일 이 없 으 면 다음 과 같 습 니 다.

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
 "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
 "http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>
 <package name="main" extends="struts-default">
  <!--       action -->
 </package>
</struts>

이로써 Struts 2 개발 환경 구축 이 완료 되 었 습 니 다.
로그 인 페이지 인 스 턴 스 를 보 여 줍 니 다.
Index.jsp 첫 번 째 수정
Index.jsp 를 수정 하여 로그 인 인터페이스 를 만 듭 니 다.
다음은 index.jsp 의 코드 입 니 다.

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML>
<html>
 <head>
 <title>  </title>
 </head>
 
 <body>
 <form action="login" method="post">
   <br />
   :<input type="text" name="username" /><br />
   :<input type="password" name="password" /><br />
 <input type="submit" value="  " />
 </form>
 </body>
</html>

다음은 Index.jsp 브 라 우 저 에서 의 효과 입 니 다.

두 번 째 단 계 는 계 정과 비밀 번 호 를 검증 하 는 클래스 를 작성 합 니 다.
새로 만 든 LogAction 클래스 는 com.opensymphony.xwork 2.Action Support 클래스 를 계승 합 니 다.index.jsp 의 두 입력 상자 의 name 속성 이 각각 username 과 password 임 을 알 수 있 습 니 다.따라서 LogAction 클래스 는 다음 두 가지 속성 을 포함해 야 합 니 다.
private String username
private String password
그리고 그들의 get,set 방법 을 써 야 합 니 다.
그리고 execute 방법 을 작성 하여 execute 방법 에서 계 정과 비밀 번 호 를 검증 하고 String 형식의 결 과 를 되 돌려 줍 니 다.execute 방법 은 이 Action 류 가 호출 될 때 자동 으로 실 행 됩 니 다.
다음은 LogAction.java 의 전체 코드 입 니 다.

package com.lidi.struts.action;

import com.opensymphony.xwork2.ActionSupport;

public class LogAction extends ActionSupport {

 private static final long serialVersionUID = 1L;
 private String username;//  
 private String password;//  
 
 //getters & setters
 public String getUsername() {
  return username;
 }
 public void setUsername(String username) {
  this.username = username;
 }
 public String getPassword() {
  return password;
 }
 public void setPassword(String password) {
  this.password = password;
 }
 
 /**
  * execute     Action           ,
  *      ="admin"    ="123456",   SUCCESS
  *     ERROR
  */
 public String execute(){
  if(username.equalsIgnoreCase("admin") && password.equalsIgnoreCase("123456")){
   return SUCCESS;
  }
  else
   return ERROR;
 }
}

위의 복귀 SUCCESS 와 ERROR 로 돌아 가 는 것 은 무슨 뜻 입 니까?나중에 말씀 드 리 겠 습 니 다.
세 번 째 설정 struts.xml
두 번 째 단 계 는 Action 클래스 를 작 성 했 습 니 다.세 번 째 단 계 는 이 Action 을 struts.xml 에 설정 하고 struts.xml 를 열 어 package 탭 에 다음 코드 를 추가 합 니 다.

<action name="login" class="com.lidi.struts.action.LogAction">
 <result name="success">success.jsp</result>
 <result name="error">error.jsp</result>
</action>
action 태그 의 name 속성 은 login 입 니 다.이것 은 index.jsp 에서 form 태그 의 action 속성 과 일치 해 야 합 니 다.class 속성 은 LogAction 류 의 전 칭 을 입력 해 야 합 니 다.
success.jsp이 탭 은 LogAction 류 의 execute 방법 이 SUCCESS 로 돌아 갈 때 페이지 가 success.jsp 로 이동 한 다 는 뜻 입 니 다.마찬가지 로success.jsp이 탭 은 LogAction 류 의 execute 방법 이 ERROR 로 돌아 갈 때 페이지 가 error.jsp 로 이동 한 다 는 뜻 입 니 다.
완전한 struts.xml 코드 는 다음 과 같 습 니 다.

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
 "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
 "http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>
 <package name="main" extends="struts-default">
  <action name="login" class="com.lidi.struts.action.LogAction">
   <result name="success">success.jsp</result>
   <result name="error">error.jsp</result>
  </action>
 </package>

</struts>

여기에 success.jsp 와 error.jsp 를 사 용 했 습 니 다.프로젝트 에 이 두 파일 을 새로 만 들 었 습 니 다.success.jsp 는 로그 인 에 성공 한 페이지 를 표시 하고 로그 인 에 사용 할 계 정과 비밀 번 호 를 표시 합 니 다.error.jsp 는 로그 인 에 실패 한 페이지 를 표시 합 니 다.위 에 오류 알림 을 표시 하면 됩 니 다.그들의 코드 는 각각 다음 과 같 습 니 다.
success.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>

<!DOCTYPE HTML>
<html>
 <head>
 <title>    </title>
 </head>
 
 <body>
   <s:property value="username" />,    !<br />
 </body>
</html>

<%@taglib prefix="s"uri="/struts-tags"%>struts 태그 라 이브 러 리 참조
는 struts 태그 로 로그 인 페이지 에서 전 달 된 계 정 을 표시 합 니 다.
error.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML>
<html>
 <head>
 <title>    </title>
 </head>
 
 <body>
     !        !
 </body>
</html>

4 단계 운행
struts.xml 를 설정 한 후 서버 를 다시 시작 하고 브 라 우 저 에서 효 과 를 봅 니 다.
계 정과 비밀 번 호 를 각각 입력 하고 로그 인 합 니 다.계 정과 비밀번호 가 각각 admin 과 123456 이면 페이지 가 표 시 됩 니 다.
관리자 님,로그 인 성공 을 환영 합 니 다!
안 그러면 나 와 요.
로그 인 실패!사용자 이름 이나 비밀번호 오류!
다섯 번 째 단계 프로그램 운행 원리 에 대한 분석
사용자 가 계 정 비밀 번 호 를 입력 하고 로그 인 을 클릭 하면 브 라 우 저 는 form 태그 action 속성 에 있 는 링크,즉 login 을 요청 합 니 다.서버 에서 필터 가 login 이라는 요청 을 차단 하면 struts.xml 에서 name=login 의 action 을 찾 고 이 action 의 class 속성 에 대응 하 는 클래스,즉 com.lidi.struts.action.LogAction 을 찾 은 다음 LogAction 대상 을 예화 합 니 다.또한 인자 username 과 password 를 각각 이 대상 에 게 부여 하 는 username 과 passwrod 속성(이것 이 바로 LogAction 류 의 두 속성 이름 이 index.jsp 의 두 텍스트 상자 의 name 속성 과 각각 같 고 get 과 set 방법 을 추가 해 야 하 는 이유 입 니 다)을 실행 한 후 이 대상 의 execute 방법 을 실행 하고 문자열 을 되 돌려 줍 니 다.SUCCESS 문자열 을 되 돌려 주면 struts.xml 에서 action 에 대응 하 는탭 에서 name 속성 이 success 와 같은탭 을 찾 고 이 탭 에 설 정 된 페이지 success.jsp 로 페이지 를 이동 합 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기