struts2学习笔记(一):配置struts2开发环境
1.添加struts2必需的的类库到项目的classpath下。
主要有以下几个包:
commons-fileupload-1.2.1.jar
commons-io-1.3.2.jar
freemarker-2.3.15.jar
ognl-2.7.3.jar
struts2.core-2.1.8.1.jar
xwork-core-2.1.6.jar一般还需要添加log4j.jar
2struts2框架是通过一个Filter来启动的。需要配置WEB INF下的web.xml文件来启动这个过滤器。在web.xml中添加如下内容:
1 <filter> 2 <filter-name>struts2</filter-name> 3 <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> 4 </filter> 5 6 <filter-mapping> 7 <filter-name>struts2</filter-name> 8 <url-pattern>/*</url-pattern> 9 </filter-mapping>
3.在Filter的init()方法中将会读取class路径下的struts2.xml文件来完成初始化操作。
在struts.xml文件中包含了Action的配置。
以下是一个初始化简单示例。
1 <?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE struts PUBLIC 3 "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" 4 "http://struts.apache.org/dtds/struts-2.0.dtd"> 5 6 <struts> 7 <package name="mystruts2" namespace="/" extends="struts-default"> 8 <action name="login" class="net.ibuluo.actions.LoginAction"> 9 <result name="succ">/succ.jsp</result> 10 <result name="fail">/fail.jsp</result> 11 <interceptor-ref name="defaultStack"/> 12 </action> 13 </package> 14 </struts>
4.编写Action类。实现业务控制。
1 package net.ibuluo.actions; 2 import com.opensymphony.xwork2.ActionSupport; 3 /** 4 * 登录业务控制 5 * @author Amu 6 * 7 */ 8 public class LoginAction extends ActionSupport{ 9 10 private String uname; 11 private String pwd; 12 13 public String getUname() { 14 return uname; 15 } 16 17 public void setUname(String uname) { 18 this.uname = uname; 19 } 20 21 public String getPwd() { 22 return pwd; 23 } 24 25 public void setPwd(String pwd) { 26 this.pwd = pwd; 27 } 28 29 public String execute() { 30 if(uname.equals("admin") && pwd.equals("123")){ 31 return "succ"; 32 }else{ 33 return "fail"; 34 } 35 } 36 }
默认必须包含execute()方法。
5.编写业务视图页面。
1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 3 <html> 4 <head> 5 </head> 6 7 <body> 8 <form action="login.action" method="post"> 9 <table width=600 border=1> 10 <tr> 11 <td> 12 用户名 13 </td> 14 <td> 15 <input type="text" name="uname"> 16 </td> 17 </tr> 18 <tr> 19 <td> 20 密码 21 </td> 22 <td> 23 <input type="password" name="pwd"> 24 </td> 25 </tr> 26 <tr> 27 <td colspan=2 align="center"> 28 <input type="submit" value="提交"> 29 30 <input type="reset" value="重置"> 31 32 </td> 33 </tr> 34 35 </table> 36 </form> 37 </body> 38 </html>
succ.jsp和fail.jsp不甚紧要,请自行编辑完成
转载于:https://www.cnblogs.com/amunote/articles/2994498.html
struts2学习笔记(一):配置struts2开发环境相关推荐
- React Native学习笔记一之搭建开发环境
因为项目需要,今天开始正式学习React Native,先来搭建个开发环境 忐忑的心情 因为项目比较急,而且客户要求使用React Native开发,只能先学点基础然后在项目中使用的时候,边做边学了, ...
- 51单片机学习笔记1 简介及开发环境
51单片机学习笔记1 简介及开发环境 一.51单片机 1. STC89C52单片机简介 2. 命名规则 3. 封装 (1)PDIP (2)LQFP (3)PLCC (4)PQFP 二.STC8051结 ...
- struts2学习笔记二--准备struts2的学习和开发环境
准备struts2的学习和开发环境 1 导包 2 参照开发包自带的例子在web.xml文件中配置 3 参照开发包自带的例子编写Action类和配置struts.xml文件 <struts> ...
- JAVA学习第一步-配置JAVA开发环境和学习资料
写代码配置开发环境非常重要 java开发环境配置 1 windows中环境配置 1.1 JDK工具包 1.2 IDEA 1.3 eclipse安装 2 Linux下安装 2.1 VMware虚拟机 2 ...
- Python学习笔记2-搭建Python开发环境
1 Python开发环境概述 所谓"工欲善其事,必先利其器".在正式学习Python开发前,需要先搭建Python开发环境.Python是跨平台的开发工具,可以在多个操作系统上进 ...
- Struts2 学习笔记 — 第一个struts2项目
创建struts2项目 勾选生成web.xml文件 配置项目 打开项目后,首先导入struts2所需的jar包,关于这个,我们可以在下载的struts包中struts-2.3.34/apps中找到st ...
- 动手学深度深度学习-pycharm中配置mxnet开发环境
1. 文件准备 1. 下载包含本书全部代码的压缩包.我们可以在浏览器的地址栏中输https://zh.d2l.ai/d2l-zh-1.0.zip, 下载后解压. 2. 由于近来(2019-05-05) ...
- struts2学习笔记之十一:struts2的类型转换器
Struts2的类型转换器 如何实现Struts2的类型转换器? * 继承StrutsTypeConverter * 覆盖convertFromString和convertToString 注册类型转 ...
- NXP RT1064学习笔记(一)— 开发环境
最近在做RT1064的开发,网上能找到的资料不多,基本上都是NXP官方的资料,于是决定自己写笔记做个记录. i.MX RT1064 简介 i.MX RT1064 处理器属于全新的处理器系列,采用恩智浦 ...
- Go 学习笔记(1)— Ubuntu 系统 Go 环境搭建、VS Code 配置 Go 开发环境、VS Code 远程开发配置
1. 安装说明 Ubuntu 下直接安装 Go 1.11 版本编译器时需要依赖 Go 1.4 版本.所以如果在使用 apt-get install go安装时参考以下链接安装:https://blog ...
最新文章
- LruCache 源码解析
- 基于 Bochs 的操作系统内核实现
- ALV输出设置默认布局
- python语言具有使用变量需要先定义后使用的特点_3、Python语法入门之变量
- 5G NR 随机接入--PRACH
- 前端学习(736):函数的返回值return
- 【开发必知】基本缓存概念
- python用空格隔开每一个字符_python实现将一串字符每两个一组,中间用空格隔开...
- 【Python实例第14讲】普通判别分析与缩水判别分析
- 小米2系列板砖自救行动
- python实现搜索引擎——构建爬虫系统(二)
- 2022年第十三届蓝桥杯JAVA B组部分题解
- Java 运算符(Operators)
- Mysql中LENGTH()函数
- codevs 4939 欧拉函数
- 深入浅出CChart 每日一课——第五课 回到折线图,苦逼屌丝之万丈高楼平地起
- 数据结构之字符串插入操作
- Vivo手机实现录音转文字的方法,图文步骤详解,特别简单
- 自己写了一个Asp.net探针的源码,希望大家讨论一下
- mybatis oracle 多租户,Mybatis-plus多租户实战进阶