配置Struts2(以登录为例)

2024-08-26 05:48
文章标签 配置 登录 struts2 为例

本文主要是介绍配置Struts2(以登录为例),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

引言

      在了解Struts2的基础上,对Struts2做一次配置。以登录为例。

步骤

 引jar包(最常用的共8个)

commons-fileupload-1.2.1.jar        文件上传
commons-io-1.3.2.jar                       被fileupload所用,上面依赖下面
commons-logging-1.0.4.jar               日志处理
ognl-3.0.jar  (全程object graph notation  languag)          表达式语言
struts2-core-2.2.1.1.jar
Javassist-3.7.ga.jar
xwork-core-2.2.1.1.jar
Freemarker-2.3.16.jar

     下载jar包地址:http://struts.apache.org/download.cgi#struts251

      将jar包引用到lib文件夹下。做一个登录的例子。


新建jsp

       新建一个jsp,写一个表单

<span style="font-size:18px;"> <form action = "login">username:<input type="text" name="username"><br>password:<input type="password" name="password"><br>
</form></span>

配置struts2的核心过滤器

      修改web.xml,配置struts2的核心过滤器

<span style="font-size:18px;"><!-- 配置Struts2的核心过滤器 --><filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class><!--对于当前应用的所有的请求都要在这儿处理--></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping></span>

新建struts.xml

      在src新建一个struts.xml,并引入文档类型(struts-2.0.dtd)。

<span style="font-size:18px;"><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN""http://struts.apache.org/dtds/struts-2.0.dtd"></span>
     dtd下载地址:http://struts.apache.org/dtds/struts-2.0.dtd

     按照dtd里面的规则在里面配置。

<span style="font-size:18px;"><struts><package name="struts2" extends="struts-default"><action name="login" class="com.tgb.struts2.LoginAction">		<result name="success">/result.jsp</result>	</action>   
</package>
</struts>      </span>


新建action

       在src文件夹下新建包:com.tgb.struts2,然后在包下新建类:LoginAction.java。

<span style="font-size:18px;">package com.tgb.struts2;
public class LoginAction{private String username;
private String password;
public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String execute(){return "success";}
}
</span>

新建result.jsp

      在WebRoot下新建一个result.jsp页面,在body内接收返回数据。

<span style="font-size:18px;">username: ${requestScope.username }<br>
password: ${requestScope.password }<br></span>

运行

       到此登录配置完成。运行,输入用户名和密码。点击提交。显示结果。

    

执行流程说明

      首先在login.jsp页面中请求资源(action="login"),请求路径匹配了web.xml中的url-pattern(<url-pattern>/*</url-pattern>),纳入到过滤器<filter-class>管辖范围之内(<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>),然后寻找struts.xml.开始寻找里面的action,然后和login匹配(name="login")。然后实例化后面类(class="com.tgb.struts2.LoginAction")的一个对象,调用LoginAction.java中的set方法,将表单提交过来的信息set到我们的成员变量。紧接着调execute方法,调完之后返回“success”字符串。然后传到struts.xml的一个结果。匹配名字,然后定位到相应的jsp(<result name="success">/result.jsp</result>),然后在request中获取信息,至此完成。


     

这篇关于配置Struts2(以登录为例)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1107718

相关文章

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

Debian系和Redhat系防火墙配置方式

《Debian系和Redhat系防火墙配置方式》文章对比了Debian系UFW和Redhat系Firewalld防火墙的安装、启用禁用、端口管理、规则查看及注意事项,强调SSH端口需开放、规则持久化,... 目录Debian系UFW防火墙1. 安装2. 启用与禁用3. 基本命令4. 注意事项5. 示例配置R

Spring Security 单点登录与自动登录机制的实现原理

《SpringSecurity单点登录与自动登录机制的实现原理》本文探讨SpringSecurity实现单点登录(SSO)与自动登录机制,涵盖JWT跨系统认证、RememberMe持久化Token... 目录一、核心概念解析1.1 单点登录(SSO)1.2 自动登录(Remember Me)二、代码分析三、

PyCharm中配置PyQt的实现步骤

《PyCharm中配置PyQt的实现步骤》PyCharm是JetBrains推出的一款强大的PythonIDE,结合PyQt可以进行pythion高效开发桌面GUI应用程序,本文就来介绍一下PyCha... 目录1. 安装China编程PyQt1.PyQt 核心组件2. 基础 PyQt 应用程序结构3. 使用 Q

Redis MCP 安装与配置指南

《RedisMCP安装与配置指南》本文将详细介绍如何安装和配置RedisMCP,包括快速启动、源码安装、Docker安装、以及相关的配置参数和环境变量设置,感兴趣的朋友一起看看吧... 目录一、Redis MCP 简介二、安www.chinasem.cn装 Redis MCP 服务2.1 快速启动(推荐)2.

Spring Boot配置和使用两个数据源的实现步骤

《SpringBoot配置和使用两个数据源的实现步骤》本文详解SpringBoot配置双数据源方法,包含配置文件设置、Bean创建、事务管理器配置及@Qualifier注解使用,强调主数据源标记、代... 目录Spring Boot配置和使用两个数据源技术背景实现步骤1. 配置数据源信息2. 创建数据源Be

Spring Boot Maven 插件如何构建可执行 JAR 的核心配置

《SpringBootMaven插件如何构建可执行JAR的核心配置》SpringBoot核心Maven插件,用于生成可执行JAR/WAR,内置服务器简化部署,支持热部署、多环境配置及依赖管理... 目录前言一、插件的核心功能与目标1.1 插件的定位1.2 插件的 Goals(目标)1.3 插件定位1.4 核

RabbitMQ消息总线方式刷新配置服务全过程

《RabbitMQ消息总线方式刷新配置服务全过程》SpringCloudBus通过消息总线与MQ实现微服务配置统一刷新,结合GitWebhooks自动触发更新,避免手动重启,提升效率与可靠性,适用于配... 目录前言介绍环境准备代码示例测试验证总结前言介绍在微服务架构中,为了更方便的向微服务实例广播消息,

Ubuntu 24.04启用root图形登录的操作流程

《Ubuntu24.04启用root图形登录的操作流程》Ubuntu默认禁用root账户的图形与SSH登录,这是为了安全,但在某些场景你可能需要直接用root登录GNOME桌面,本文以Ubuntu2... 目录一、前言二、准备工作三、设置 root 密码四、启用图形界面 root 登录1. 修改 GDM 配

nginx 负载均衡配置及如何解决重复登录问题

《nginx负载均衡配置及如何解决重复登录问题》文章详解Nginx源码安装与Docker部署,介绍四层/七层代理区别及负载均衡策略,通过ip_hash解决重复登录问题,对nginx负载均衡配置及如何... 目录一:源码安装:1.配置编译参数2.编译3.编译安装 二,四层代理和七层代理区别1.二者混合使用举例