SSH——Struts2引入配置
2015-09-26 11:35
351 查看
MVC架构与传统的WebForm从代码上感觉,主要还是请求被服务器收后怎么个处理流程的问题。对于传统WebForm,客户端访问时候,输入的是页面的地址,请求通过处理管道,然后请求对象被交给页面的后台代码生成类处理(.NET),处理的结果以标签形式被绑定到页面上;或者是访问页面之后,在页面加载中加入AJAX代码,异步获取数据,将数据绑定到页面;这两种方式都是以页面为中心的;出现MVC之后,服务端代码的关注点就不在页面上了。客户端请求的时候,请求的是一个Action,然后action各种处理之后,可能要根据我请求的一些参数,做个判断,看看要返回哪个页面给客户端。
struts2是对MVC思想的一种实现。
一,引入Jar包
创建好web项目之后,我们在WEB-INF的lib目录下,添加如下基本jar包,需要注意的是,我们最好先添加基本jar包,不要全部引入,需要的时候再引入必须jar包,防止出现jar包冲突。另外,不同版本的struts2,引入的文件是不一样的。二,在web.xml中添加struts2的配置
<!-- strut2配置 --><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项目,以上配置就ok了。
三,添加struts.xml配置文件
这里面算是struts2的核心配置了。我们的action跟jsp页面的映射映射关系都在这里。<?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元素用于定义包配置,每个package元素定义了一个包配置。name:必填,用来指定包的名字; extends:可选,用来指定该报继承其他的包; namespace:可选,用来指定包的命名空间; -->
<package name="struts2" namespace="/" extends="struts-default">
<!-- 配置calAction类 -->
<action name="calc" class="net.blogjava.nokiaguy.models.CalcAction">
<result name="success">
/WEB-INF/calc.jsp
</result>
</action>
<!-- 使用通配符为所有在WEB-INF目录中的JSP页面指定一个对应的Action -->
<action name="*_jsp">
<result>
/WEB-INF/{1}.jsp
</result>
</action>
</package>
</struts>
首先是doctype,不同版本struts,这里可能会有所不同。
接着是定义package,需要注意的是,相同package下面不允许有重名的action,如果action重名,要放入不同的package里面配置。
四,JSP页面如何接收action返回的结果
当action处理完成之后,我们可以使用struts的标签来展现action中的结果。在页面上,加入如下标签:
<%@ taglib prefix="s" uri="/struts-tags" %>
之后,我们就可以在需要显示数据的地方加入标签了。例如:
<s:property value="result"/>
相关文章推荐
- SSH——Struts2引入配置
- test7.23
- 想写一些SpringMVC那些事
- java设计模式:观察者模式
- java 之 反射
- java 声明和动态创建数组
- java从命令行接收多个数字,求和之后输出结果
- java se 知识点(一)
- 一个JAVA代码
- java多线程环境下对变量的读写操作的原子性问题
- java代码
- Java代码
- Spring管理事务实现方式
- 我的java代码
- java 代码中实现 TextView的 DrawableTop属性
- OpenJDK 阅读源代码 Java 实现字节流输入类
- 《深入理解java虚拟机》之内存管理
- Java理论学时第一节。课后作业。
- java 抽象类和接口
- Java上机课后实践