亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Struts2的入門示例

2019-11-14 15:39:26
字體:
來源:轉載
供稿:網友

一個簡單的Struts2的使用示例,主要功能是檢查用戶從jsp頁面中輸入的用戶名是否與密碼一致。


 

首先是jsp部分的代碼。jsp頁面做了一個form表單的請求,和Ajax的請求。

 1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> 2 <% 3 String path = request.getContextPath(); 4 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 5 %> 6  7 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 8 <html> 9   <head>10     <base href="<%=basePath%>">11     12     <title>Hello Struts2</title>13     <meta http-equiv=" content="no-cache">14     <meta http-equiv="cache-control" content="no-cache">15     <meta http-equiv="expires" content="0">    16     <meta http-equiv="keyWords" content="keyword1,keyword2,keyword3">17     <meta http-equiv="descr content="This is my page">18     <!--19     <link rel="stylesheet" type="text/CSS" href="styles.css">20     -->21     <script src="./dist/jquery-2.0.0.min.js"></script>22     <style type="text/css">23         input{24             width:100%25         }26     </style>27   </head>28   29   <body>30        <h1>Hello Struts2</h1>31        <div>32            <h2>Form表單</h2>33                   <form action="UserLoginAction.action">34                   <table>35                       <tr>36                           <td>用戶名:</td><td><input type="text" name="username"></td>37                       </tr>38                       <tr>39                           <td>密碼:</td><td><input type="password" name="password"></td>40                       </tr>41                       <tr><td><input type="submit" value="提交"></td></tr>42                   </table>43        </form>44        </div>45        <div>46            <h2>AJAX調用</h2>47            <table>48                <tr><td>用戶名:</td><td><input id="usernames"></td></tr>49                <tr><td>密碼:<td><input id="passwords" type="password"></td></tr>50                <tr><td><button onclick="check()">提交</button></td></tr>51            </table>52            53        </div>54 55   </body>56  57  <script type="text/Javascript">58      function check(){59          $.post("/UserLoginStruts2/UserLoginAction2.action",{60              password:document.getElementById("passwords").value,61              username:document.getElementById("usernames").value,62              63          },function(data,status){64              alert(data);65          });66      }67  </script>68   69 </html>
View Code

 form表單請求action后,根據結果進行跳轉,兩個跳轉頁面的代碼。

 1 <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%> 2 <% 3 String path = request.getContextPath(); 4 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 5 %> 6  7 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 8 <html> 9   <head>10     <base href="<%=basePath%>">11     12     <title>My JSP 'fail.jsp' starting page</title>13     14     <meta http-equiv="pragma" content="no-cache">15     <meta http-equiv="cache-control" content="no-cache">16     <meta http-equiv="expires" content="0">    17     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">18     <meta http-equiv="description" content="This is my page">19     <!--20     <link rel="stylesheet" type="text/css" href="styles.css">21     -->22 23   </head>24   25   <body>26     Fail <br>27   </body>28 </html>
View Code
 1 <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%> 2 <% 3 String path = request.getContextPath(); 4 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 5 %> 6  7 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 8 <html> 9   <head>10     <base href="<%=basePath%>">11     12     <title>My JSP 'result.jsp' starting page</title>13     14     <meta http-equiv="pragma" content="no-cache">15     <meta http-equiv="cache-control" content="no-cache">16     <meta http-equiv="expires" content="0">    17     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">18     <meta http-equiv="description" content="This is my page">19     <!--20     <link rel="stylesheet" type="text/css" href="styles.css">21     -->22 23   </head>24   25   <body>26       TRUE27   </body>28 </html>
View Code

form表單的請求會根據結果進行跳轉;利用AJAX請求,會將判斷結果,返回給jsp頁面,并提示。


然后是兩個Action部分的代碼。

 form表單所請求的action代碼

 1 package struts; 2  3 import com.opensymphony.xwork2.ActionSupport; 4  5 public class UserLoginAction extends ActionSupport{ 6     private String username,password; 7  8     @Override 9     public String execute() throws Exception {10         System.out.println("Checking...");11         if(this.username.equals(this.password)){12             return "Success";13         }else{14             return "Fail";15         }16     }17 18     public String getUsername() {19         return username;20     }21 22     public void setUsername(String username) {23         this.username = username;24     }25 26     public String getPassword() {27         return password;28     }29 30     public void setPassword(String password) {31         this.password = password;32     }33     34     35 36 }
View Code

AJAX所請求的Action代碼

 1 package struts; 2  3 import org.apache.struts2.ServletActionContext; 4  5 import com.opensymphony.xwork2.ActionSupport; 6  7 public class UserLoginAction2 extends ActionSupport{ 8     private String username,password; 9 10     @Override11     public String execute() throws Exception {12         System.out.println("Checking2...");13         System.out.println(password);14         System.out.println(username);15         System.out.println(password.equals(username));16         String str= this.password.equals(this.username)?"Success":"Fail";17         ServletActionContext.getResponse().getWriter().print(str);18         return null;19     }20 21     public String getUsername() {22         return username;23     }24 25     public void setUsername(String username) {26         System.out.println("SET:"+username);27         this.username = username;28     }29 30     public String getPassword() {31         return password;32     }33 34     public void setPassword(String password) {35         this.password = password;36     }37 38     39     40 }
View Code

Struts的配置文件。

 1 <?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> 3 <struts> 4  5     <package name="struts" namespace="/" extends="struts-default"> 6         <action name="UserLoginAction" class="struts.UserLoginAction"> 7             <param name="username">default</param> 8             <param name="password">defaults</param> 9         <result name='Fail'>/fail.jsp</result><result name='Success'>/true.jsp</result></action>10         <action name="UserLoginAction2"11             class="struts.UserLoginAction2">12             <param name="username"></param>13             <param name="password"></param>14         </action></package></struts>    
View Code

WEB的配置文件。

 1 <?xml version="1.0" encoding="UTF-8"?> 2 <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" version="3.1"> 3   <display-name>UserLoginStruts2</display-name> 4   <filter> 5     <filter-name>struts2</filter-name> 6     <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> 7   </filter> 8   <filter-mapping> 9     <filter-name>struts2</filter-name>10     <url-pattern>*.action</url-pattern>11   </filter-mapping>12 </web-app>
View Code

通過這個實例,主要是為了熟悉Struts2的基本流程,利用MyEclipse2014開發Struts2的項目還是很方便的。只需要將所需要的Action寫好,同時在struts.xml中配置好Action與具體的類的關系和一些參數信息。就可以了。

 


作為初學者,代碼中有什么漏洞或者不規范的地方,希望給位大牛多多指教?。?!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品视频播放| 亚洲美女av黄| 国产一区二区三区毛片| 久久色精品视频| 亚洲精品电影网| 俺去啦;欧美日韩| 国产91成人video| 亚洲人高潮女人毛茸茸| 国产精品偷伦一区二区| 色与欲影视天天看综合网| 992tv成人免费影院| 青青久久av北条麻妃黑人| 国产视频精品久久久| 日韩欧美综合在线视频| 亚洲国内高清视频| 97香蕉久久超级碰碰高清版| 日韩国产高清污视频在线观看| 欧美性xxxxx极品娇小| 一区二区欧美激情| 亚洲最新在线视频| 亚洲国产精品成人av| 国产精品私拍pans大尺度在线| 在线性视频日韩欧美| 亚洲激情在线观看| 91在线免费网站| 一本大道久久加勒比香蕉| 欧美大片网站在线观看| 日韩av影视在线| 久久精品中文字幕一区| 日韩视频免费大全中文字幕| 欧美极品美女视频网站在线观看免费| 国产视频丨精品|在线观看| 9.1国产丝袜在线观看| 亚洲女人被黑人巨大进入| 国内精品视频久久| 成人午夜在线影院| 九九综合九九综合| 4438全国成人免费| 亚洲一区二区福利| 日本高清不卡的在线| 精品国产欧美一区二区五十路| 一区二区三区亚洲| 亚洲国产成人在线播放| 91国产视频在线播放| 91精品国产91久久久久久吃药| 国产99在线|中文| 91在线网站视频| 欧美电影在线观看网站| 日韩欧美有码在线| 成人福利网站在线观看11| 日韩免费观看在线观看| 国产精品ⅴa在线观看h| 综合国产在线观看| 日韩欧美在线国产| 久久综合久久88| 色老头一区二区三区在线观看| 国产精品麻豆va在线播放| 欧洲亚洲在线视频| 欧美高清视频在线播放| 亚洲国产精品专区久久| 国产精品亚洲自拍| 中日韩美女免费视频网站在线观看| 欧美成人精品三级在线观看| 亚洲精品在线观看www| 久久韩国免费视频| 亚洲国产精品成人精品| 欧美日韩国产页| 久久中文字幕视频| 最新的欧美黄色| 国产精品91一区| 日韩亚洲第一页| 国产精品一二区| 国产亚洲美女精品久久久| 亚洲肉体裸体xxxx137| 亚洲色图狂野欧美| 欧美成人sm免费视频| 欧美疯狂性受xxxxx另类| 亚洲理论在线a中文字幕| 欧美精品做受xxx性少妇| 国产精品一二区| 日韩理论片久久| 成人av资源在线播放| 久久久av亚洲男天堂| 欧美精品免费播放| 日韩最新免费不卡| 久久男人av资源网站| 国产精品久久久久91| 亚洲美女黄色片| 亚洲精品美女久久| 国产精品福利观看| 亚洲精品一二区| 668精品在线视频| 日韩av三级在线观看| 日本高清不卡的在线| 姬川优奈aav一区二区| 亚洲精品一区二区久| 国产国产精品人在线视| 日韩国产精品视频| 宅男66日本亚洲欧美视频| 亚洲欧美日韩精品久久奇米色影视| 欧美在线视频导航| 91精品免费视频| 亚洲片av在线| 国产最新精品视频| 亚洲视频在线播放| www.99久久热国产日韩欧美.com| 国产成人综合亚洲| 国产精品色视频| 亚洲国产精久久久久久| 亚洲国产日韩欧美在线动漫| 久久综合色88| 揄拍成人国产精品视频| 亚洲一区二区三区在线免费观看| 欧美精品在线网站| 91香蕉亚洲精品| 91地址最新发布| 91在线观看免费高清| 国产一区玩具在线观看| 一本色道久久88亚洲综合88| 欧美人与性动交a欧美精品| 久久久精品国产网站| 久久久久久69| 午夜精品在线观看| 18久久久久久| 上原亚衣av一区二区三区| 91精品久久久久久| 欧美中文字幕精品| 欧美激情女人20p| 九九久久精品一区| 久久久久国产一区二区三区| 欧美最猛性xxxx| 欧美中文字幕精品| 国产精品久久77777| 欧美—级a级欧美特级ar全黄| 欧美精品激情在线| 亚洲美女中文字幕| 国产精品主播视频| 国产精品久久久久久久午夜| 久久久久在线观看| 精品国产福利视频| 91精品国产91久久久| 久久精品久久久久久国产 免费| 亚洲午夜精品久久久久久性色| 久热爱精品视频线路一| 久久国产精品视频| 日韩有码在线视频| 亚洲精品电影网站| 超碰日本道色综合久久综合| 91超碰中文字幕久久精品| 日韩视频免费在线| 亚洲黄页网在线观看| 国产视频精品xxxx| 久久久av电影| 国产精品露脸自拍| 成人午夜在线视频一区| 91精品国产高清自在线| 欧美成人午夜免费视在线看片| …久久精品99久久香蕉国产| 性视频1819p久久| 久久久精品国产一区二区| 国产日韩亚洲欧美| 黑人巨大精品欧美一区免费视频| 亚洲成人999| 欧美另类69精品久久久久9999|