专栏首页Vincent-yuanjava之struts2的配置讲解(2) java之struts框架入门教程

java之struts2的配置讲解(2) java之struts框架入门教程

java之struts框架入门教程

基础上,进行下列操作

1.结构对比

原来的项目结构图

现在的结构图

即从结构上可以看出,在HelloStruts项目中增加了config 文件夹(Source Folder) 及user.xml 文件

2.修改配置文件,使struts.xml 中包含 user.xml 配置文件

struts.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
    
    <!-- 常量配置 -->
    <!-- 解决乱码 -->
    <constant name="struts.i18n.encoding" value="utf-8"/>
    <!-- action扩展名配置 -->
    <constant name="struts.action.extension" value="do,action,,zhangsan"/>
    <!-- 配置开发模式 -->
    <constant name="struts.devMode" value="true"/>
    
    <!-- 加载另外的配置文件  在团队协作中使用 -->
    <include file="cn/qm/struts/user.xml"></include>


    
</struts>

user.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>

    <!-- package表示包   name是自定义的 一般和模块名称相关  name在整个项目中唯一

    extends 表示继承   必须直接或者间接继承struts-default 因为在struts-default中 定义了struts2的相关功能。

    namespace 表示命名空间 和分模块开发相关   直接决定请求的url匹配工作 ,一个请求的url被action匹配
    需要加上namespace 如:namespace="/user",该namespace下有一个add的action,那么要请求
    该action的url为/user/add.action
    namespace也是为分工协作使用
    -->
    <package name="default" extends="struts-default" namespace="/sys">
    
        <!-- 
            action的配置 一个action表示一个请求

            name表示请求的url名称去掉后缀,在同一个 包下唯一

            class 表示处理请求的类的完全限定名=包名+类名,

            如果不写 默认由com.opensymphony.xwork2.ActionSupport

            method 指明处理请求的方法名称,默认是execute方法

            处理方法 必须是 public String xxxx(){};无参方法
         -->
        <action name="hello" class="cn.qm.action.HelloAction" method="hello">
            <!-- result表示结果集处理  name和action中处理方法的返回值匹配  默认为success
                struts的Action接口 提供了5个返回值类型
                  Action.SUCCESS 表示处理方法执行成功
                  Action.NONE  表示处理方法执行成功 但是不需要视图显示
                  Action.ERROR 表示处理方法执行失败
                  Action.INPUT 表示处理方法需要更多的输入信息 才能执行成功
                  Action.LOGIN 表示处理方法不能执行,需要用户登录 
                type表示结果集的跳转类型 默认是转发
                  dispatcher 转发
                  redirect 重定向
                  redirectAction 跳转到另外一个Action
                stream 流
                
                值 /表示根路径
             -->
            <result name="success" type="dispatcher">/index.jsp</result>
        </action>
    </package>
    
    
</struts>

3.修改 HelloAction 类,增加 hello 方法

public class HelloAction {

    ////struts2的处理方法 都是 public String的  默认执行execute,并且处理方法没有参数
    public String execute(){
        System.out.println("请求被接收了...");
        return "success";
    }
    
    public String hello(){
        System.out.println("hello");
        return Action.SUCCESS;
    }
}

因为在配置文件中,指定了hello方法,所以请求会进入hello方法

4.运行程序,并且在浏览器输入网址验证

网址:http://localhost:8080/Hello/sys/hello.action

浏览器显示

myeclipse中的console显示

说明请求成功被接收了。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • java之spring之整合ssh

    github地址:https://github.com/Vincent-yuan/spring_ssh

    Vincent-yuan
  • java之hibernate之关联映射之多对一单向关联

    1.在之前学习了单表的crud操作。在实际应用中,大都是多表关联操作,这篇会学习如何处理多表之间的关系。

    Vincent-yuan
  • java之hibernate之双向的多对一关联映射

    Vincent-yuan
  • Struts2的常见的配置文件介绍

    1:package 定义一个包。 包作用,管理action。 (通常,一个业务模板用一个包)   常见属性及其说明:     (1)name  包的名字;以方便...

    别先生
  • JavaWeb——Struts2

    Struts2是一个基于MVC设计模式web应用框架,在webwork框架技术基础上,Strurts2核心是拦截器,Struts2框架的核心功能都依靠拦截器实现...

    羊羽shine
  • struts

    客户端浏览器通过HTTP请求,访问控制器,然后控制器读取配置文件,然后执行服务器端跳转,执行相应的业务逻辑,然后,在调用模型层,取得的结果展示给jsp页面,最后...

    mySoul
  • Sqlserver查询数据表中的字段类型

    静谧的小码农
  • 算法学习笔记(二):贪心算法

    free赖权华
  • jquery mobile 移动web(3)

    可折叠功能块。   div 元素的 data-role 属性设置为 collapsible   代码如下:     <div data-role="...

    用户1197315
  • 不要以自己的怀疑,认定他人的思想,不要猜疑他人,否则只会影响彼此间的情谊

    有时候我们低头,是为了看准自己走的路,很多人认为,自己已经过得还可以,不愿意去尝试新鲜的事物,很多东西都放不下,拉不下这个脸,最终死在面子上。

    李才哥

扫码关注云+社区

领取腾讯云代金券