一、確定Struts在開發中的地位
Struts其實就是一個Servlet; 根據MVC開發模式,如圖所示:
而Struts其實就是擔當了Servlet的職責,即 使用Struts後的處理流程就是把Servlet換成Struts;
二、Struts2開發須知
1.在web.xml配置Struts的核心Filter的原因是需要讓Struts介入web處理過程,即讓web應用具有Struts的功能;
2.struts.xml用於放置struts內部的一些配置信息,即使用Struts的功能;
3.可以在struts.xml中添加<Constant name="struts.enable.devmode" value="true"/>,表明現在在開發階段,不需要重新啟動服務器就可以重新部署;
4.struts.xml 開發中放置在src目錄下,但是部署時放在 WEB-INF\classes目錄中;
三、Struts2處理流程
接下來我們通過一個開發一個登錄處理的web應用,更清晰的說明struts2的流程;
先展示目錄結構:
一、編寫JSP頁面
登錄頁面、登錄成功頁面、登錄失敗頁面分別為login.jsp,success.jsp,fail.jsp
login.jsp
[html]
- <%@ page language="java" contentType="text/html; charset=utf-8"
- pageEncoding="utf-8"%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <title>登錄界面</title>
- </head>
- <body>
- <form action="loginAction">
- 用戶名:<input type="text" name="user"/><br />
- 密碼:<input type="password" name="password"/><br />
- <input type="submit" value="登錄"/>
- </form>
- </body>
- </html>
success.jsp
[html]
- <%@ page language="java" contentType="text/html; charset=utf-8"
- pageEncoding="utf-8"%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <title>登錄成功界面</title>
- </head>
- <body>
- 登陸成功!!!
- </body>
- </html>
fail.jsp
[html]
- <%@ page language="java" contentType="text/html; charset=utf-8"
- pageEncoding="utf-8"%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <title>登錄失敗界面</title>
- </head>
- <body>
- 登陸失敗!!!
- </body>
- </html>