Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。
所以在学习struts2的时候我们不能简单的认为struts2是struts1的升级版本,我们智能把它当作一个全新的框架来学习,当然假如你以前学习过webwork那么相信你学习struts2是很容易上手的。
下面就让我们开始struts2的学习吧···(一个简单的登录)
步骤一:分包(搭好框架)
步骤二:导入struts2开发所需要的jar包
步骤三:在src下新建一个struts.xml文件(开头的dtd可以在 导入的struts2-core-2.0.14.jar包中的struts-2.0.dtd中找到)
<?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="mypackage" extends="struts-default">
<action name="login" class="cn.zhuojingxinxi.web.LoginAction">
<result name="sucess">/sucess.jsp</result>
</action>
</package>
</struts>
步骤四:在 web.xml中配置过滤器(代码如下)
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
步骤五:编写实体类(代码如下)
package cn.zhuojingxinxi.entity;
public class Person {
private String pname;
private int page;
public String getPname() {
return pname;
}
public void setPname(String pname) {
this.pname = pname;
}
public int getPage() {
return page;
}
public void setPage(int page) {
this.page = page;
}
}
步骤六:编写action(由于struts2不同于struts1它没有action与form,所有的东西都写在一个action中,为了代码简洁所以步骤五中编写了一个实体类,在这个action中struts2默认是将实体对象new出来的,而在struts1中必须手动new)
package cn.zhuojingxinxi.web;
import cn.zhuojingxinxi.entity.Person;
public class LoginAction {
private Person person=null;
public Person getPerson() {
return person;
}
public void setPerson(Person person) {
this.person = person;
}
public String execute(){
System.out.println("进来了····");
return "sucess";
}
}
步骤七:编写登录页面(代码如下)
<body>
<form action="login.action" method="post">
姓名:<s:textfield name="person.pname"></s:textfield><br/>
年龄:<s:textfield name="person.page"></s:textfield>
<s:submit value="提交"></s:submit>
</form>
</body>
编写成功页面(代码如下)
<body>
<center>
<h1>登录成功</h1>
${person.pname }
${person.page }
</center>
</body>
注:需要注意的是
1.由于使用的是实体对象,登录页面相应的文本框的name必须是对象名.属性。
2.在struts.xml中package节点必须加上extends="struts-default"。
源码下载请点这里:
- 大小: 16.2 KB
分享到:
相关推荐
NULL 博文链接:https://1136051009.iteye.com/blog/1768830
NULL 博文链接:https://1136051009.iteye.com/blog/1768727
NULL 博文链接:https://1136051009.iteye.com/blog/1771209
NULL 博文链接:https://1136051009.iteye.com/blog/1770409
NULL 博文链接:https://1136051009.iteye.com/blog/1769700
NULL 博文链接:https://1136051009.iteye.com/blog/1768918
包含六个基本的关于struts的练习工程文件~~~~~rar格式~~~~
从struts2.1开始,struts2不再推荐使用Codebehind作为零配置插件,而是改为使用Convention插件来支持零配置,和Codebehind相比,Convention插件更彻底,该插件完全抛弃配置信息,不仅不需要是使用struts.xml文件进行...
2. 例子工程说明..........................................................3 3. 建立工程..............................................................4 3.1. 创建新的Web Project ..........................
使用Struts2和jQuery EasyUI实现简单CRUD系统
struts2学习笔记,拦截器,action,所需jar包,从零开始
使用Struts2和jQuery EasyUI实现简单CRUD系统,从零开始,从基础的ajax与Struts2的交互开始。
从struts2.1开始,struts2不再推荐使用Codebehind作为零配置插件,而是改为使用Convention插件来支持零配置,和Codebehind相比,Convention插件更彻底,该插件完全抛弃配置信息,不仅不需要是使用struts.xml文件进行...
使用Struts2和jQuery EasyUI实现简单CRUD系统,从零开始,从基础的ajax与Struts2的使用json格式进行交互开始。
从 Struts 2.1 开始,Struts 2 改为使用 Convention 插件来支持零配置。Convention 插件彻底地抛弃了配置信息,不仅不需要使用 struts.xml 文件进行配置,甚至不需要使用 Annotation 进行配置。而是由 Struts 2 根据...
从struts2.1开始,struts2不再推荐使用Codebehind作为零配置插件,而是改为使用Convention插件来支持零配置,和Codebehind相比,Convention插件更彻底,该插件完全抛弃配置信息,不仅不需要是使用struts.xml文件进行...
使用Struts2和jQuery EasyUI实现简单CRUD系统,从零开始,从基础的EasyUI与Struts2的使用json格式进行交互开始。
java开源框架之struts,深入学习java必须要会的框架,这本书指导你从零开始到精通