【Struts第二天总结案例】

这里省略登录界面和登录成功的跳转界面;这两个界面都是比较简单的jsp页面;省略了bean文件,其中只是封装了username和password属性

  1.web.xml 配置文件

  [java

  1 <?xml version="1.0" encoding="UTF-8"?>

  2 <web-app version="2.5" xmlns="java.sun.com/xml/ns/javaee"

  3 xmlns:xsi="www.w3.org/2001/XMLSchema-instance"

  4 xsi:schemaLocation="java.sun.com/xml/ns/javaee

  5 java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

  6 <filter>

  7 <filter-name>struts2</filter-name>

  8 <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>

  9 </filter>

  10

  11 <filter-mapping>

  12 <filter-name>struts2</filter-name>

  13 <url-pattern>/*</url-pattern>

  14 </filter-mapping>

  15

  16 <welcome-file-list>

  17 <welcome-file>index.jsp</welcome-file>

  18 </welcome-file-list>

  19 </web-app>

  20 2.struts.xml配置文件,struts2配置最重要的文件,名字不能修改

  21 <?xml version="1.0" encoding="UTF-8" ?>

  22 <!DOCTYPE struts PUBLIC

  23 "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"

  24 "struts.apache.org/dtds/struts-2.3.dtd">

  25

  26 <struts>

  27 <!--

  28 package包:只提供包与继承;name属性为随便起的名字,写个空值都可以,但是必须有如果没有会报错Attribute "name" is required and must be specified for element type "package". at;

  29 namespace:用于与jsp中写的路径匹配,即浏览器中访问的路径;

  30 extends:继承,继承其他包并拥有其他包的所有特性,默认继承struts-default包

  31 -->

  32 <package name="test" namespace="/csdn" extends="struts-default">

  33 <!--

  34 默认的类继承的是struts-default包中的默认继承类 <default-class-ref

  35 class="com.opensymphony.xwork2.ActionSupport" />

  36 class的属性值可以修改成自己编写的类,只是要填写该类的全限制名;

  37 如果权限名写错就会出现 Error filterStart错误;

  38

  39 可以不写method,不写默认的method方法是execute,

  40 如果要用自己类中定义的其他方法那么必须加上method属性,不加肯定会出错找不到结果集中的action,与result标签的name属性不写的错误一样

  41 加上但是method的值中方法与实际类中的方法不一致会出错:NoSuchMethodException就是没有这样的方法

  42

  43 action类的处理方法通过method属性控制选择哪个方法;所有的action类都有一个默认的处理方法 execute()

  44

  45 -->

  46 <action name="demo" class="www.7gyy.com" method="login">

  47 <!-- 接收com.opensymphony.xwork2.ActionSupport类中的execute方法返回 字符串

  48 通过result标签的name属性指向返回的字符串;如果没有配置name属性,那么的默认的就是name="success"

  49 如果你使用自己编写的类,那么这里的name属性就不了可以省略使其走默认值 ;否则会出错no result defined for action,结果集没用默认的action。更多精彩教程请关注:深度纯净雨林木风安装版

posted @ 2013-08-02 09:28  豆豆逗逗  阅读(140)  评论(0编辑  收藏  举报