博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Struts2的简单认识
阅读量:6842 次
发布时间:2019-06-26

本文共 3134 字,大约阅读时间需要 10 分钟。

首先展现在大家面前的是一张Struts2的工作原理图

Struts2的运行流程

1)  客户端初始化一个指向Servlet容器(例如Tomcat)的请求。

2)  这个请求经过一系列的过滤器(Filter)。
3)  接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请是否需要调用某个Action。
4)  如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy。
5)  ActionProxy通过Configuration Manager询问框架的配置文件,找到需要调用的Action类。
6)  ActionProxy创建一个ActionInvocation的实例。
7)  ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用。
8)  一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。
Struts2的核心就是拦截器。Struts.xml中所有的package都要extends="struts-default"。同理与所有的Java类都要extends自Object一样。struts-default.xml里面就是要做以上事情。

Struts2的运行机制

1)客户端在浏览器中输入一个url地址。

2)这个url请求通过http协议发送给tomcat。
3)tomcat根据url找到对应项目里面的web.xml文件。
4)在web.xml里面会发现有struts2的配置。
5)然后会找到struts2对应的struts.xml配置文件。
6)根据url解析struts.xml配置文件就会找到对应的class。
7)调用完class返回一个字String,根据struts.xml返回到对应的jsp。

 案例如下:

第一步:把struts2的jar包加入的项目中

如图:基本的八个jar包

第二步:在web.xml中加入拦截器配置。

代码如下:

1 
2
struts2
3
4 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter 5
6
7
8
struts2
9
/*
10

第三步::把空的struts.xml配置文件放到项目src下面。

   <struts>

   
</struts>

第四步:编写自定义的action类。

代码如下:

1 package cn.bdqn.Struts2.Dao; 2  3  4  5 import java.util.Map; 6  7 import org.apache.struts2.interceptor.SessionAware; 8  9 import cn.bdqn.Struts2.entity.User;10 11 import com.opensymphony.xwork2.Action;12 import com.opensymphony.xwork2.ActionContext;13 14 public class Struts implements Action {15     private User user;16     private Map
session;17 public String execute() throws Exception {18 if (user.getUsername().equals("admin") && user.getPassword().equals("123")) {19 //记录session20 //session = ActionContext.getContext().getSession();21 session.put("name",user.getUsername());22 session.put("pwd", user.getPassword());23 return "success";24 }else {25 return "error";26 }27 28 }29 public Map
getSession() {30 return session;31 }32 public void setSession(Map
session) {33 this.session = session;34 }35 public User getUser() {36 return user;37 }38 39 public void setUser(User user) {40 this.user = user;41 }42 43 44 45 46 }

第五步:编写struts.xml配置文件

代码如下:

1 
2 5 6
7
8 9
10
16 17
18
index2.jsp
19
index.jsp
20
21 22
23

第六步:编写index.jsp文件

代码如下:

1  2     
3

用户登录

4
5 6 <%--
7 --%>
8 用户名:
密 码:
11
12
13
14

第七步:启动tomcat,在浏览器中访问

 

然后就会出现你的成果了!

 

转载于:https://www.cnblogs.com/yhsj/p/5259149.html

你可能感兴趣的文章
array的用法(关于动态选择值)
查看>>
定制自己的mybatis生成
查看>>
MongoDB Replica Sets和Auto Sharding配置方法详解(一)
查看>>
【codeforces】【Round#523D】TV shows
查看>>
eclipse无法创建Server
查看>>
mysql5.7 编码统一utf-8
查看>>
技术名词解释——Camus
查看>>
Java基础5-接口
查看>>
[2018/11/14]关于学习的思考
查看>>
安卓-02-ViewGroup
查看>>
Timer类的schedule和scheduleAtFixedRate 简单应用
查看>>
CSS基础总结
查看>>
Android ---------- TabLayout 实战 (二) 仿京东商品详情页
查看>>
linux学习之centos(一):在VMware虚拟机中安装centos6.5
查看>>
CSS3 选择器——伪类选择器
查看>>
HTML笔记(一):DOCUTYPE
查看>>
关于mysql中int(1)中int后面的数字
查看>>
连接查询
查看>>
Github经理和员工开发
查看>>
怎样在数据库中插入大量数据
查看>>