struts2---小demo
来源:互联网 发布:java发展史 编辑:程序博客网 时间:2024/05/18 00:47
struts2的学习从敲代码开始,下面将用一个小例子来说明struts2的使用
1 环境要求:
1.1 JDK安装:struts2 需要的jdk最低版本为1.5,我选择的是jdk1.8
1.2 tomcat安装:struts2是一个java web开发框架,所以需要安装一个支持servlet和jsp的web服务器,这里采用的是tomcat 6.0
1.3 安装eclipse:呵呵,电脑上有就直接使用了。
1.4 在eclipse配置jdk和tomcat,具体细节省略
1.5 下载struts2
2 创建项目
新建一个dynamic web project项目,命名为struts2_01。
3 导入struts2类库
commons-logging-1.1.3.jar:struts2框架使用这个日志包哎支持log4j和jdk的日志记录
freemarker-2.3.19.jar:struts2的UI标签的模板使用freemarker编写
ognl-3.0.6.jar:struts2 框架使用的一种表达式语言
struts-2.3.20 :struts2 框架的核心类库
xwork-core-2.3.20.jar:xwrok类库,struts2在其上构建
将下载jar包粘贴到WEB-INF/lib下
4 配置web.xml文件
新建web.xml文件在WEB-INF下
<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>
FilterDispatcher是早期struts2的过滤器,在2.1.3之后就推荐使用StrutsPrepareandExecuterFilter了。Struts2框架是基于MVC模式开发的,它提供了一个核心控制器,用于对所有请求进行统一处理,由FilterDispatcher的servlet过滤器充当。需要在web.xml文件中配置FilterDispatcher过滤器,指定要映射到FilterDispatcher的url样式,匹配这个URL样式的所有请求,都将被web容器交由filterdispatcher进行处理。但是这个拦截器也存在一些问题,如果自己定义过滤,是要放到struts2过滤器之前的,如果放在之后,自定义的过滤器就失去了对action的作用。如果必须使用action环境,但是又想在struts2过滤器之前使用自定义的过滤器,FilterDispatcher是无法满足需求的,StrutsPrepareandExecuterFilter是两个拦截器的合集:StrutsPrepareFilter和StrutsExecuterFilter。
看下面的代码:
<filter> <filter-name>StrutsPrepareFilter</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter</filter-class></filter><filter> <filter-name>sitemesh</filter-name> <filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class></filter><filter> <filter-name>StrutsExecuteFilter</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter</filter-class></filter><filter-mapping> <filter-name>StrutsPrepareFilter</filter-name> <url-pattern>/*</url-pattern></filter-mapping><filter-mapping> <filter-name>sitemesh</filter-name> <url-pattern>/*</url-pattern></filter-mapping><filter-mapping> <filter-name>StrutsExecuteFilter</filter-name> <url-pattern>/*</url-pattern></filter-mapping>在两个拦截器之间调用了自定义的拦截器,实现了在调用struts2拦截器前,调用了自己的拦截器。另外,拦截器的执行顺序是filter-mapping的先后顺序决定的。
5 创建action类
public interface Action { //action执行成功,要向用户显示成功页面,返回SUCCESS常量 public static final String SUCCESS = "success"; //action执行成功,但不需要用户显示结果页面,使用NONE常量 public static final String NONE = "none"; //action执行失败,要向用户显示失败页面,返回ERROR常量 public static final String ERROR = "error"; //action的执行需要用户输入更多信息,要向用户显示输入页面,返回INPUT常量 public static final String INPUT = "input"; //由于用户没有登录,action不能执行,要向用户显示登录页面,返回LOGIN常量 public static final String LOGIN = "login"; public String execute() throws Exception;}LoginAction类中代码:
<pre name="code" class="html">package com.bjpowenode.struts;import com.opensymphony.xwork2.Action;public class LoginAction implements Action{ @override public String execute() throws Exception{ return SUCCESS;}}
<%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=GB18030"><title>Insert title here</title></head><pre name="code" class="html"><body><form action="login"><input type="submit" value="登录" ><br/></form></body></html>
<pre name="code" class="html"><%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=GB18030"><title>Insert title here</title></head><body>登录成功,耶。</body></html>
<?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.devMode" value="true"></constant><package name="struts2" extends="struts-default"><action name="login" class="com.bjpowenode.struts.LoginAction"><result name="success">/login_success.jsp</result></action></package></struts>
8 将项目添加到tomcat服务器。运行就OK了
- struts2---小demo
- Struts2+Spring+hibernate 小demo
- ext集成struts2的小demo
- Struts2学习总结,做一个小demo
- 三级联动,struts2和jdbc的小DEMO
- struts2 demo
- struts2 demo
- Struts2 Demo
- struts2 demo
- 小demo
- 小demo
- 小demo
- 配置hbm的hibernate小demo(入门级小案例ajax+struts2.0+hibernate3.0)
- 用Struts2写了一个小Demo,含简单的CRUB功能
- Struts2教程____Struts2入门小Demo配置前告知(默认无法使用*.do请求地址)
- struts2 demo之blank
- struts2 demo 含例子
- struts2.0的Demo
- Lucene 4.10.3自定义评分
- Jsp&servlet学习笔记
- c语言里的可变量参数宏及##
- Linux下查看CPU信息[/proc/cpuinfo]
- Java多线程与并发库高级应用
- struts2---小demo
- 安装repcached 出现错误
- java常用代码
- 关于bitmapData,滤镜等一些性能测试
- sql server 表的拷贝
- LeetCode 69 Sqrt(x)
- 项目中初用resin
- jfreechart详解一饼形图
- jfreechart详解二条形图