`
gg19861207
  • 浏览: 182590 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

struts2笔记

    博客分类:
  • ssh
阅读更多

struts2笔记09-10-31】:

 

struts.xml中:

<?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="hello">

               <result>/hello.jsp</result>

        </action>//通过配置文件产生一个action

    </package>

</struts>

IE浏览器访问:

http://localhost:8888/struts2_0100_introduciton/hello.action

或者:

http://localhost:8888/struts2_0100_introduciton/hello不加.action也可以访问hello这个action)

 

 

 

 

<constant name="struts.devMode" value="true"/>

struts.xml里添加这句话以后,以后在struts.xml中修改过内容后,就不用再重新部署或重新启动服务器了。

 


 

 

查看struts2-core-2.1.6.jar的源文件:

鼠标放在该.jar上,点击右键-àproperties-àjava source attachment

值是:F:/开源软件/struts-2.1.6-allFullDistribution/struts-2.1.6/src/core/src/main/java

 

查看struts2-core-2.1.6.jarjavadoc文件:

鼠标放在该.jar上,点击右键-àproperties-àjavadoc Location

值是:F:/开源软件/struts-2.1.6-allFullDistribution/struts-2.1.6/src/core/src/main/java

 

以后在写一个类的时候,选中这个类,点F1就可以在MyEclipse里查看该类的API帮助文档了。

 

 

 

 

.xml文件里如果没有自动提示的话:

WindowàPrefenrence->XML catalog,点击ADD

Location: F:\开源软件\struts-2.1.6-allFullDistribution\struts-2.1.6\lib\struts2-core-2.1.6\struts-2.0.dtd

 

Key Type:URI

 

Keys: http://struts.apache.org/dtds/struts-2.0.dtd

 

 

客户端访问服务器的流程图:

插入图片:

 

 

 

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

        <action name="hellp">//没有指定actionclass的话,实际执行的是ActionSupport

               <result>/hello.jsp</result>

        </action>//通过配置文件产生一个action

    </package>

</struts>

 

" namespace="/" 默认的情况是namespace=””.

namespace=”” 或者" namespace="/":客户端访问的时候:

http://localhost:8888/struts2_0100_introduciton/ttt.mmmm/pp/hellp,都可以进行访问

 

但是当" namespace="/ttt"的时候,必须是这么访问:

http://localhost:8888/struts2_0100_introduciton/ttt /hellp

 

 

struts2中路径的设置

struts2中直接使用绝对路径就能保证肯定是没错的。

格式是:

例如客户端访问是:

http://localhost:8888/struts2_0100_introduciton/path/index.jsp

 

<%

String path = request.getContextPath();//path的值是:struts2_0100_introduciton(只可能是项目名,不可能是项目名/文件名)

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

 

%>

<head>

    <base href=”<%=basePath%>”/>//这里的意思就是说这个jsp页面里所有的<a href/>连接都会在前面加上basePath,<a href=”test.jsp”>,则实际的是<a href=” http://localhost:8888/struts2_0100_introduciton/test.jsp”/>;假如说是<a href=”/index.jsp”的话,那么访问的将是tomcat的根目录,而不是应用项目的根目录)

</head>

request.getScheme()值是:http

request.getServerName()的值是:localhost

request.getServerPort()的值是:8888

path的值是: struts2_0100_introduciton

 

 

struts2动态方法调用(DMI)

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

        <action name="hello" class=”org.oristand.Hello”>

               <result>/hello.jsp</result>

        </action>//通过配置文件产生一个action

    </package>

 

Hello.java

 

Public class Hello extends ActionSupport{

       Public String add(){

              Return SUCCESS;

}

}

 

那么客户端访问的时候就应该是:

http://localhost:8080/webapplication/hello!add

 

 

struts2中的通配符配置:

 

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

        <action name="Student*" class="com.oristand.test.Student">

        <result>/student_{1}.jsp</result>

        </action>

 </package>

 

客户端访问:

http://localhost:8888/struts2_0100_ActionConfig/Studentadd其中add就是*,所以服务器就会返回student_add.jsp

通过通配符的配置,在struts.xml文件中可以配置的只有一句话:

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

        <action name="*_*" class="com.oristand.test.{1}Action" method=”{2}”>

        <result>/{1}_{2}.jsp</result>

       </action>

   

 </package>

 

这充分体现了struts2的智能性,但是要注意预定好。

客户端访问:

http://localhost:8888/struts2_0100_ActionConfig/Teacher_delete

注意:这样的话就相当于

  <action name="Teacher_delete" class="com.oristand.test.TeacherAction" method=”delete”>

        <result>/Teacher_ delete.jsp</result>

       </action>

 

所以对应的jsp页面必须名字约定好,并且注意相应的Action当中要有execute()方法。

 

 

 

Struts2中接受参数(一):

 

StrudentAction.java:

package com.oristand.test;

 

import com.opensymphony.xwork2.ActionSupport;

 

public class StudentAction extends ActionSupport {

    private String name;

    private int age;

 

    public String getName() {

       return name;

    }

 

 

    public void setName(String name) {

       this.name = name;

    }

 

 

    public int getAge() {

       return age;

    }

 

 

    public void setAge(int age) {

       this.age = age;

    }

 

 

    @Override

    public String execute() throws Exception {

       // TODO Auto-generated method stub

       return SUCCESS;

    }

   

   

<span styl

分享到:
评论

相关推荐

    Struts2笔记,看完一遍,保证你学会Struts2,最权威的笔记!!!

    Struts2笔记 本人工作中积累的,故做成笔记以供大家一起学习进步. 模块分的非常详细,各个细节都会关注到,只挑选其精华,工作中用得到的技术!!! 不要看资源小,起到的作用却非常大!!!

    黑马程序员Struts2笔记

    本笔记主要涵盖了Struts2的基础知识,包括但不限于配置、Action、拦截器、结果类型以及异常处理等内容。 1. **Struts2框架简介** Struts2是Apache软件基金会的一个开源项目,它是Struts1的升级版,弥补了Struts1在...

    马士兵Struts2笔记2013

    Struts2是一个流行的Java web框架,...以上就是"马士兵Struts2笔记2013"中涉及的主要知识点,这些内容涵盖了Struts2的基础配置、数据处理、验证、调试以及与视图层的交互等方面,对于理解和掌握Struts2框架非常有帮助。

    Struts2笔记

    ### Struts2框架核心概念与工作原理 #### 一、框架概述 Struts2是Apache组织维护的一个开源项目,它是Struts1的升级版本,在设计理念和技术实现上都有较大的改进。Struts2是一个基于MVC(Model-View-Controller)...

    struts2笔记html版本

    8. ** strut2显示图笔记**:这个笔记可能包含了Struts2架构的可视化表示,帮助理解各个组件之间的关系和工作流程,包括Action、Interceptor、Value Stack等的交互过程。 通过阅读这个HTML版的Struts2笔记,开发者...

    圣思园struts2笔记

    本笔记主要涵盖了圣思园张龙老师在教学过程中讲解的Struts2核心概念与实战技巧。 首先,我们来了解Struts2的基本架构。Struts2框架通过拦截器(Interceptor)机制实现了对HTTP请求的处理,这些拦截器可以实现如日志...

    赵栋struts2 笔记

    赵栋的Struts2笔记主要涵盖了2013年的相关知识,以下是根据笔记内容提炼出的一些关键知识点: 1. **URL与Action方法绑定**: 在Struts2中,通过URL直接调用Action类的方法是可能的。如果在URL中附加"!"后跟方法名...

    Struts2笔记+Hibernate3.6笔记+Spring3笔记

    **Struts2笔记** Struts2是MVC(模型-视图-控制器)设计模式的一个实现,它为Java Web开发提供了强大的控制层。Struts2的核心是Action类,它处理用户请求并调用业务逻辑。以下是一些关键知识点: 1. **...

    struts2笔记_初步修改版_.

    在“Struts2笔记_初步修改版_”中,我们可能会涵盖以下关键知识点: 1. **Struts2架构**:Struts2的核心是Action类,它是处理用户请求的中心。Action类与业务逻辑层交互,并通过Result返回视图。Struts2使用拦截器...

    struts2笔记 Word文档

    Struts2是一个强大的Java web应用程序开发框架,它基于Model-View-Controller(MVC)设计模式,为开发者提供了...通过阅读"struts2笔记[初步修改版].doc",读者将能够更深入地了解这个框架,并在实际项目中灵活运用。

    struts2笔记和代码

    总的来说,"struts2笔记和代码"涵盖了Struts2框架的基本原理、配置、拦截器、Action实现、视图展现以及实践应用等多个方面,对于学习和掌握Struts2具有很高的价值。通过深入研究这些笔记和代码,开发者不仅可以理解...

    Struts2 笔记代码

    在这个"Struts2笔记代码"压缩包中,很可能是包含了一系列与Struts2相关的示例代码和学习资料。 Struts2的核心特性包括: 1. **Action类和结果类型**:Action类是业务逻辑的载体,负责处理用户的请求。每个Action...

    servlet和struts2笔记

    ### servlet和struts2笔记 #### 一、Servlet 基础 **Servlet** 是 Java Web 开发中的一种核心技术,它被设计用于处理客户端发送到服务器的 HTTP 请求,并且能够生成响应。Servlet 可以看作是服务器端的小程序,...

    struts2 学习重点笔记

    ### Struts2 学习重点知识点总结 #### 一、Struts2 概念与架构 **1.1 Struts2 简介** - **定义**:Struts2 是 Apache 组织提供的一个基于 MVC 架构模式的开源 Web 应用框架。 - **核心**:Struts2 的核心其实是 ...

    struts2学习笔记(完美总结)——转自OPEN经验库

    Struts2是一个强大的Java web应用程序开发框架,它遵循Model-View-Controller (MVC)设计模式,用于构建可维护性和可扩展性高的企业级应用。本文将深入探讨Struts2的核心概念,包括Action、Result、配置文件、OGNL与...

    Struts2 笔记

    Struts2笔记PDF文件可能包含了对这个框架的深入理解和实践指导。 在Struts2中,核心概念包括Action、Result、Interceptor(拦截器)和Value Stack。Action是业务逻辑的载体,它处理用户请求并执行相应的业务操作。...

    三、Servlet_jsp_Struts2笔记

    Servlet、JSP、Struts2笔记 Servlet基础 Servlet是运行在服务器上的程序,使用Java语言编译,并且使用Servlet接口来实现动态界面。Servlet需要接受客户端发送的请求,并将处理结果以响应的形式响应给客户端。 ...

Global site tag (gtag.js) - Google Analytics