J2EE基础教程(4):struts框架(视频笔记)
摘自尚硅谷的视频教程struts的代码实现。
原本MVC中的C是由servelet实现的。而Struts2使用的是Filter来冲当控制器
模型 POJO(普通Java类,如DAO(数据访问对象))
视图 jsp
控制器 filter
请求被发送到filterDispacher
首先,利用myeclipse自带的功能配置好Struts框架
首先我们来看看放在src目录下的struts.xml,里面什么都没有
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts></struts>
将其修改为如下代码,其中,注意namespace是你的工程名字
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts> <!-- Struts 2 的Action必须放在包空间下 --> <package name="strutsqs" extends="struts-default" namespace="/HelloWorld2"> <!-- 定义action的名字以及action的实现类 --> <action name="LoginAciton" class="com.gjy.struts2.loginAction.LoginAction"> <!-- 定义action的处理结果result,result有两个属性,其中name指定返回名称,tyle指定返回的类型 --> <!-- 处理Login错误时返回/error.jsp --> <result name="error">/error.jsp</result> <!-- 处理Lognin正确时/suc.jsp --> <result name="suc">/suc.jsp</result> </action> </package>
</struts>
然后新建若干最普通的java代码
package com.gjy.struts2.entity;public class Book {private static Object book[]=new Object[4];public Book(){book[0] = "《java编程思想》";book[1] = "《Struts2权威指南》";book[2] = "《精通Oracle》";book[3] = "《我的Flex我精通》";}public Object[] getBook(){return book;}
}
package com.gjy.struts2.interfaceAction;public interface Action {public static String SUCCESS="suc";public static String ERROR="error";public String execute()throws Exception;
}
package com.gjy.struts2.loginAction;import java.util.ArrayList;
import java.util.List;
import java.util.Map;import com.gjy.struts2.entity.Book;
import com.gjy.struts2.interfaceAction.Action;
import com.opensymphony.xwork2.ActionContext;public class LoginAction implements Action {private String userName;private String passWord;public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}public String getPassWord() {return passWord;}public void setPassWord(String passWord) {this.passWord = passWord;}//处理用护请求的execute方法public String execute() throws Exception{if (getUserName().equals("gongjiayun")&& getPassWord().equals("hehe") ){//通过ActionContext访问Web对象的Session对象,此处的ActionContext返回的是一个Map//虽然struts2的action中没有HttpSession对象,但我们也可以通过通过ActionContext访问Web对象的Session对象Map sessionMap = ActionContext.getContext().getSession();sessionMap.put("user" , getUserName());Book book = new Book();Object books[]= book.getBook();List<Object[]> bookList = new ArrayList<Object[]>();bookList.add(books);sessionMap.put("book", bookList);return SUCCESS;}else{return ERROR;}}
}
在程序部署到服务器前一定要对代码进行编译。
J2EE基础教程(4):struts框架(视频笔记)相关推荐
- python是干什么用的视频-python基础教程千锋最新视频学完之后可以做什么
从目前来看,人工智能异常火爆,而Python作为人工智能首选语言自然受到了欢迎,而且Python语言在学术上也很受青睐.就算不是计算机专业的人,很多都在学习python.那么python基础教程千锋最 ...
- 《Python基础教程(第3版)》笔记:第8章异常
<Python基础教程(第3版)>笔记:异常 重点 第8章 异常 异常对象未被处理(或捕获)时,程序将终止并显示一条错误信息:traceback 每个异常都是某个类的实例, 如何创建异常 ...
- Python基础教程(第3版)》笔记:第6章抽象
Python基础教程(第3版)>笔记:第6章抽象 **斐波那契数列:**每个数都是前两个数的和. fibs = [0,1] for i in range(8):fibs.append(fibs[ ...
- 计算机网络基础(韩立刚视频笔记)第二章 物理层
韩立刚老师教学视频笔记 图片源自韩立刚老师的教学视频和谢希仁PPT,侵删 第二章 物理层 2.1 物理层的基本概念 物理层解决如何在连接各种计算机传输媒体上传输bit流,注意,不是指用什么传输媒体(介 ...
- ECMAScript 6 基础教程-姜威-专题视频课程
ECMAScript 6 基础教程-3202人已学习 课程介绍 ECMAScript是一种由Ecma国际(前身为欧洲计算机制造商协会,英文名称是European Computer Ma ...
- Python函数基础教程-张明阳-专题视频课程
Python函数基础教程-730人已学习 课程介绍 通过本次课程的讲解,可以让大家对Python函数章节中的装饰器.闭包.函数对象.迭代器和生成器进行彻底的了解,在授课的过程中,将会结 ...
- Python是什么?Python基础教程400集大型视频,全套完整视频赠送给大家
2020最新Python零基础到精通资料教材,干货分享,新基础Python教材,看这里,这里有你想要的所有资源哦,最强笔记,教你怎么入门提升!让你对自己更加有信心,重点是资料都是免费的,免费!!! 获 ...
- J2EE基础教程(1):简介和windows下环境配置
(1)相关概念 我们以前在linux操作系统初级教程中,介绍过LAMP架构服务器技术.现在,我们来介绍J2EE. 通过J2EE开发的应用程序属于分布式多层应用程序,包括 (1)客户层:客户应用,web ...
- J2EE基础教程1--简介
(1)相关概念 我们以前在linux操作系统初级教程中,介绍过LAMP架构服务器技术.现在,我们来介绍J2EE. 通过J2EE开发的应用程序属于分布式多层应用程序,包括 (1)客户层:客户应用,web ...
最新文章
- 清理svn信息_推荐候选人有奖啦~11.26最新招聘信息看这里!
- Windows下安装 openpyxl
- 销售单据条件价格明细表
- Pipeline模式(netty源码死磕6)
- 实例5:python
- WPF设置全局字体和字体嵌入
- 如何安装mysql5.7.25_Centos7 yum安装MySQL5.7.25
- Python+OpenCV:图像去噪(Image Denoising)
- mac 系统下 刻录centos 系统到 U盘中
- 《信息化项目文档模板一——项目需求说明书》
- 计算机信息管理发展的重要性,建设计算机信息管理系统的意义和目标
- 挨踢人生路 记我的10年18家工作经历
- Android Light
- 不能装载文档控件。请在检查浏览器的选项中检查浏览器的安全设置_「初级会计报考指南」浏览器问题解决方案...
- html5网页制作实训日志,网页制作实训日志X.doc
- cad调了比例因子没反应_大神们都在用的9个CAD制图技巧,你会用几个?
- 【C语言】main 函数的正确写法
- html中tabindex属性是啥意思
- 几种边缘检测算子的比较Roberts,Sobel,Prewitt,LOG,Canny
- 通达OA2019升级到V12的操作方法