SSH学习(一)Struts2入门

使用IDEA学习Struts2框架 (一)Struts2入门-HelloWorld应用 作为一个刚学习完JavaWeb必要储备知识的人,早已经急不可耐地想要学习运用MVC设计模式的Web框架了。目前Java的三大框架仍然是ssh(Struts、Spring、Hibernate),而struts2对于struts1的一些缺点进行了改进,那么本着了解MVC设计模式和基础web框架学习的目的,开始学习struts2。开发工具IDEA(没有用过Eclipse,但是已经习惯了IDEA,就不改了... 阅读详情

原文来自搬砖工,如需转载请注明出处


博主之前公司使用的是第三方框架Jforum,如果大家有兴趣的可以去百度Jforum,它是一个开源论坛项目,使用的是自己独有的第三方框架,而且无版权使用问题。是一个比较优秀的第三方框架。之前把javase的有关知识系统得总结了一遍,但是还是有许多遗漏的知识点。博主打算在之后对javase的知识进行补充,先把三大开源框架温习一下。毕竟没有经常使用,还是有很多生疏的地方。

首先就从Struts2开始,接下来的SSH知识总结将作为一个系列重新学习一下SSH框架中常用的技术和开发中的细节问题。这篇文章就先总结一下搭建一个简单的Struts项目。

一、获取Struts2相关文件

1.下载Struts2压缩包struts-2.3.31-all.zip

2. 把包下载完毕之后,解压进入文件夹 struts-2.3.31-all\struts-2.3.31\apps ,我们能看到有几个war包。把struts2-blank.war拷贝到tomcat的webapps目录下。

3. 启动tomcat,我们看到war包解压成了文件夹。我们需要的就是lib包下面的jar文件,同时在写配置的时候可以参考web.xml的配置

二、创建一个Struts项目

使用myeclipse创建一个web项目,在创建的时候可以先next勾选创建一个web.xml的配置文件。如果直接finish也行,我们之后需要拷贝一个web.xml文件就行。(项目名称为Struts)

项目创建完毕之后,我们先把之前解压的项目中的lib文件拷贝到Struts的lib下面,刷新项目。(如果不是从myeclipse面板新增文件,我们需要刷新项目)然后我们把下面的配置写到web.xml中:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>Struts</display-name>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <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>
  
</web-app>
解释:

1. filter是过滤的意思,在javaweb中我们称之为过滤器。filter-name是给下面的类给个别名,在filter-mapping中使用的时候,filter-name的值要和上面定义的对应。

2. org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter是struts2新的过滤器,老版本有一个另外的过滤器。大家在实际使用的时候可以去了解一下,当你使用旧的过滤器的话,struts2会提示建议使用新的过滤器。

这样就把最基本的web.xml文件配置好了,接下来在src中创建一个struts2的配置文件,名称为struts.xml。struts2与struts1不同的地方就是不需要在web.xml中配置struts的配置文件了。

然后我们建一个类LoginAction

package com.study.action;

public class LoginAction {

	public String execute() throws Exception{
		if(name!=null&&name.equals("admin")){
			return "success";
		}else{
			return "input";
		}
	}
	
	private String name;
	private String password;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
}
然后配置我们的struts.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
	<package name="example" namespace="/" extends="struts-default"> 
		<action name="login" class="com.study.action.LoginAction">
			<result name="success">/Success.jsp</result>
			<result name="input">/login.jsp</result>
		</action>
	</package>

</struts>    
解释:

1.action的name属性是页面请求的时候的名称,class是我们类的所在位置。

2.result是类中的execute()类返回值所对应的,它标识所跳转的页面

简单的jsp示例:

login.jsp

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
  </head>
  
  <body>
    <form id="login" name="login" action="/login.action" method="post">
		<table border="0">
			<tr>
				<td>name:</td>
				<td><input type="text" name="name" id="name"/></td>
			</tr>
			<tr>
				<td>password:</td>
				<td><input type="password" name="password" id="password"/></td>
			</tr>
			<tr>
				<td colspan="2" align="center"><input type="submit" value="login"/></td>
			</tr>
		</table>
	</form>
  </body>
</html>
Success.jsp

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
  </head>
  
  <body>
    hello world!
  </body>
</html>
到此我们一个简单的struts2项目创建完毕

三、运行项目

打开我们的浏览器,请求项目的login.jsp。博主tomcat配置的方式有所不同

<Context path="" docBase="F:\网站\Struts\WebRoot" debug="0" />
博主的请求域名就是

就能看到我们的输入框以及提交按钮。按照action中的逻辑,成功会显示helloword,失败会跳转回来。表单的请求action是/login.action,.action是struts2默认的后缀,意思就是在我们配置的login后面还需要跟上.action。

跳转成功页面

我们发现,域名以及改变成我们请求的action了

四、简单总结

这是最原始的Struts2项目,简单的跳转。首先要配置一个过滤器,然后需要一个struts.xml配置文件,这个配置文件中配置我们的类等。在我们写的action中,我们把以前javabean的内容写到了action中。并且我们实现了execute方法。它需要注意的地方就是要抛出异常。struts2自动地匹配了页面的请求参数和action中的属性。

以上就是一个最简单的struts2项目的搭建方式,下面会深入了解struts2的相关内容。


SSH2与Struts2集成的CRUD操作实例及源码分析 本文还有配套的精品资源,点击获取 简介:SSH2(Secure Shell 2)是一种提供安全远程服务的协议,而Struts2是一个强大的Java MVC框架,用于开发Web应用。本文提供一个实例,通过集成SSH2和Struts2实现Web应用中的数据操作功能。实例中详细说明了如何添加Struts2所需的JAR包,定义Action类,配置结果映射,以及实现增删改查(CRUD... 阅读详情

相关推荐

精通SSH框架:Struts2+Spring2+Hibernate3综合指南

本文还有配套的精品资源,点击获取 简介:Struts2、Spring2 和 Hibernate3 组合形成了 Java Web 开发中的“SSH”三位一体,提供了完整的模型-视图-控制器(MVC)架构、事务管理和数据持久化解决方案。本课程旨在介绍这三个框架的核心概念、配置方法和在企业级应用中的协同工作方式,帮助开发者提升开发效率和系统的可维护性。 1. Strut...

weixin_34413326的博客 904

Struts2目录结构和基础JAR包介绍

Struts2的官方下载网址为http://struts.apache.org,在该网址中可以下载最新版本的 Struts2。 下载成功后,将压缩包进行解压,解压后的目录如图 1 所示。 图 1Struts2 的文件夹结构 下面针对图 1 中所示的目录进行简单介绍,具体如表 1 所示。 表 1 Struts2 的目录介绍 名称 作用 apps 用于存放官方提供的 Struts2 示例程序,这些程序可以作为学习者的参考资料。各示例均为 war 文件,可以通过 zip 方式进行...

段远山 618

JavaWeb SSH框架基础教程:使用IntelliJ IDEA创建Struts2应用

在快速发展的信息技术时代,Java Web开发领域中,SSH框架(Struts、Spring、Hibernate)一度成为企业级应用的首选技术栈。本章将带领读者入门这一强大的开发框架。框架可以被理解为一套可重用的预定义类和接口,它能够简化软件开发过程。在Java Web开发中,框架提供了一种组织代码和处理请求的标准化方法,从而使得开发者能够更专注于业务逻辑的实现。SSH框架将业务逻辑、数据持久化和前端表现层完美结合,极大提高了开发效率和系统性能。

weixin_42602368的博客 913

ssh详解–让你彻底学会ssh

SSH全称secure shell,安全外壳协议(安全的shell),是一个计算机网络协议(默认端口号为22)。通过ssh协议可以在客户端(提供身份认证、信息加密)的LInux服务器或其他设备。本篇博客将会详细介绍ssh的常用知识,带你学会ssh的使用。

Lqj的博客 6万+

Struts2核心JAR包与SSH整合开发实战

Struts2 是一个基于MVC架构的成熟Java Web开发框架,广泛应用于企业级Web应用开发。它继承自Struts1,但在底层架构、功能扩展和易用性方面进行了全面升级。其核心设计目标是提升开发效率,增强代码的可维护性与可测试性。在Java Web开发中,SSH(Struts2 + Spring + Hibernate)框架组合被广泛用于构建企业级应用程序。它们各自承担着不同的职责,形成了清晰的分层结构:Struts2。

weixin_35696112的博客 958

struts2核心jar包

struts2.3.1.1是目前最新struts2版本,至少需要如下6 个jar包: struts2-core-2.3.1.1.jar freemarker-2.3.18.jar commons-logging-1.1.1.jar ognl-3.0.3.jar xwork-core-2.3.1.1.jar commons-fileupload-1.2.2.jar 1.struts2-core-2.3.1.1.jar struts核心包 2.freemarker-2.3.18.jar freeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具 3.commons-logging-1

【SSH】Struts2学习(一)Struts入门、各类配置详解、Action详解

一、准备Struts2的开发包 1、下载 网址:http://struts.apache.org/download 我下载的是Structs 2.3.34版本,也可以下载其他版本,下载后要进行解压 2、解压下载好的Struts2开发包,如下为解压好的目录结构 对文件结构进行简单介绍 二、Struts2初体验 1、创建一个web工程导入相应jar包

麦客子 1244

Struts2全部jar包

搭建struts2所需要的jar包 快速搭建struts2项目使用

Struts2框架简单入门

Struts2入门

qq_42640067的博客 7744

struts2-core-2.3.15.3.jar

Apache Struts Copyright 2000-2011 The Apache Software Foundation This product includes software developed by The Apache Software Foundation (http://www.apache.org/). Dojo (http://dojotoolkit.org/). domTT (http://www.mojavelinux.com/projects/domtooltip/). The binary distributions includes the following third party software: ANTLR (http://www.antlr.org/). Classworlds (http://classworlds.codehaus.org/). EZMorph (http://ezmorph.sourceforge.net/) FreeMarker (http://freemarker.org/). JSON-lib (http://json-lib.sourceforge.net/). OGNL (http://www.opensymphony.com/ognl/). Plexus (http://plexus.codehaus.org/). SiteMesh (http://www.opensymphony.com/sitemesh/). XWork (http://www.opensymphony.com/xwork/). XPP3 (http://www.extreme.indiana.edu/xgws/xsoap/xpp/). XStream (http://xstream.codehaus.org/).

【毕业设计】_基于STM32单片机的按摩椅( 原理图+源码)

按摩器系统基于STM32单片机设计,作为核心控制单元。系统配备了OLED显示屏、蓝牙模块、喇叭模块、播报模块和光电感应模块。光电感应器用于检测是否有人接近,同时,系统可以通过蓝牙接收控制指令并执行相应的操作。该系统支持40℃的热敷功能以及气囊按摩功能,具备温度显示功能,并且可以通过按键切换不同的按摩模式。当光电感应器检测到有人时,按摩椅会自动启动。使用DHT11传感器的红色按钮可以调整温度。

2401_85381100的博客 724

SSH入门之Struts2

本文参考: https://blog.youkuaiyun.com/baby_newstar/article/details/6752322 https://blog.youkuaiyun.com/u012469528/article/details/78714153、 https://www.cnblogs.com/jukan/p/5259999.html 2019.6.22开始入门 就在这里写笔记吧~ 一、SSH三大...

TonyWang972的博客 641

详解FreeRTOS:低功耗Tickless模式(高级篇—7)

FreeRTOS提供了一个叫做Tickless的低功耗模式,本篇博文我们就来学习一下如何使用这个Tickless模式。

不脱发的程序猿 1897

SSH框架学习(struts2+hibernate+spring)

SSH框架学习(struts2+hibernate+spring) 虽然struts2和hibernate这两个框架已经很老了,但是老项目中还是存在,通过这篇文章,可以带你快速入门这两个框架。迅速掌握SSH框架,以应对老项目。 Struts2 快速开始 导包: <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-core</arti

星时代曹波涛 520

基于STM32L4XX 、HAL库的ATD5984步进电机驱动器驱动程序应用设计

一、简介: ATD5984是一款内部集成了译码器的微特步进电机 驱动器,能使双极步进电机以全、半、1/4、/1/8、1/16 和1/32步进模式工作。步进模式由逻辑输入管脚MSx选 择。其输出驱动能力达到28V±1.6A。 译码器是ATD5984易于使用的关键,通过STEP管脚 输入一个脉冲就可以使电机完成一次步进,省去了相序 表,高频控制线及复杂的编程接口,使其更适于没有复 杂的微处理器或微处理器负担过重的场合。 在步进操作期间,ATD5984的内部电路可以自动

PP_Cottage的博客 406

手把手教你学Simulink——基于经典滤波器设计的场景:低通滤波器(LPF)的设计与频率响应仿真

滤波器是信号处理领域中非常重要的组件,用于去除不需要的频率成分或者提取有用的频率信息。低通滤波器(Low-Pass Filter, LPF)允许低于某个特定截止频率的信号通过,同时衰减高于该截止频率的信号。在本教程中,我们将学习如何使用设计一个简单的模拟低通滤波器,并对其频率响应进行仿真分析。本文介绍了如何使用设计一个简单的模拟低通滤波器,并通过仿真展示了其应用效果。通过这样的实践,您不仅能够加深对滤波器工作原理的理解,还能掌握利用Simulink进行滤波器设计与仿真的基本技能。

MHD0815的博客 5720

SSH Chapter 08 Struts2 入门

SSH Chapter 08 Struts2 入门 本章目标 : 掌握Struts 2的执行过程 能够使用Struts 2框架开发简单应用 能够使用Struts 2实现数据校验 掌握Struts 2框架的标签使用 技术内容: 参考Struts2官网:https://struts.apache.org Struts2入门官网:https://struts.apache.org/getting-started/ 1 . Struts 2 概述 1.1 Struts 2的起源与背景 在了解Struts 2之前

weixin_40154786的博客 356

【YOLOv11改进- 主干网络】YOLOv11+WTConv(ECCV2024): 基于YOLOv11的主干网络改进,大感受野的小波卷积

论文提出了WTConv,这是一个使用级联小波分解的层,并执行一组小卷积核的卷积,每个卷积专注于输入的不同频率带,并具有越来越大的感受野。这个过程能够在输入中对低频信息给予更多重视,同时仅增加少量可训练参数。实际上,对于一个  的感受野,可训练参数数量只随着  的增长而呈对数增长。而WTConv与常规方法的参数平方增长形成对比,能够获得有效的卷积神经网络(CNN),其有效感受野(ERF)大小前所未有。

qq_41304809的博客 1401

【Struts2】一_idea快速搭建struts2框架

SSH是的一个集成框架,是16年之前较为流行的一种Web应用程序开源框架。区别于 Secure Shell。集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate。1、导入核心jar包。

m0_70083523的博客 3334

C#上位机案例:西门子S7协议通信+实时曲线显示(WinForm+ZedGraph)

创建/// PLC数据模型(对应DB1块)/// 采集时间(用于曲线的X轴)set;/// 温度值(℃)set;/// 压力值(MPa)set;/// PLC通信状态set;西门子S7协议通信和实时曲线显示,也是工控现场最常见的场景之一。整个开发过程的关键不在于“写出代码”,而在于“写出符合工控场景的稳定代码”——比如解耦通信逻辑与界面逻辑、处理跨线程问题、限制数据点数量、释放资源等。新手在学习时,建议先跟着步骤搭建好环境,跑通基础功能,再逐步尝试进阶优化。需要注意的是,工控上位机的核心是。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1342

dolphinscheduler集群服务一键安装启动实现流程剖析

通过以上分析我们基本梳理清楚了整个dolphinscheduler项目的一键安装启动逻辑, 我们现在在通过一张图正好理一下整个实现流程。关于一键停止集群服务及一件查询集群各个角色服务实例运行状态的实现也都在stop-all.sh/status-all.sh及dolphinscheduler-daemon.sh这三个脚本中, 有兴趣自行研究。写这篇文章的核心目的不仅在于给大家分享如何优秀的开源项目的一键安装部署的实现过程。

最爱嫣夜来 1207

Java Web SSH-Struts 2框架复习

Java Web SSH-Struts 2框架复习 一、   自定义MVC框架 1.        Struts2和MVC Struts2是一种基于MVC的Web应用框架,下面看看Struts2和MVC的关系。这里只是先讲一下Struts2是如何跟MVC对应的,其中一些名词所代表的具体功能,比如前端控制器(FilterDispatcher)、动作(Action)、结果(Result)等。

SteveJrong's Blog 1944

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

【SSH】之Struts2

Struts2,我们在最开始学习SSH的时候就接触了,但是真正懂的又有多少呢?最近在学习OA,又把这部分的知识好好总结了一下。今天这篇文章,我们就先来说说SSH之Struts2。     我们还是以搭建SSH环境为主,今天这篇博客也从搭建SSH中的Struts2入手,顺便说说在没有整合的时候Struts2是如何工作的。好了,现在开始进入正题。     我们在学习这些框架的时候,大都按照这样一个

不忘初心 1386

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

SSH框架(Struts2+Spring+Hibernate)搭建整合详细步骤

​ 在实际项目的开发中,为了充分利用各个框架的优点,我们通常都会把Spring与其他框架整合在一起使用。本节将针对 SSH(Struts2、Hibernate和 Spring)框架的整合内容进行详细讲解。 ​

unber的博客 2516

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

struts2.5入门 ,spring入门,hibernate入门 和SSH 框架

1.struts2.5.16 所有jar及文档(包含入门jar): https://download.youkuaiyun.com/download/weixin_41488437/10838047 struts2 ognl表达式 https://blog.youkuaiyun.com/weixin_41488437/article/details/84924876 2.Spring 入门 spring 常用...

weixin_41488437的博客 240
上一篇: json相关知识介绍
下一篇: 二级域名解析使用
海之沐
博客等级 码龄12年 1536粉丝 71原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值