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

首頁 > 編程 > JSP > 正文

struts2入門Demo示例

2020-07-27 21:31:28
字體:
來源:轉載
供稿:網友

本文講述了struts2入門Demo示例。分享給大家供大家參考。具體如下:

1.新建Web Project, 名稱:struts2Demo;

2.建立一個用戶庫struts2, 包含最少的struts2的最少的6個jar文件;
其實呢, 對于MyEclipse8以上來說, 是不必須的, 因為它直接支持struts2了.不需要另外導包.

3.用Build Path將struts2的庫加進來;

4.在web.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.建立Action

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. (對于MyEclipse6來說, 只能從別的地方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程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产91色在线| 欧美日韩一区二区在线播放| 亚洲无限乱码一二三四麻| 亚洲成人久久网| 国产第一区电影| 一本色道久久综合狠狠躁篇的优点| 国产精品丝袜一区二区三区| 97成人超碰免| www.日韩欧美| 亚洲国产成人av在线| 久久久91精品| 好吊成人免视频| 91精品视频在线看| 亚洲图片在线综合| 欧美精品成人在线| 亚洲新声在线观看| 欧美一级大片在线免费观看| 91国产高清在线| 国产精品国产三级国产专播精品人| 亚洲国产精彩中文乱码av| 国产精品美女呻吟| 亚洲国产精品电影在线观看| 精品国偷自产在线| 国产午夜精品视频| 亚洲一区二区三| 亚洲精品一区二区三区不| 在线电影欧美日韩一区二区私密| 国产日韩专区在线| 国产美女搞久久| 亚洲免费福利视频| 98午夜经典影视| 一个人看的www久久| 九九热在线精品视频| 久久婷婷国产麻豆91天堂| 日本久久久久亚洲中字幕| 在线电影中文日韩| 精品色蜜蜜精品视频在线观看| 欧美大尺度电影在线观看| 另类专区欧美制服同性| 久久精品青青大伊人av| 欧美黑人巨大精品一区二区| 日日摸夜夜添一区| 欧美电影免费观看高清完整| 91wwwcom在线观看| 中文字幕日韩欧美在线视频| 亚洲男人第一网站| 色天天综合狠狠色| 97视频免费观看| 懂色av影视一区二区三区| 欧洲成人免费aa| 亚洲va电影大全| 亚洲免费福利视频| 久久久久久网站| 成人网欧美在线视频| 国产精品羞羞答答| 亚洲精品大尺度| 色黄久久久久久| 亚洲剧情一区二区| 国产va免费精品高清在线观看| 国产精品美女免费视频| 欧美性猛交xxxx乱大交蜜桃| 国产精品美女久久久免费| 国产精品久久久久不卡| 九九热精品视频在线播放| 色悠悠久久88| 欧美巨乳美女视频| 中文字幕在线观看日韩| 精品久久久久久久久久久久久久| 欧美视频一区二区三区…| 国产精品免费一区二区三区都可以| 尤物yw午夜国产精品视频| 亚洲欧洲午夜一线一品| 国产午夜精品全部视频播放| 日韩一区二区福利| 亚洲欧美国产va在线影院| 国产欧美va欧美va香蕉在线| 欧美日韩一区二区三区在线免费观看| 精品久久久久久久久国产字幕| 久久精品国产亚洲精品2020| 亚洲精美色品网站| 亚洲欧美制服中文字幕| 51午夜精品视频| 久久久精品免费视频| 91中文在线观看| 欧美视频中文在线看| 日韩精品中文字幕在线| 亚洲美女av黄| 狠狠爱在线视频一区| 97国产在线观看| 欧美专区第一页| 日韩精品电影网| 久久久久久久久综合| 日韩精品免费视频| 国产精品jvid在线观看蜜臀| 成人激情黄色网| 日韩免费电影在线观看| 国产乱人伦真实精品视频| 精品国产一区二区三区久久狼5月| 欧美日韩亚洲系列| 国产亚洲精品久久久优势| 欧美激情第1页| 粗暴蹂躏中文一区二区三区| 国产丝袜一区二区三区| 日韩欧美精品中文字幕| 久久亚洲精品成人| 日本免费在线精品| 欧美性猛交xxxx黑人| 国产精品ⅴa在线观看h| 国产91在线高潮白浆在线观看| 91情侣偷在线精品国产| 91久久国产婷婷一区二区| 亚洲综合在线做性| 欧美一级淫片播放口| 91在线精品播放| 欧美久久久精品| 伊人一区二区三区久久精品| 久久久久久九九九| 91大神在线播放精品| 成人黄色av网| 国产精品嫩草视频| 国产va免费精品高清在线| 亚洲天天在线日亚洲洲精| 亚洲福利在线观看| 欧美最顶级丰满的aⅴ艳星| 久久影院在线观看| 欧美精品电影在线| 在线精品播放av| 2021久久精品国产99国产精品| 91九色精品视频| 国产亚洲精品高潮| 欧美日韩中文在线| 国产精品999999| 91久久久亚洲精品| 午夜免费日韩视频| 亚洲精品色婷婷福利天堂| 日本不卡高字幕在线2019| 欧美精品一二区| 国内精品一区二区三区| 91香蕉嫩草影院入口| 亚洲国产另类 国产精品国产免费| 2024亚洲男人天堂| 精品免费在线观看| 欧美激情精品久久久久久大尺度| 精品五月天久久| 久久99国产精品自在自在app| 国产美女被下药99| 久久视频这里只有精品| 久久99热这里只有精品国产| 亚洲天堂日韩电影| 久久精品电影网站| 亚洲精品xxx| 国产精品成人久久久久| 国产亚洲精品成人av久久ww| 亚洲第一区在线观看| 91久久嫩草影院一区二区| 欧美伊久线香蕉线新在线| 久久久久久久激情视频| 亚洲视频在线观看网站| 国产91精品久久久久| 2019日本中文字幕| 最近2019中文免费高清视频观看www99| 国产精品爽爽爽爽爽爽在线观看| 日韩激情第一页| 91久久精品视频|