java--Struts2入门示例教程(五)
2016-03-24 12:45
495 查看
今天在做一个Struts2的简单实例,楼主看的是大学教科书-《JavaEE基础实用教程》第三章的例子。
由于书有些老了,加上Struts框架又做了一些更新。所以有些地方需要拿出来说下,让新人伙伴们能少走点弯路,更不要~~因为运行后的报错会灰心丧气放弃学习的信心~
配置:win8+myeclipse10+tomcat7
步骤一. 下载Struts2框架
版本都可以的~
下载地址:struts-2.3.14-all.zip
步骤二. 建立一个web项目
打开myeclipse-File-new-Web Project-Struts2.0
步骤三. 加载Struts2基本类库
书上原话是:先下载Struts的jar包(myeclipse10已经对Struts内部集成了,其实是可以直接系统导入的,这里我们先按原始方法来)。书上介绍的是要用到Struts2的5个主要类库:
commons-logging-1.1.1.jar
freemarker-2.3.19.jar
ognl-3.0.6.jar
struts2-core-2.3.14.jar
xwork-core-2.3.14
时过境迁,2016了都。再用这5个我们就会发现报了一堆的错误~,上网查阅了一下,基础包变多了~
这张图是基于我的程序添加的包,小伙伴们遇到报错也不用慌,报错信息复制下,看百度上说少什么包~~导入什么包就成了。真不行一个笨方法~把Struts-lib下面所有的包都放进去。至于包的导入方法,我建议直接把要导入的包,ctrl-c复制后,来到项目的-WebRoot-WEB-INF-lib,点lib–ctrl-v,应该会跳出来一个提示,建议选择直接copy,不要复制路径~。配置环境的坑爹工作做完了。下面来看~代码
步骤四. 修改web.xml文件(项目创建默认有web.xml)
需要的注意的点,参考自-ALCAT-博客
这里面填入的类, 2.1.3版本后改用
2.13之前的版本用的还是,请伙伴们考虑清楚~
Since Struts 2.1.3, use StrutsPrepareAndExecuteFilter instead or StrutsPrepareFilterand StrutsExecuteFilter if needing using the ActionContextCleanUp filter in addition to this one..即,从Struts 2.1.3起FilterDispatcher已被标注为过时的,改用StrutsPrepareAndExecuteFilter。
步骤五. 创建hello.jsp文件(WebRoot-new-jsp-hello.jsp)
步骤六. Action实现类(src-new-class,PackageName:org.action–className:StrutsAction)
步骤七. 创建并配置struts.xml文件
配置strust2要调用的action。直接新建在src目录下,那样部署的时候会自动发布到WEB-INF/classes目录下,或者直接创建在WEB-INF/classes目录下面。
其中,package元素,作用类似于Java包的机制,他是用于分门别类的一个工具,extends属性如他的名字一样,它继承了struts-default这个包的所有信息,一般我们自己创建一个包最好都继承它,因为他为我们提供了绝大部分的功能,你可以在struts2-core的jar包中的struts-default.xml文件中找到这个包。action元素对应与你的表单,例如你的表单的action=”welcome”,那么该表单提交后就会将参数交予action的name=”welcome”的实现类处理。result元素为action的结果,它由动作类返回的控制字段选择。
步骤八.创建welcome.jsp
步骤九. 部署和运行
部署后运行tomcat,”http://localhost:8080/Struts2.0/hello.jsp“.
- 输入helloworld会重新回到hello.jsp
- 输入非helloworld的数值,会跳转到welcome.jsp.
引用文献:
Struts2入门示例教程
——————————-我是分割线———–2016.3.24午—————
至此,简单的Struts2实例的步骤方法介绍完毕.(具体语法,小白楼主研究后会慢慢添加注释~)
有疑问的小伙伴,欢迎留言~
由于书有些老了,加上Struts框架又做了一些更新。所以有些地方需要拿出来说下,让新人伙伴们能少走点弯路,更不要~~因为运行后的报错会灰心丧气放弃学习的信心~
配置:win8+myeclipse10+tomcat7
步骤一. 下载Struts2框架
版本都可以的~
下载地址:struts-2.3.14-all.zip
步骤二. 建立一个web项目
打开myeclipse-File-new-Web Project-Struts2.0
步骤三. 加载Struts2基本类库
书上原话是:先下载Struts的jar包(myeclipse10已经对Struts内部集成了,其实是可以直接系统导入的,这里我们先按原始方法来)。书上介绍的是要用到Struts2的5个主要类库:
commons-logging-1.1.1.jar
freemarker-2.3.19.jar
ognl-3.0.6.jar
struts2-core-2.3.14.jar
xwork-core-2.3.14
时过境迁,2016了都。再用这5个我们就会发现报了一堆的错误~,上网查阅了一下,基础包变多了~
这张图是基于我的程序添加的包,小伙伴们遇到报错也不用慌,报错信息复制下,看百度上说少什么包~~导入什么包就成了。真不行一个笨方法~把Struts-lib下面所有的包都放进去。至于包的导入方法,我建议直接把要导入的包,ctrl-c复制后,来到项目的-WebRoot-WEB-INF-lib,点lib–ctrl-v,应该会跳出来一个提示,建议选择直接copy,不要复制路径~。配置环境的坑爹工作做完了。下面来看~代码
步骤四. 修改web.xml文件(项目创建默认有web.xml)
<?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> <display-name></display-name> <welcome-file-list> <welcome-file>hello.jsp</welcome-file> </welcome-file-list> <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>
需要的注意的点,参考自-ALCAT-博客
这里面填入的类, 2.1.3版本后改用
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
2.13之前的版本用的还是,请伙伴们考虑清楚~
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
Since Struts 2.1.3, use StrutsPrepareAndExecuteFilter instead or StrutsPrepareFilterand StrutsExecuteFilter if needing using the ActionContextCleanUp filter in addition to this one..即,从Struts 2.1.3起FilterDispatcher已被标注为过时的,改用StrutsPrepareAndExecuteFilter。
步骤五. 创建hello.jsp文件(WebRoot-new-jsp-hello.jsp)
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Struts2应用</title> </head> <body> <form action="struts.action" method="post"> 请输入姓名:<input type="text" name="name"/><br> <input type="submit" value="提交" /> </form> </body> </html>
步骤六. Action实现类(src-new-class,PackageName:org.action–className:StrutsAction)
package org.action; import 4000 java.util.Map; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; public class StrutsAction extends ActionSupport { private String name; public String getName(){ return name; } public void setName(String name){ this.name = name; } public String execute() throws Exception{ if(!name.equals("helloworld")){ Map request = (Map)ActionContext.getContext().get("request"); request.put("name",getName()); return "success"; }else{ return "error"; } } }
步骤七. 创建并配置struts.xml文件
配置strust2要调用的action。直接新建在src目录下,那样部署的时候会自动发布到WEB-INF/classes目录下,或者直接创建在WEB-INF/classes目录下面。
<?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="default" extends="struts-default"> <action name="struts" class="org.action.StrutsAction"> <result name="success">/welcome.jsp</result> //成功跳转welcome.jsp <result name="error">/hello.jsp</result>//错误转到welcome.jsp </action> </package> </struts>
其中,package元素,作用类似于Java包的机制,他是用于分门别类的一个工具,extends属性如他的名字一样,它继承了struts-default这个包的所有信息,一般我们自己创建一个包最好都继承它,因为他为我们提供了绝大部分的功能,你可以在struts2-core的jar包中的struts-default.xml文件中找到这个包。action元素对应与你的表单,例如你的表单的action=”welcome”,那么该表单提交后就会将参数交予action的name=”welcome”的实现类处理。result元素为action的结果,它由动作类返回的控制字段选择。
步骤八.创建welcome.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <!-- @taglib表明引用标签 prefix="s" 引用的名称在页面可以使用,就像java中生成的一个对象名,以后调用的时候直接使用<s:xxx/>就可以了,uri="/struts-tags"%表示标签库的路径。相当于import一个具体的类 --%> <%@ taglib uri="/struts-tags" prefix="s" %> <!DOCTYPE> <html> <head> <title>strust2应用</title> </head> <body> hello <s:property value="#request.name"/>! </body> </html>
步骤九. 部署和运行
部署后运行tomcat,”http://localhost:8080/Struts2.0/hello.jsp“.
- 输入helloworld会重新回到hello.jsp
- 输入非helloworld的数值,会跳转到welcome.jsp.
引用文献:
Struts2入门示例教程
——————————-我是分割线———–2016.3.24午—————
至此,简单的Struts2实例的步骤方法介绍完毕.(具体语法,小白楼主研究后会慢慢添加注释~)
有疑问的小伙伴,欢迎留言~
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- Extjs4.0 最新最全视频教程
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- OpenERP 的XML-RPC的实例+many2many,one2many,many2one...
- CSS3属性教程与案例分享
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序