Struts 2 + Hibernate 통합 가르쳐 드릴 게 요.

지난주 에 작 성 된 로그 인 등록 은 프레임 워 크 버 전 으로 Struts 2.0.11 을 사 용 했 습 니 다.   Hibernate 3.1, 개발 도 구 는 MyEclipse 입 니 다.
        서버 에서 검증 하 는 방법 을 사용 합 니 다.
register. jsp 페이지 에 다음 코드 를 기록 합 니 다:

<s:form action="register">

		<s:textfield name="username" label="username"></s:textfield>
		
		<s:password name="password" label="password"></s:password>

		<s:submit label="submit" align="center"></s:submit>
</s:form>

result. jsp 페이지 에 다음 코드 를 추가 합 니 다:

<s:text name="username:"></s:text>
    <s:property  value="username"/><br>
    <s:text name="password:"></s:text>	
<s:property  value="password"/>

웹. xml 의 코드:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 
	xmlns="http://java.sun.com/xml/ns/j2ee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
	http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>

<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>

index. jsp 페이지 에 JS 나 JAVA 코드 를 추가 하여 자동 으로 home. action 으로 이동 합 니 다.
struts. xml 에서 코드 는 다음 과 같 습 니 다.

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

<struts>
	<package name="struts2" extends="struts-default" namespace="/user">
		<action name="register" class="action.RegisterAction">
				<result name="success">/result.jsp</result>
				<result name="input">/register.jsp</result>
		</action>
		<action name="home" class="action.HomeAction">
				<result name="success">/register.jsp</result>
		</action>
	</package>
</struts>

HomeAction 에서 "success" 를 직접 반환 합 니 다. RegisterAction 에서 코드 는 다음 과 같 습 니 다.

package action;
/*
 * by 
 * tuxiliang
 * http://hi.baidu.com/oruja
 */
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import vo.Person;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

import dao.impl.PersonDAO;



@SuppressWarnings("serial")
public class RegisterAction extends ActionSupport {
	private String username;
	private String password;
	PersonDAO person;
	private List messages = new ArrayList();

	public List getMessages() {
		return messages;
	}
	public void setMessage(List messages) {
		this.messages = messages;
	}
	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;
	}
	
	public String execute()throws Exception
	{
		person = new PersonDAO();
		List list = person.findByName(this.getUsername().trim());
		if(list.isEmpty()){
			Person user = new Person(this.getUsername(),this.getPassword());
			person.save(user);
			ActionContext ctx = ActionContext.getContext();
			Map session = ctx.getSession();
			session.put("username",this.getUsername());
			return "success";
		}
		else {
			this.addFieldError("username", "the username is already registered!");
			return "input";
			}
	}
	@Override
	public void validate() {
		if(null==this.getUsername()||"".equals(this.getUsername().trim())){
			this.addFieldError("username", "username required!");
			
		}
		else 	if(null==this.getPassword()||"".equals(this.getPassword().trim())){
							this.addFieldError("password", "password required!");
						}
		
	}
}

또 하나의 struts. properties 파일 은 오 류 를 방지 하기 위해 인터넷 에 설명 이 있 습 니 다. hibenate 에 관 한 맵 파일 과 PersonDAO 는 붙 이지 않 습 니 다. 어떻게 된 일 인지 아 실 거 라 고 믿 습 니 다.서버 를 실행 한 후 그림 효 과 는 첨부 파일 을 보십시오.

좋은 웹페이지 즐겨찾기