Struts2简介,新手入门~~
来源:互联网 发布:linux 线程退出 编辑:程序博客网 时间:2024/06/05 11:42
大四学长一只,整理了一下老师讲的知识,一边复习一边写出来跟大家分享。写的不好的地方,大家多多指教~
Struts2算是风靡过一时的JavaWeb MVC框架(好像现在比较流行Spring,ssm之类的),使用它可以写出符合MVC模式的Web程序,极大地提高开发效率。
讲一下优点:
1. Struts2框架自动将请求参数的值注入给Action类中同名属性(借助于set方法,一定要同名),这样可以省略getParameter语句。
2. Action中的属性存储到请求范围内的特定属性(struts.valueStack)中,可通过EL表达式访问(调用get方法)。这样可以省略 request.setAttribute语句。
3. Action中转发的输出页面在struts.xml中配置,这样可以省略forward语句。
Struts2的组成:
1. 控制器层:核心控制器(FilterDispatcher), 业务控制器(Action)
2. 模型层:业务逻辑组件,数据库访问组件。实现业务逻辑,由javabean或者EJB构成。
3. 视图组件:HTML,JSP,Struts2标签以及FreeMaker和Velocity等技术。
StrutsPrepareAndExecuteFilter:核心控制器,struts2里很重要的东东,负责接受所有请求,在web.xml中配置,系统能够启动时自动创建该控制器。
Action:负责处理单个特定的请求,Action本质是一个普通的类,它不需要实现任何接口或者继承任何类。
struts.xml:实现视图(jsp)和业务逻辑组件(Action)之间关系的声明,action在这里面进行配置。
实现步骤:
Step1:导入Struts2 Jar包。
Step2:在web.xml中注册Struts2中心控制器(过滤器)使其可以拦截请求。
Step3:编写输入页面input.jsp.
Step4:编写完成Action类
Step5:建立Struts2配置文件(struts.xml)配置Action类。
Step6:编写输出页面output.jsp
//web.xml里的配置<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>
//struts.xml的配置<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN""http://struts.apache.org/dtds/struts-2.1.7.dtd";><struts> <constant name="struts.configuration.xml.reload" value="true"/> <package name="action" namespace="/" extends="struts-default"> <action name="add" class="com.hp.action.Add" method="execute"> <result name="+">/positive.jsp</result> <result name="-">/negative.jsp</result> </action> </package></struts>
注意:配置包时必须指定name属性,该name属性值可以任意取名,但必须唯一,他不对应java的类包,如果其他包要继承该包,必须通过该属性进行引用。包的namespace属性用于定义该包的命名空间,命名空间作为访问该包下Action的路径的一部分(通常为“/”)。 通常每个包都应该继承struts-default包, 因为Struts2很多核心的功能都是拦截器来实现。
下面是我自己写的比较简单的一个action例子,用来求两个整数和,并判断正负数,从而跳往不同的jsp。
package com.hp.action;/*** Created by 李宇寒* 2017/9/15 0015 下午 3:01.*/public class Add {private int x,y,sum;public int getX() { return x;}public void setX(int x) { this.x = x;}public int getY() {return y;}public void setY(int y) {this.y = y;}public int getSum() {return sum;}public void setSum(int sum) { this.sum = sum;}public String execute(){ sum=this.x+this.y; if(sum>0){ return "+"; } else{ return "-"; } }}
当用户点击“求和”时,提交请求被Struts2框架的中心控制器截获,它查找配置文件struts.xml,找到与请求地址匹配(/add)的Action类(业务逻辑控制器),执行该类的特定方法(通过method属性设置),根据该方法的返回值(字符串类型)再次查配置文件确定输出的页面。
这只是struts2的简单介绍,struts2还可以实现很多功能,比如:
- 多文件上传,下载
- 拦截器
- 数据校验,表单验证
- 国际化
- 还有ongl、struts标签等。
- Struts2简介,新手入门~~
- struts2.0 新手入门
- Struts2.0 新手入门
- struts2.0 新手入门
- 新手入门 Linux日志简介
- struts2 sping2 hibernate3.2新手入门
- Struts2 简介
- Struts2 简介
- struts2简介
- struts2简介
- Struts2简介
- Struts2简介
- Struts2简介
- struts2简介
- struts2简介
- struts2简介
- struts2 简介
- Struts2 简介
- 方法区和运行时常量池溢出
- 输入字母全排列
- Spring复习
- Java学习笔记(0)——了解Java
- 检测图片上的条形码 Python 和 OpenCV
- Struts2简介,新手入门~~
- Eshop(2)-alicloud zookeeper安装
- 查看linux日志文件的实时情况
- 机器学习中非平衡数据集的常用处理方法
- 【Docker】Docker容器与宿主机互相拷贝传递文件
- Ubuntu 安装配置 Tomcat
- WEB项目拾遗之jar包篇
- JS逻辑运算 xxx = xxx || ''
- Java中的单例化