博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
搭建一个简单的Struts2框架
阅读量:6636 次
发布时间:2019-06-25

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

 1  创建一个web项目。

 2 导入必要的JAR文件。

      放在WEB-INF下lib包里。

      

3 添加web.xml配置,添加启动配置。

     

1 
2
3
StrutsDemo
4
5
index.html
6
index.htm
7
index.jsp
8
default.html
9
default.htm
10
default.jsp
11
12
13
14
15
struts2
16
17 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter18
19
20
21
struts2
22
/*
23
24 25

  4  编写Action。

  1. Struts2直接使用Action来封装HTTP请求参数,因此Action类应该包含与请求相对应的属性,并为该属性提供对应的setter和getter方法。
  2. 为Action类里增加一个execute方法,因为Struts2框架默认会执行这个方法。这个方法本身并不做业务逻辑处理,而是调用其他业务逻辑组件完成这部分工作。
  3. Action类返回一个标准的字符串,该字符串是一个逻辑视图名,该视图名对应实际的物理视图。

我们来写个用户登录验证,提供用户名和密码两个属性。如果正确返回success否则返回error。

  

1 package com.cy.action; 2  3 import com.opensymphony.xwork2.ActionSupport; 4  5 public class LoginAction extends ActionSupport { 6  7     private static final long serialVersionUID = 1L; 8  9     private String userName;10     private String password;11 12     public String execute() {13 14         if (userName.equals("hellokitty") && password.equals("123")) {15 16             return SUCCESS;17         } else {18             return ERROR;19         }20 21     }22 23     public String getUserName() {24         return userName;25     }26 27     public void setUserName(String userName) {28         this.userName = userName;29     }30 31     public String getPassword() {32         return password;33     }34 35     public void setPassword(String password) {36         this.password = password;37     }38 39 }

 

Action有一下特点:

  • Struts2框架中Action是一个POJO,没有被代码污染。
  • Struts2中的Action的execute方法不依赖于servlet API,改善了Struts1中耦合过于紧密,极大方便了单元测试。
  • Struts2的Action无须用ActionForm封装请求参数。

5  添加框架核心配置文件struts.xml文件:在WEB-INF/classes文件夹下创建struts.xml。

   在struts2-core-2.3.16.jar中有strust-defalut.xml.我们需要继承它。

1 
2 5 6
7
8
9
/jsp/success.jsp
10
/jsp/error.jsp
11
12
13 14 15
  1. 在action标签中定义了name和class。name属性对应的是用户URL请求中的action名,class属性是处理请求的实现类(注意:要包含完整路径)。
  2. result标签定义逻辑视图和物理视图之间的映射,在我们的Action中,如果返回的字符串是"success”则由对应的success.jsp页面进行处理;如果返回的字符串是"error”则由error.jsp页面进行处理。

6 编写界面 

 6.1 login.jsp

1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> 2 <% 3 String path = request.getContextPath(); 4 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 5 %> 6  7  8  9   10     11     12     My JSP 'Login.jsp' starting page13     14     
15
16
17
18
19
22 23 24 25 26
27 用户名:
28 密    码:
29
30
31
32 33

 

 6.2 success.jsp

   

   

登录成功!

 

 6.3 error.jsp

   

登录失败!

 

 整体:

 

 

 

  

 

转载于:https://www.cnblogs.com/hellokitty1/p/5078185.html

你可能感兴趣的文章
烽火传递
查看>>
VS2013编写的C#程序,在xp下会报错说“不是合法的win32程序”。
查看>>
PL SQL显示的字段长度不全
查看>>
微信支付开发h5发起支付再次签名,返回给h5前端
查看>>
[Altera]PLL仿真
查看>>
PM2 指令简介
查看>>
【C语言学习趣事】_32_平胸的尴尬,嫁不出去的姑娘
查看>>
获取近30天的数据的时间方式
查看>>
Android AChartEngine 个性化设置
查看>>
Cool tool: Linux字符画figlet
查看>>
[转]windows下安装python MySQLdb及问题解决
查看>>
关于浏览器兼容问题:获取div的值
查看>>
2019-4-22 linux学习
查看>>
PKUWC2019游记
查看>>
控制转移指令分类与机器码
查看>>
BZOJ5279: [Usaco2018 Open]Disruption
查看>>
HDU 1312 Red and Black
查看>>
HDU 2871 Memory Control
查看>>
poj 1811 Prime Test
查看>>
ios 续费 问题 冰山一角
查看>>