• Struts基础及步骤(1)!


    1. 导入Struts的包到MyEclipse的项目下的WebRoot--->WEB-INF--->lib里,其中的包,包括:
      commons-fileupload-1.2.1.jar
      freemarker-2.3.15.jar
      commons-logging-1.0.4.jar
      ognl-2.7.3.jar
      struts2-core-2.1.8.1.jar
      xwork-core-2.1.6.jar
    2. 在同为WEB-INF下的web.xml里设置过滤器:请将我在行内的注释先删除掉!!
       1 <?xml version="1.0" encoding="UTF-8"?>
       2 <web-app version="2.5" 
       3     xmlns="http://java.sun.com/xml/ns/javaee" 
       4     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
       5     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
       6     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
       7   <welcome-file-list>
       8     <welcome-file>index.jsp</welcome-file>
       9   </welcome-file-list>
      10   在这里写过滤器
      11   <filter>
      12 <filter-name>struts2</filter-name>这里是过滤器的名字

      13 <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> 14 </filter>上面那一行是过滤器的所在的包里的路径--->Struts准备并执行过滤 15 16 <filter-mapping>这里是过滤的设置17 <filter-name>struts2</filter-name>这是过滤的名字18 <url-pattern>*.action</url-pattern>请求是以.action发送的时候执行过滤19 </filter-mapping> 20 </web-app>
    3. 在src文件下创建一个.xml文件并以struts命名
      1. 找到Refereneced Libraries--->struts2-core-2.1.8.1.jar--->struts-default.xml
      2. 将struts-default.xml中的一些代码复制;如以下的代码1-7行,并将7行的<strust>标签补齐
      3. 回到src下的struts.xml中书写 
        1 <?xml version="1.0" encoding="UTF-8" ?>
             2 
             3 <!DOCTYPE struts PUBLIC
             4     "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
             5     "http://struts.apache.org/dtds/struts-2.1.7.dtd">
             6 
             7 <struts>
             8     <constant name="struts.i18n.encoding" value="UTF-8"></constant>这里书写的是struts的编码方式
             9     <constant name="struts.devMode" value="true"></constant>这里书写的struts开发模式true开启,产品模式是false
            10     <package name="pagekage" extends="struts-default" namespace="/">
            11       上面一行是进行设置package   name是package的标识用于区分  
                                                extends是继承与struts-default
                                               namespace是命名空间 使用的一种代码组织的形式 通过名称空间来分类
        
            12     <action name="login" class="com.action.LoginAction" >
            13         在上一行name表示页面里的from或a标签访问的名字
                                     class用于当login被访问时寻找的类
                                     在这里有一个隐藏的属性method,当没有被写出的时候默认执行的方法是execute方法
            14          <exception-mapping result="Exe" exception="java.lang.Exception"></exception-mapping>
                       上一行是一个异常捕获,当action中出现异常时该标签就会异常的字符
                                          result返回Exe     exception异常处理机制
            15          <result>success.jsp</result> 
                        当result没有 name的属性时,其name默认为success,而后根据写的网页进行跳转
                               result中间夹着的就是网页
            16          <result name="error">error.jsp</result>
            17          <result name="Exe">Exe.jsp</result> 
            18    </action> 
            19 
            20 </package> 
            21 </struts>
    4. 创建一个(名字+action.java)文件在src中  例如:com.action包下的--->LoginAction.java
      1.     LoginAction.java使其继承与ActionSupport或接口与Action;推荐继承
        1. 继承ActionSupport:内有封装的方法、常量、等可以运用的东西!!
        2. 接口Action:必须实现execute方法,自己编写
      2.  在struts中可以直接的进行对象的赋予,不用自己将网页提供的数据取出并赋予对象
        1.   第一种:直接写对象的get与set的方法并私有对象属性,在请求通过时struts自动创建成员并set----前提是在页面内必须要有对象的名字.属性----user.name      -如下
        2.  1 package com.action;
           2 
           3 import com.bean.User;
           4 import com.opensymphony.xwork2.Action;
           5 
           6 public class LoginAction implements Action {
           7 
           8     private User user;
           9     
          10     
          11     
          12     public User getUser() {
          13         return user;
          14     }
          15     
          16     public void setUser(User user) {
          17         this.user = user;
          18     }
          19 
          20     public String execute() throws Exception {
          21         // TODO Auto-generated method stub
          22         if(user.getName()!=null&user.getName().equals("wang")){
          23             return "yes";
          24         }
          25         return "no";
          26     }
          27 
          28 }
          1. 第二种:与ModelDriven<User>接口实现其方法,并直接将对象创建出来--在这个里就不用象上一个在页面上user.name,可以直接的name--如下
             1 package com.action;
             2 
             3 
             4 import com.bean.User;
             5 import com.opensymphony.xwork2.ActionSupport;
             6 import com.opensymphony.xwork2.ModelDriven;
             7 
             8 
             9 
            10 public class sss extends ActionSupport implements ModelDriven<User>{
            11     
            12 
            13     private User user=new User();
            14     
            15     public String add(){
            16         if(user.getName()!=null&user.getName().equals("wang")){
            17             
            18             this.addActionMessage("姓名错误!!!请重新输入!");
            19             上一行是继承ActionSupport类里的,可以在页面中直接取出
            20             return SUCCESS;
            21         }
            22         
            23         return ERROR;
            24     }
            25 
            26     public User getModel() {
            27         // TODO Auto-generated method stub
            28         return user;
            29     }
            30     
            31 }

                 各位纯手打很辛苦的!!!!!!!请让我也上一个首页!!谢谢!

  • 相关阅读:
    30个热门的CSS3 Image Hover 脚本
    70个jQuery触摸事件插件 支持手势触摸!
    40个超酷的jQuery动画教程
    45个漂亮且有创意的HTML5网站展示
    40+极具创意的产品展示PSD模板
    25个开始学习HTMLE5的最好的资源
    25个很酷的jQuery倒计时脚本–添加动态计数器!
    45个wordpress自适应插件
    30+WordPress古典风格的主题古典却不失时尚
    为kindeditor上传图片添加水印(PHP版)
  • 原文地址:https://www.cnblogs.com/a710445786/p/6370544.html
Copyright © 2020-2023  润新知