struts2的helloword(配置信息)

我用的struts包是struts-2.3.24.1,是比较新的版本,第一次刚开始接触struts的时候感觉是很兴奋的,把包下载下来后,看着教程安装部署,但是第一次运行helloword的时候竟然报错了,感觉写的跟教材的一摸一样,就是不知道为什么会报错。研究了一早上,也没研究出来,很让人头疼,后面有点想放弃,但是还是坚持了下来。终于把它配好了。在这儿写下我的配置过程,希望让大家少走弯路。

struts2和struts1上配置区别还是比较大的,但是如果配好后,会发现其实两个差不多。

struts2是用过滤器(Filter)来当容器的。

一、配置过程

首先在eclipse中创建一个项目,项目名随便起,比如叫hellostruts,创建好项目后,在WEB-INF下面的web.xml中需要创建过滤器,代码如下.

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 
	xmlns="http://java.sun.com/xml/ns/j2ee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
	http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
	<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>
</web-app>

这儿也没啥主意的,比较简单,配好就可以,我这儿filter-class写的类可能与网上有些地方说的不一样,可能我这个版本比较新吧,这个可以参照struts-2.3.24.1-all.zip这个压缩包里面的apps文件夹下面的一些项目配置。

xml文件配好后,需要引入相应的jar包,jar可以在struts-2.3.24.1-all.zip里面的lib目录里面找。

这个里面jar比较多,可能初学的时候不知道该引入那些jar包,所以官方再struts-2.3.24.1-all.zip这个压缩文件中有对应的案例程序,可以从这些里面引入,就在apps里面有好几个项目。第一次写struts的话就选第一个,struts2-blank.war,这个就是一个框架能运行起来,并且是jar引入最少的空白项目,但是这个里面也有可能缺一两个jar包会导致程序运行不起来。

下图为必须引入的jar包。

把jar引入后就可以创建一个类文件了,先建一个包名。

这儿起的包名叫action,类文件叫HelloStruts。

类文件创建好后写一些代码。

public class HelloStruts {

	private String name;
	public void setName(String name){
		this.name = name;
	}
	public String execute(){

		this.setName("hello");

		return "success";
	}
	public String getName(){
		return this.name;
	}

}

这个类里面写的就是一个成员变量,有set、get方法 还有一个execute方法。

注:这儿本应该是要继承ActionSupport这个类的,但是不写的话,是默认继承这个类的,这个过程大家要懂。

这个类写好后,就需要配置struts的配置信息,就得在src目录下面创建一个struts.xml,这个struts.xml文件不用咱们自己写,可以到你下载的struts文件中的apps目录里面随便打开一个项目,在里面拷贝个就可以了。

注:这儿的struts.xml文件目录必须放在src目录下面,不能放错,要不然就会出错,我之前学的时候 刚开始就没放对,所以导致研究了好长时间。

复制到src目录下面后,打开该文件。打开后把它改成这样

<?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.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.devMode" value="true" />

    <package name="default" namespace="/" extends="struts-default">
        <action name="hello" class="action.HelloStruts">
            <result name="success">/hellowrod.jsp</result>
        </action>
    </package>

    <!-- Add packages here -->

</struts>

package这个标签里面的信息就不要修改了,咱们需要修改的就是action这个标签里面的。

action->name 这个就是配置从地址栏 也就是url访问的名称,其实就跟写servlet配置web.xml里面的url-partten这个属性一样,这儿就起hello。

action下面还有一个字段这儿没有写 就是method,这个字段就是说要访问的那个方法,如果这儿没写,默认找的就是execute这个方法,所以在上面的类里面我就定义了一个execute。

action->class这个自然就不用说,就是你要访问的那个类,需要带包名,和web.xml配置差不多。

这个result标签里面的name就得注意一下啦,这个name里面填写的信息就是咱上面写的HelloStruts这个类里面的execute方法返回的那个字符串,根据返回的这个字符串来跳转到对应的页面。所以/helloword.jsp就是跳转的页面。

至此上面的配置已经基本完成,但是现在还缺一步。

就是在WebContent(myeclipse里面是webroot)目录创建helloword.jsp文件。

创建完成后 需要引入struts2的标签。

引入后在body体内写一个句标签。

<s:property value="name"/>

这儿的value="name"  这个name就是 hellostruts类里面的name成员变量。

这儿的name其实访问的是这个类里面的getName,所以在hellostruts这个类里面有个get方法。

保存后就完成了。

接下来就发布运行。

当tomcat运行起来后 ,就可以访问这个网页了。

路径为 http://localhost:8080/hellostruts(项目名)/hello.action

注:strtus2是以action为控制器,所以后面是action,这个hello就是struts.xml文件里面的action标签的name属性填写的值。action->name。

最后就是运行成功。

时间: 2024-10-14 07:22:38

struts2的helloword(配置信息)的相关文章

struts2的相关配置信息

1.解决乱码问题配置 <constant name="struts.i18n.encoding" value="utf-8"/>      //设置编码格式为utf-8 2.自定义扩展名 <constant name="struts.action.extension" value="action,,wang"/> //struts默认扩展名是action,可以自定义 3.设置开发模式 <const

Struts2之环境配置

在学习struts2之前,首先我们要明白使用struts2的目的是什么?它能给我们带来什么样的好处? 设计目标 Struts设计的第一目标就是使MVC模式应用于web程序设计.在这儿MVC模式的好处就不在提了. 技术优势 Struts2有两方面的技术优势,一是所有的Struts2应用程序都是基于client/server HTTP交换协议,The JavaServlet API揭示了Java Servlet只是Java API的一个很小子集,这样我们可以在业务逻辑部分使用功能强大的Java语言进

Struts2 的各种xml 和struts 配置信息 都是一样的

先来2中xml  都可以 哪个都可以 filter> <filter-name>Struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>Struts2&l

Struts2(一)基本配置

一.Struts2概述 1.什么是Struts2? Struts2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样使得业务逻辑控制器能够和ServletAPI脱离开来. 2.工作原理 当web容器接收到HttpServletRequest请求后,容器通过web.xml映射请求,并获得控制器的名字,然后容器调用控制器(StrutsPrepareAndExecuteFilter),控制器通过ActionMapper获取Action的信息并调用ActionProxy,ActionProx

JAVAWEB开发之Struts2详解(二)——Action接受请求参数、类型转换器、使用Struts2的输入校验、以及遵守约定规则实现Struts2的零配置

Action接受请求参数 作为MVC框架,必须要负责解析HTTP请求参数,并将其封装到Model对象中 Struts2提供了非常强大的类型转换机制用于请求数据 到 model对象的封装 Struts2和MVC定义关系 StrutsPrepareAndExecuteFilter:控制器 在Struts2中action是什么?(Struts2是一个MVC框架) V:jsp M:action C:action StrutsPrepareAndExecuteFilter Struts2提供了三种数据封装

struts2基础之配置详解

一.struts2工作原理(网友总结,千遍一律) 1 客户端初始化一个指向Servlet容器(例如Tomcat)的请求2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin) 3 接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请是否需要调用某个Action 4 如果Act

Struts2搭建、配置详解

Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互.Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架.其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大.Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够

STRUTS框架(web.xml,struts.xml,XXXvalidation.xml配置信息)个人心得

前言:在学习Struts2中肯定遇到不少的难题,当时检查代码无误的时候,仔细检查你的配置文件是否正确,这里暂时提供3个.XML的配置信息 1.web.xml 配置这一定要注意,在生成项目的时候一定不要着急直接点finfish,点击next ,勾选(Generate web.xml deplyment descriptor) 如果直接finfish的话,肯定会造成运行JSP页面404错误,应该有其他的方法解决,应该好麻烦(纯属个人心得,如果你有解决方法,在评论告诉我一下互相学习了.) 配置代码:

Struts2 第四讲 -- Struts2的基本配置

5.struts2的基本配置 5.1 struts2的访问连接url 在struts1中,通过<action path=“/primer/helloWorldAction.action”>节点的path属性指定访问该action的URL路径. 在struts2中,访问struts2中action的URL路径由两部份组成:包的命名空间+action的名称 例如: 访问本例子HelloWorldAction的URL路径为: /primer/helloWorldAction.action (注意:完