Struts简单入门(未测试)
来源:互联网 发布:网络发短信到手机 编辑:程序博客网 时间:2024/06/14 21:33
本章主要讲解Struts2简单入门,第一个程序的建立
全部代码下载:
Github链接:链接https://github.com/wpeace1212/javaBlog/tree/master/struts2Demo
写文章不易,欢迎大家采我的文章,以及给出有用的评论,当然大家也可以关注一下我的github;多谢;
1.Struts2介绍:
- 简介:
Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。主要用在MVC模式的控制层;
Struts2框架预先实现了一些功能:1. 请求数据自动封装2. 文件上传的功能3. 对国际化功能的简化4. 数据效验功能……………….
2.下载Struts2的jar包
下载地址:http://archive.apache.org/dist/struts/binaries/
我用的是struts-2.3.16.1-all.zip这个版本,我的下载地址为:http://download.csdn.net/detail/peace1213/9371320
2.Struts2的Hello peace:
- 第一步建立动态web工程并引入jar包:
建立工程不做介绍;如果只是简单的开发没有必要到下载的文件中将所有lib的文件引入,引入简最小的包就可以了。
解压刚才下载的压缩包struts-2.3.16.1-all.zip,在apps文件夹下有个struts2-blank.war包,打开它,到WEB-INF/lib目录下,如下图所示,即为所需的最小包。包含的包应该和具体的Struts版本有关。 - 配置工程的web.xml文件:
打开web.xml文件增加一个过滤器的配置,配置Struts2控制器的核心过滤器StrutsPrepareAndExecuteFilter
注意:如果你使用的是2.1.3以前的版本配置的是FilterDispatcher,但是从2.1.3版本后此类已经过时:
配置方式如下:
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>struts2Demo</display-name> <!-- Struts2的配置 --> <filter> <!-- 配置过滤器的名字 --> <filter-name>struts2</filter-name> <!-- 配置核心过滤器类 --> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter><!--配置要拦截的URL,辞去配置全部拦截 --> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping></web-app>
3.编写action类
Struts2的action类不需要实现任何接口,只要是一个包含execute方法的普通类(POJO)就行;当执行完必要的拦截器,程序会执行execute方法
action类如下:
public class HelloAction { //定义属性用于获得请求参数 private String name; private String pass; public void setName(String name) { this.name = name; } public void setPass(String pass) { this.pass = pass; } //定义action类的execute方法 public String execute()throws Exception{ if("peace".equals(name)&&"123456".equals(pass)){ return "success"; } else{ return "error"; } }}
4.配置struts.xml
在src文件夹右击建立struts.xml文件部署的时候会自动发布到WEB-INF/classes目录下,这是struts默认会加载的文件,用于配置struts2需要调用的action。文件如下:建议直接复制粘贴:
<?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 必须继承struts-default--><package name="struts2" extends="struts-default"> <!-- 配置action,名字hello是访问url使用的:hello.action--> <action name="hello" class="com.rlovep.hello.HelloAction"> <!-- 如果为success就跳转到success.jsp --> <result name="success">/success.jsp</result> <!-- 如果为error就跳转到error.jsp --> <result name="error">/error.jsp</result> </action></package></struts>
5.写jsp页面:此步其实也可以省略;
登陆页面就是简单的表单提交:注意提交的动作需要为hello
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!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=UTF-8"><title>用户登陆</title></head><body><!-- 注意提交的动作需要为hello --><form action="hello" method="get"> 用户名:<input type="text" name="name" /><br/> 密码:<input type="password" name="pass"/> <input type="submit" value="提交"/></form></body></html>
成功页面和错误页面如下:
##成功页面:<title>success</title></head><body><% String name=request.getParameter("name"); out.write(name+"登陆成功"); %></body>##错误页面:<body>账户名或密码错误</body>
7.部署运行和测试:
第一种方法:直接在浏览器输入action的请求参数,显示如下:
http://localhost:8080/struts2Demo/hello.action?name=peace&pass=123456
第二种方方法:先进入登陆页面,在提交.现实如下:
账号密码错误的方式:
- Struts简单入门(未测试)
- struts简单入门实例
- Struts简单入门
- Struts入门---最简单的Struts代码
- Struts 2.3 简单入门实例
- struts-2.3简单入门例子
- struts 简单入门实践-demo
- 《struts----入门简要分析struts的工作原理》---只是简单的分析配置文件,对内部的FormBean等有关的知识未涉及
- struts的return返回类型。【转载未测试】
- struts超简单入门(-)
- struts超简单入门(二)
- struts超简单入门(三)
- struts超简单入门(四)
- struts入门实力教程- 简单易懂
- Struts tiles入门(最最简单的例子)
- 简单的java爬虫抓取网页实现代码(未测试)
- Java实现简单的截图工具(未测试)
- JavaScript验证手机号码代码简单代码实例(未测试)
- 初学IOS_UI基础_多组table_封装版本_有GIF图_有源文件
- JS中创建类的方法
- 机器学习 Machine Learning(by Andrew Ng)----第三章 多变量线性回归(Linear Regression with multiple variable)
- cmd下命令提示符下杀进程的三种方式
- Repair the Wall hd 2124
- Struts简单入门(未测试)
- 随机算法求数组中第k大的
- 密码破解与心理学
- javaWEB文件上传与下载(未测试)
- 快速编写“专家级”makefile(4.打造更专业的编译环境——支持头文件目录的指定)
- AndroidManifest.xml详解
- Activity的七大属性
- eclipse中使用自己写的makefile
- 快速编写“专家级”makefile(4.打造更专业的编译环境——实现库链接)