struts 2 입문 데모 예시
1.새 웹 프로젝트,이름:struts2demo;
2.사용자 라 이브 러 리 struts 2 를 만 들 고 최소 struts 2 의 최소 6 개의 jar 파일 을 포함 합 니 다.
사실은 MyEclipse 8 이상 에 있어 서 는 필요 하지 않 습 니 다.struts 2 를 직접 지원 하기 때 문 입 니 다.따로 안내 할 필요 가 없습니다.
3.Build Path 로 struts 2 의 라 이브 러 리 추가 하기;
4.웹.xml 에 다음 설정 을 추가 합 니 다:
<?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" >
<!-- struts2 -->
<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.jsp</welcome-file>
</welcome-file-list>
</web-app>
5.액 션 만 들 기
package com.yenange.action;
import com.opensymphony.xwork2.Action;
public class LoginAction implements Action {
private String uname; //
private String upass; //
//
@Override
public String execute() throws Exception {
System.out.println(" :"+uname);
System.out.println(" :"+upass);
if (uname.equals("leaf") && upass.equals("leaf")) {
return "success";
}
return "error";
}
// , get set
public String getUpass() {
return upass;
}
public void setUpass(String upass) {
this.upass = upass;
}
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
}
6.세 페이지 파일:index.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<html>
<head>
<title>My JSP 'index.jsp' starting page</title>
</head>
<body>
<form action="login">
:<input type="text" name="uname"><br>
:<input type="text" name="upass"><br>
<input type="submit" value=" " />
</form>
</body>
</html>
welcome.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<html>
<head>
<title>My JSP 'welcome.jsp' starting page</title>
</head>
<body>
welcome struts2
</body>
</html>
fail.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<html>
<head>
<title>My JSP 'welcome.jsp' starting page</title>
</head>
<body>
!
</body>
</html>
7.struts.xml 을 설정 합 니 다.(MyEclipse 6 에 대해 서 는 다른 곳 에서 만 copy 할 수 있 습 니 다)
<?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="default" namespace="/" extends="struts-default">
<action name="login" class="com.yenange.action.LoginAction">
<result name="success">/welcome.jsp</result>
<result name="error">/fail.jsp</result>
</action>
</package>
<!-- Add packages here -->
</struts>
8.여기 서 완성 합 니 다.실행 해 보 세 요.간단 하지 않 나 요?다음은 request,session,application 등 을 얻 는 방법 입 니 다.
package com.yenange.action;
import java.util.Map;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts2.ServletActionContext;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.SessionAware;
import org.apache.struts2.util.ServletContextAware;
import com.opensymphony.xwork2.Action;
public class LoginAction implements Action,ServletRequestAware,SessionAware,ServletContextAware {
private String uname; //
private String upass; //
HttpServletRequest request; // request
Map session; // session, ,
ServletContext application; // application
// ;
HttpServletRequest request2 = ServletActionContext.getRequest();
HttpServletResponse response2 = ServletActionContext.getResponse();
HttpSession session2 = request2.getSession();
@Override
public void setServletRequest(HttpServletRequest req) {
this.request=req;
}
@Override
public void setSession(Map session) {
this.session=session;
}
@Override
public void setServletContext(ServletContext application) {
this.application=application;
}
//
public String execute() throws Exception {
if (uname.equals("leaf") && upass.equals("leaf")) {
request.setAttribute("userName", uname);
return "success";
}
request.setAttribute("accessError", uname+" !");
return "error";
}
// , get set
public String getUpass() {
return upass;
}
public void setUpass(String upass) {
this.upass = upass;
}
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
}
이것들 은 단지 초보 일 뿐 이 니,뒤에 라벨,동적 방법 과 같은 것들 을 좀 더 배 워 라.본 고 에서 말 한 것 이 여러분 의 Struts 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
apache struts2 취약점 검증이번에는 보안 캠프의 과제였던 apache struts2의 취약성에 대해 실제로 손을 움직여 실행해 보고 싶습니다. 환경 VirtualBox에서 브리지 어댑터 사용 호스트:macOS 10.12 게스트:ubuntu 1...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.