Struts2 基础典型应用

1.创建一个Java Web项目。

2. 下载依赖类库,并解压,将其中的库文件添加到WEB-INF目录的lib文件夹中。

最新的版本的下载链接

http://struts.apache.org/download.cgi#struts251  或者访问  http://pan.baidu.com/s/1nvvoLEp

本例子使用的全部依赖库下载地址:http://pan.baidu.com/s/1gfa2q5d

3.在WEB-INF目录下创建一个web.xml文件,并在其中注册一个Struts2提供的过滤器,文件内容如下

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 3     xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
 4     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
 5     id="WebApp_ID" version="2.5">
 6     <display-name>8.2</display-name>
 7     <welcome-file-list>
 8         <welcome-file>index.html</welcome-file>
 9         <welcome-file>index.htm</welcome-file>
10         <welcome-file>index.jsp</welcome-file>
11         <welcome-file>default.html</welcome-file>
12         <welcome-file>default.htm</welcome-file>
13         <welcome-file>default.jsp</welcome-file>
14     </welcome-file-list><!-- Struts2过滤器 -->
15     <filter>
16         <!-- 过滤器名称 -->
17         <filter-name>struts2</filter-name>
18         <!-- 过滤器类 -->
19         <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
20     </filter>
21     <!-- Struts2过滤器映射 -->
22     <filter-mapping>
23         <!-- 过滤器名称 -->
24         <filter-name>struts2</filter-name>
25         <!-- 过滤器映射 -->
26         <url-pattern>/*</url-pattern>
27     </filter-mapping>
28 </web-app>

4. 创建一个Action对象,其名称是GreetingAction。

位置如下

代码如下:

 1 package com.hch.action;
 2 import com.opensymphony.xwork2.ActionSupport;
 3
 4 public class GreetingAction extends ActionSupport {
 5     private static final long serialVersionUID = 1L;
 6     // 用户名
 7     private String username;
 8     // 处理请求
 9     @Override
10     public String execute() throws Exception{
11         // 判断用户名是否有效
12     if(username == null || "".equals(username)){
13             // 返回到错误页面
14             return ERROR;
15         }else{
16             // 返回到成功页面
17             return SUCCESS;
18         }
19     }
20     // username属性的getter方法
21     public String getUsername() {
22         return username;
23     }
24     // username属性的setter方法
25     public void setUsername(String username) {
26         this.username = username;
27     }
28 }

5. 创建struts.xml文件

位置如下

内容如下:

 1 <!DOCTYPE struts PUBLIC
 2     "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
 3     "http://struts.apache.org/dtds/struts-2.1.dtd">
 4 <struts>
 5     <!-- 声明包 -->
 6     <package name="myPackage" extends="struts-default">
 7         <!-- 定义action -->
 8         <action name="greeting" class="com.hch.action.GreetingAction">
 9             <!-- 定义成功的映射页面 -->
10             <result name="success">success.jsp</result>
11             <!-- 定义失败的映射页面 -->
12             <result name="error">error.jsp</result>
13         </action>
14     </package>
15 </struts>

6. 创建 首页面index.jsp \ 处理成功页面success.jsp \ 处理失败页面error.jsp

位置如下:

内容如下:

index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>主页</title>
<style type="text/css">
    *{font-size: 12px;}
</style>
</head>
<body>
  <form action="greeting.action" method="post">
      请输入你的姓名:<input type="text" name="username">
      <input type="submit" value="提交">
  </form>
</body>
</html>

success.jsp

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <%@ taglib prefix="s" uri="/struts-tags" %>
 4 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 5 <html>
 6 <head>
 7 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 8 <title>欢迎</title>
 9 <style type="text/css">
10     *{font-size: 12px;}
11 </style>
12 </head>
13 <body>
14     <font color="red">
15         <s:property value="username" />
16     </font>
17      ,您好!
18     <br>
19     欢迎使用来到本站。
20 </body>
21 </html>

error.jsp

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <html>
 5 <head>
 6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 7 <title>错误</title>
 8 </head>
 9 <body>
10     <font color="red"> 错误:您没有输入姓名!</font>
11 </body>
12 </html>

7.运行

输入正确名字

不输入直接点击提交按钮

时间: 2024-10-01 17:54:33

Struts2 基础典型应用的相关文章

基础典型算法研究:合并有序数组

做leetcode第二题的时候,发现合并有序数组是一个很有意思的问题,于是,总结如下,部分内容来源于网络各位大神. 第一种方法: 合并调用sort. 即是将两个数组合并在一个数组里面,然后对合并后的数组调用sort函数即可. class Solution: def getArray(self, A, B) : for item in B : A.append(item) A.sort() 第二种方法: 极值插入法. #include <stdio.h> void insert(int *arr

Struts2基础学习总结(二)

Struts2基础学习总结(二)---struts.xml参数 1.常量 使用<constant name="" value=""></constant>元素进行描述 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Strut

Struts2基础学习总结

Struts2基础学习总结(一)---入门 Struts 2: Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互.Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架.其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大.Struts2以WebWork为核心,采用拦

Struts2框架学习第三章——Struts2基础

本章要点 —  Struts 1框架的基本知识 — 使用Struts 1框架开发Web应用 —  WebWork框架的基本知识 — 使用WebWork框架开发Web应用 — 在Eclipse中整合Tomcat — 使用Eclipse开发Web应用 — 为Web应用增加Struts 2支持 —  Struts 2框架的MVC组件 —  Struts 2框架的流程 — 通过web.xml文件加载Struts 2框架 — 通过struts.properties文件配置Struts 2属性 —  str

Struts2 基础总结

1 Struts2中获取Action的方式: 可以通过继承ActionSupport的方式获取: 2 Struts2中常用 的传递参数方式: a:可以通过属性传递参数,表单的属性名称和javabean的属性名称相对应,在Action添加对应的属性,并设置get和set方法即可: b:可以通过javabean传递参数,Action中设置javabean类型的属性,添加get和set方法,表单中使用,对象.属性的形式作为属性名称: 3 struts2访问servletAPI: 访问假的API(用Ma

(一)Struts2 基础

一.Struts简介 1.1 历史 虽然Struts 2号称是一个全新的框架,但这仅仅是相对Struts 1而言.Struts 2与Struts 1相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名的框架:WebWork基础上发展起来的.从某种程度上来讲,Strut2没有继承Struts 1的血统,而是继承了WebWork的血统.或者说,WebWork衍生出了Struts 2,而不是Struts 1衍生了Struts 2.因为Struts 2是WebWork的升级,而不

Struts2基础01

1.Struts2概述 struts2框架应用 javaee三层结构中web层框架 struts2框架在 struts1和 webwork基础之上发展全新的框架 struts2解决间题: 4. structs2版本 5. web层常见框架 :springMVC 2.Structs2框架入门 1.导入jar包 Maven方式: pom.xml配置依赖: <dependency> <groupId>junit</groupId> <artifactId>juni

struts2基础----&gt;自定义拦截器

这一章,我们开始struts2中拦截器的学习.内容较浅,慎看. 自定义拦截器 一.增加一个自定义的拦截器为类 package com.huhx.interceptor; import com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.interceptor.AbstractInterceptor; public class RegisterInterceptor extends AbstractInt

Struts2基础

1.Struts2的概念 Struts2 是轻量级的MVC框架,主要解决了请求分发的问题,重心在控制层和表现层 轻量级 低侵入性,与业务代码的耦合度很低.即业务代码中基本不需要import它的包 MVC框架 Struts2实现了MVC,并提供一系列API,采用模式化方式简化业务开发过程. 2.Struts1框架与JSP/Servlet耦合非常紧密,这制约了它的发展,以至于被后来的框架陆续赶超. 3.Struts2以Xwork为核心,可以理解为WebWork的升级版. 4.什么是OGNL Obje