Struts2 入門案例+介紹


入門案例:登錄判斷;

采用兩種方式對比:servlet  與 struts2

struts2的包結構:

一,采用servlet實現登錄

1.基本jsp頁面確定,登錄表單提交,與兩個結果頁面,登錄成功與登錄失敗頁面,代碼如下:

 1 《login.jsp》
 2 <body>
 3      <form action="${pageContext.request.contextPath }/login"  method="post">
 4            username:<input type="text" name="username">
 5            password:<input type="password" name="password">
 6            <input type="submit" name='login'>
 7      </form>
 8 </body>
 9 <body>
10 《failer.jsp》
11 <h1> 失敗</h1>
12 </body>
13 《success.jsp》
14 <body>
15 <h1> 成功!</h1>
16 </body>
三個jsp頁面

 

2.servlet書寫,創建一個loginServlet.java,注意設置的響應后綴與提交頁面的后綴一樣!

 1 public class loginServle extends HttpServlet {
 2      private static final long serialVersionUID = 1L;
 3        
 4     public loginServle() {
 5         super();
 6     }
 7      protected void doGet(HttpServletRequest request,  HttpServletResponse response) throws ServletException,  IOException {
 8            String name=request.getParameter("username");
 9            String pass=request.getParameter("password");
10            if("tom".equals(name)&&"123".equals(pass)) {
11                 response.sendRedirect(request.getContextPath()+"/success.jsp");
12            }else {
13                 response.sendRedirect(request.getContextPath()+"/failer.jsp");
14            }
15      }
16      protected void doPost(HttpServletRequest request,  HttpServletResponse response) throws ServletException,  IOException {
17            doGet(request, response);
18      }
19 }
loginServlet.java

 

3.確認web.xml的配置信息,是否正確(僅顯示主要代碼)

 1 <servlet>
 2     <description></description>
 3     <display-name>loginServle</display-name>
 4     <servlet-name>loginServle</servlet-name>
 5     <servlet-class>com.loginServle</servlet-class>
 6   </servlet>
 7   <servlet-mapping>
 8     <servlet-name>loginServle</servlet-name>
 9     <url-pattern>/login</url-pattern>
10   </servlet-mapping>
web.xml

 

二,采用struts2實現登錄

1.同樣使用上面的三個jsp頁面

2.導入struts2的jar包(主要的13個包,選取struts2里面的apps中的實例項目中的Lib文件拷貝到本項目的Lib文件夾中)

3.配置web.xml信息,手動寫入filter(攔截器) 的名字和源代碼路徑,再寫入攔截器的映射條件,此處設置位/*,詳見下面代碼:

 1 <servlet>
 2     <description></description>
 3     <display-name>loginServle</display-name>
 4     <servlet-name>loginServle</servlet-name>
 5     <servlet-class>com.loginServle</servlet-class>
 6   </servlet>
 7   <servlet-mapping>
 8     <servlet-name>loginServle</servlet-name>
 9     <url-pattern>/login</url-pattern>
10   </servlet-mapping>
struts2的web.xml

 

4.配置struts.xml,這個是把攔截器攔截到的請求信息映射到具體的Action類中,就和servlet很像,基本結構就是package與action還要result,具體的功能,后面介紹

 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <!DOCTYPE struts PUBLIC
 3      "-//Apache Software Foundation//DTD Struts Configuration  2.3//EN"
 4      "http://struts.apache.org/dtds/struts-2.3.dtd">
 5 <struts>
 6     <package name="default" namespace="/"  extends="struts-default">
 7     <action name="struts2" class ="com.strutsAction"  method="show"></action>
 8     <action name="login" class ="com.loginAction"  method="login">
 9       <result name="success">/success.jsp</result>
10       <result name="failer">/failer.jsp</result>
11     </action>
12     </package>
13 </struts>
struts.xml

 

5.Action的創建,這個只是一個簡單的java類,沒有繼承,但是類的成員名字要和請求中的參數名字相同,才能把信息提取出來。

 1 public class loginAction {
 2      private String username;
 3      private String password;
 4      
 5      public String getUsername() {
 6            return username;
 7      }
 8      public String getPassword() {
 9            return password;
10      }
11      public void setUsername(String username) {
12            this.username = username;
13      }
14      public void setPassword(String password) {
15            this.password = password;
16      }
17      public String login() {
18            //如何獲取請求參數,這里又不是servlet!!!
19            System.out.println("訪問到了login()方法");
20            System.out.println(username+" "+password);
21            if("tom".equals(username)&&"123".equals(password)) {
22                 System.out.println("登錄密碼正確");
23                 return "success";
24            }else {
25                 return "failer";
26            }
27      }
28 }
loginAction

 

結果頁面:login:                      failer.jsp                                                             success.jsp

 

 

 

 

 

 

評價:struts包裝了servlet,完成它的功能,在基本的web網站開發中,基本的請求就是:1.在servlet中獲取數據;2.根據業務完成邏輯操作;3.跳轉頁面;對於這些同一個套路的東西,其底層代碼相同,所以直接使用了相同的代碼,就創建了這個框架,便於簡化開發,直接使用接口就完畢,省時間。

======================================================================

struts2的開發架構模式:

web的架構模式:

dao

domain

service

web

struts2運用的好處:

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM