Struts2的介绍和入门(一)
来源:互联网 发布:linux中查看文件内容 编辑:程序博客网 时间:2024/06/04 22:47
Struts2的介绍和入门(一)
1.Struts2的简单介绍
Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts2采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离。
2.Struts2出现的原因
我们先一起了解一下JavaEE开发模式的变迁
(1)Servlet开发
最初JavaEE服务端编程采用的是servlet,servlet设计的目的主要用于产生网页程序,采用servlet就可以开发一款web程序,但是存在很大的问题servlet编写界面非常的复杂繁琐导致开发效率比较低。
(1)Servlet开发
最初JavaEE服务端编程采用的是servlet,servlet设计的目的主要用于产生网页程序,采用servlet就可以开发一款web程序,但是存在很大的问题servlet编写界面非常的复杂繁琐导致开发效率比较低。
(2)JSP+JavaBean开发
为了解决servlet不适合开发网页的问题,后来sun公司推出了jsp技术来弥补这一缺陷,这时JSP+JavaBean的开发模式就出现了,JSP同时负责请求处理,业务逻辑处理,数据回送,数据显示。JSP+JavaBean开发解决了servlet开发界面繁琐的问题,并且比较直观,在前端处理业务逻辑也更加快速。但是也存在很多的问题
【1】JSP作为前端程序不应该有太多的业务处理
【2】界面显示,业务处理都在JSP中,导致代码难以维护
【3】业务逻辑暴露在前端不够安全
为了解决servlet不适合开发网页的问题,后来sun公司推出了jsp技术来弥补这一缺陷,这时JSP+JavaBean的开发模式就出现了,JSP同时负责请求处理,业务逻辑处理,数据回送,数据显示。JSP+JavaBean开发解决了servlet开发界面繁琐的问题,并且比较直观,在前端处理业务逻辑也更加快速。但是也存在很多的问题
【1】JSP作为前端程序不应该有太多的业务处理
【2】界面显示,业务处理都在JSP中,导致代码难以维护
【3】业务逻辑暴露在前端不够安全
(3)JSP+Servlet+JavaBean开发
为了解决JSP+JavaBean开发模式的不足,出现了JSP+Servlet+JavaBean开发模式。在JSP+Servlet+JavaBean开发模式中,JSP负责界面显示,Servlet负责请求处理,JavaBean负责业务处理,这基本上满足了MVC模式,下面简单介绍一下MVC模式。
MVC的思想
为了解决JSP+JavaBean开发模式的不足,出现了JSP+Servlet+JavaBean开发模式。在JSP+Servlet+JavaBean开发模式中,JSP负责界面显示,Servlet负责请求处理,JavaBean负责业务处理,这基本上满足了MVC模式,下面简单介绍一下MVC模式。
MVC的思想
M:代表的是模型,业务逻辑层,用于封装业务逻辑和数据模型
V:代表的是视图,表示层,负责界面显示,就是实现界面显示,通常是数据的输入以及数据的呈现
C:代表的是控制,控制层,负责处理请求,控制整个流程,实现View和Model层的协同工作
V:代表的是视图,表示层,负责界面显示,就是实现界面显示,通常是数据的输入以及数据的呈现
C:代表的是控制,控制层,负责处理请求,控制整个流程,实现View和Model层的协同工作
深刻内涵
【1】MVC框架的出现是为了将URL映射到Java类或者Java方法中,这是MVC框架的核心功能
【2】MVC框架同时也要负责封装用户提交的数据
【3】处理请求数据-----调用相关业务业务处理-----封装响应数据
【4】将响应数据进行显示
【1】MVC框架的出现是为了将URL映射到Java类或者Java方法中,这是MVC框架的核心功能
【2】MVC框架同时也要负责封装用户提交的数据
【3】处理请求数据-----调用相关业务业务处理-----封装响应数据
【4】将响应数据进行显示
于是更好的实现了Controller的Struts2便出现了
3.Struts2入门案例
(1)工程目录
这个工程目录包含了运行Struts2程序最少需要的jar包,为了精确我一个一个试过的,同时包含了struts.xml配置文件,和一个UserAction.java文件代码会在下面贴出来
(2)struts.xml中的配置信息
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN""http://struts.apache.org/dtds/struts-2.5.dtd"><struts> <constant name="struts.devMode" value="true" /> <constant name="struts.action.extension" value="action" /><constant name="struts.ui.theme" value="simple" /> <package name="default" extends="struts-default" namespace="/"> <action name="hello" class="cn.liujunhua.web.action.UserAction" method="login"> <result name="success">/WEB-INF/jsp/hello.jsp</result> </action> </package></struts>
(3)web.xml中的配置信息
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1"> <display-name>struts2-hello</display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <filter> <filter-name>StrutsPrepareAndExecuteFilter</filter-name> <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>StrutsPrepareAndExecuteFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>
(3)UserAction代码
package cn.liujunhua.web.action;import com.opensymphony.xwork2.ActionSupport;@SuppressWarnings("serial")public class UserAction extends ActionSupport {public String login() throws Exception {return "success";}}
0 0
- Struts2的介绍和入门(一)
- JAVAWEB开发之Struts2详解(一)——Struts2框架介绍与快速入门、流程分析与工具配置以及Struts2的配置以及Action和Result的详细使用
- Struts2入门(一)
- struts2入门(一)
- Struts2入门(一)
- Struts2入门(一)
- struts2.x 的介绍(一)
- MyBatis介绍和入门一
- Struts2学习一(Struts2介绍)
- Fragment的使用介绍一(入门)
- Struts2自学入门(一)
- 【struts2】(一)入门伊始
- Struts2 入门讲解(一)
- struts2入门程序(一)
- struts2的介绍和搭建struts2环境
- Kotlin入门篇(一),基本数据类型介绍、变量和常量的声明
- Struts2入门介绍
- Struts2入门实例-介绍
- C/C++ Windows移植到Linux
- Android Telephony分析(一) ---- Phone详解
- 敏捷开发之Scrum扫盲篇
- Android中使EditText失去焦点,edittext禁止弹出键盘
- 网易实习——消除重复元素
- Struts2的介绍和入门(一)
- Java_修饰符
- Google 的软件工程经验总结
- Centos7 使用官方YUM源安装Mysql
- (22):优先考虑静态成员类
- 隐藏tomcat黑窗口
- 使用Blat发邮件
- C语言实现顺序表增删查改操作
- leetcode-全排列(permutation)