Struts2学习笔记之入门

小案例:利用图床自动化批量上传图片并获取图片链接 用python爬虫写了一个小脚本,用来自动上传图片到图床,然后返回链接,我们只需直接复制链接就可以。(需要安装Requests库) 因为不同图床需要提交的POST表单不一致,所以在这里我用ImgURL图床做示范,如果大家有需求,可自行修改代码。使用脚本的时候,我们只需把需要上传的图片和这个脚本放在同一个文件夹中,然后运行脚本,稍作等待,看到提示时就可以在脚本运行文件夹中发现一个名为“图片链接地址.txt”的文件,里面就是图片链接啦! 四、图片链接地址.txt(单张图片):... 阅读详情

前提条件,在项目中有选择地导入以下struts2中的包.

xwork-2.0.5.jar

commons-logging-1.0.jar

commons-logging-api-1.1.jar

freemarker-2.3.8.jar

ognl-2.6.11.jar

struts2-core-2.0.11.2.jar

配置web.xml文件,代码如下:

 

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app version="2.4" 
  3.     xmlns="http://java.sun.com/xml/ns/j2ee" 
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  5.     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
  6.     http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  7.   <welcome-file-list>
  8.     <welcome-file>index.jsp</welcome-file>
  9.   </welcome-file-list>
  10.   <filter>
  11.     <filter-name>struts2</filter-name>
  12.     <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
  13.   </filter>
  14.   <filter-mapping>
  15.     <filter-name>struts2</filter-name>
  16.     <url-pattern>/*</url-pattern>
  17.   </filter-mapping>
  18. </web-app>

登陆表单为例

第一步,在index.jsp中,加入以下代码,生成表单

  1. <form action="LoginAction.action" method="post">
  2.         username:<input type="text" name="username"/>
  3.         password:<input type="password" name="password"/>
  4.         <input type="submit" value="提交"/>
  5. </form>

注意,若使用struts2表单标签,则无须加上".action"后缀.如:<s:form action="LoginAction" method="post">,为效率考虑,建议使用HTML标签.

 

第二步,完成LoginAction

代码如下:

  1. package com.dadao.struts2;
  2. import java.util.Map;
  3. import javax.servlet.http.HttpServletRequest;
  4. import javax.servlet.http.HttpServletResponse;
  5. import javax.servlet.http.HttpSession;
  6. import org.apache.struts2.interceptor.ServletRequestAware;
  7. import org.apache.struts2.interceptor.ServletResponseAware;
  8. import org.apache.struts2.interceptor.SessionAware;
  9. import com.opensymphony.xwork2.ActionSupport;
  10. public class Login extends ActionSupport implements ServletRequestAware ,ServletResponseAware,SessionAware
  11. {
  12.     private String message;
  13.     private HttpSession session=null;
  14.     private HttpServletRequest request;
  15.     private HttpServletResponse response;
  16.     private Map attribute;
  17.     public void setServletRequest(HttpServletRequest req) {
  18.         this.request=req;
  19.     }
  20.     public void setServletResponse(HttpServletResponse resp) {
  21.         this.response=resp;
  22.     }
  23.     public void setSession(Map map) {
  24.         this.attribute=map;
  25.     }
  26.     @Override
  27.     public String execute() throws Exception {
  28.         StringBuffer sb=new StringBuffer();
  29.         sb.append("you user name is: ");
  30.         sb.append(request.getParameter("username"));
  31.         sb.append("you passwored is: ");
  32.         sb.append(request.getParameter("password"));
  33.         session=request.getSession();
  34.         attribute.put("message", sb.toString());
  35.         sb.append("session's message is: ");
  36.         sb.append(session.getAttribute("message"));
  37.         message=sb.toString();
  38.         return SUCCESS;
  39.     }
  40.     public String getMessage() {
  41.         return message;
  42.     }
  43.     public void setMessage(String message) {
  44.         this.message = message;
  45.     }
  46.     
  47.     
  48.     
  49. }

第三步,在src目录下,新建struts.xml.

代码如下:

  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. <struts>
  6.     <package name="strutsPackage" extends="struts-default">
  7.         <action name="LoginAction" class="com.dadao.struts2.Login">
  8.             <result>/message.jsp</result>
  9.         </action>
  10.     </package>
  11. </struts>

第四步,完成message.jsp.代码如下:

  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
  2. <%@ taglib prefix="s" uri="/struts-tags"%>
  3. <%
  4. String path = request.getContextPath();
  5. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  6. %>
  7. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  8. <html>
  9.   <head>
  10.     <base href="<%=basePath%>">
  11.     <title>My JSP 'HelloWorld.jsp' starting page</title>
  12.   </head>
  13.   <body> 
  14.        <s:property value="message"/>
  15.        <br>
  16.   </body>
  17. </html>

第五步,测试.

ubuntu 24.04安装ros1 noetic 上面是参考链接给的修改内容。除了上面要修改的地方,我在编译的生活还有一个地方报错,修改成如下形式。因为我已经对文件rosconsole_log4cxx.cpp作了上面的修改,所有是不是188行不太确认了,如果报“log4cxx::spi::LocationInfo”问题,按照下面修改就可以了。我在编译时还报了一个问题,就是我之前安装的是jazzy。所以在编译时会报ros变量名不对,这时对变量名做修改就可以了。具体怎么修改,百度。a、将源文件中所有CMakelist中编译标准改为c++ 17. 阅读详情

相关推荐

ovs实现lb负载均衡

负载均衡器的实现原理是通过硬件或软件设备将客户端访问流量根据转发策略分发到多个服务器或设备上,以确保系统的负载均衡。二层负载均衡‌:使用虚拟MAC地址方式,根据OSI模型的二层进行负载均衡。‌四层负载均衡‌:基于IP+端口的负载均衡,主要分析IP层及TCP/UDP层,实现四层负载均衡。‌七层负载均衡‌:从应用层开始,根据虚拟的URL或IP、主机名接收请求,再转向相应的处理服务器。

bobi的博客 951

Struts2框架学习笔记之Struts2入门

目录标题Struts2简介Struts2的优点Struts2处理流程Struts2快速入门下载jar包创建项目新建JSP配置web.xml创建struts.xml文件创建class类 Struts2简介 Struts2是一种基于MVC模式的轻量级Web框架,Struts2是Struts1的下一代产品,是在Struts1和WebWork技术的基础上进行合并后的全新框架 struts2框架其实是对javaWeb表现层的MVC作了优化 Struts2的优点 1、项目开源,使用及拓展方便,天生优势。 2、提供E

Atkx's Blog 574

交叉编译Qt6.5.3(RK3568开发板)

注意,如果使用其它版本的交叉编译器的话,请确保你的交叉编译器能够支持 C++17标准。为确保后续交叉编译没问题,需要确保开发板使用的GLIBC版本不小于2.34版本。到 linaro 网站上下载交叉编译工具,我下载的是 gcc-linaro-11.3.1-2022.06-x86_64_aarch64-linux-gnu.tar.xz。安装 CMake ,最低要求3.16版本,如果要静态编译,需要3.21及以上版本。我使用的3.27版本。:指定为最后交叉编译后的Qt6.5.3库的安装目录。

m0_46309425的博客 5102

Struts2入门学习笔记详解:

Struts2 入门学习笔记详解: Struts2起源与背景: 学习一个技术就要了解它的历史, 知道它的背景 出现的因素… 这是我学习的习惯 在以前很久一段时间曾经出现过一种框架Struts1 Struts1 在很长一段时间, 在MVC框架中处于绝对的统治地位…大概04年吧… 我才上幼稚园… Struts1:可以很好的实现 控制与业务逻辑的分离… 但自身也存在一些缺陷: 表现层单一: 只支持表现层使用, 限制了Struts1 的发展; 对Servlet APl 的依赖: Struts1 框架基于 Mode

慈様 2318

避坑指南:将大华官方Java SDK无缝迁移到SpringBoot 2.x项目的完整流程

本文详细介绍了如何将大华官方Java SDK无缝迁移到SpringBoot 2.x项目,重点解决内存管理、连接池设计和异步处理等核心问题。通过设备连接池化、异步非阻塞接口改造和内存管理优化,实现刷卡、刷脸等认证功能的高效整合,提升Web服务的稳定性和性能。

weixin_42557830的博客 417

StarCCM+ 导入STL几何模型进行仿真

通过 Import Surface Mesh 的方法导入 STL 文件进行仿真

薛定谔的alpha狗 6129

Struts2学习笔记一(Struts2入门)

这是笔者在学习过程中的知识记录,可能有错误的地方,仅供参考 #Struts2的入门 Struts2的简介 在Javaee开发中,我们一般将整个项目分成表现层,业务层,和持久层,在持久层就是和数据库打交道,之前的Hibernate就是属于这个层的,在表现层我们在没有框架之前是使用jsp+servlet+javabean的MVC设计模式来实现的,Struts2框架就是用来代替之前表现层的开发模式...

水中无名鱼的博客 181

手把手教你用UC3842搭建12V/5A反激电源(附PSIM仿真文件)

本文详细介绍了基于UC3842的12V/5A反激电源设计与PSIM仿真实践。从UC3842芯片选型、高频变压器计算到PSIM仿真模型搭建,提供完整的开关电源设计流程。特别包含PCB布局要点和实测优化建议,帮助工程师快速掌握反激电源开发技巧。

u6v7w8x的博客 1202

struts2学习笔记(一)—— struts2介绍及入门程序

一、struts2概述 1.1 什么是struts2?  在介绍Struts2之前,先来认识一下Struts1。Struts1是最早的基于MVC模式的轻量级web框架,他能够合理的划分代码结构,并包含了验证框架、国际化框架等多种实用工具框架。但随着技术的进步,Struts1的局限性也越来越多的暴露出来。为了符合更加灵活、高效的开发需求,Struts2框架应用而生。   Struts...

VNOpU2015的专栏 271

【自然语言处理】【聚类】TELL:可解释神经聚类

超越分类的XAI:可解释神经聚类 《XAI Beyond Classification: Interpretable Neural Clustering》 论文地址:https://www.jmlr.org/papers/volume23/19-497/19-497.pdf 一、简介 ​ 本文研究了可解释AI(XAI\text{XAI}XAI)和数据聚类这两个挑战性问题。第一个问题是如何设计一种具有固定可解释性的神经网络,而不是给出一个黑盒模型的事后解释。第二个问题是,使用可微分神经网络来实现离散的k-me

bqw的博客 4136

1688店铺所有商品API接口(整店商品查询API接口)

1688店铺所有商品API接口、1688店铺列表API接口,1688店铺API接口,1688店铺查询商品API接口,1688店铺商品API接口,1688店铺详情接口,1688商品API接口

tbprice的博客 1568

Struts2框架学习笔记_Struts2入门

文章为学习struts的笔记,可供读者参考,有不足之处还望之指出。 参考: POJO与JavaBean的区别 Velocity Velocity官网 FreeMarker XSLT struts 学习笔记 回顾MVC struts1 webwork struts2 struts2登录项目搭建 StrutsPrepareAndExecuteFilte...

jerryzhou的博客 778

【人工智能】Cursor模型被封?两步教你破解

Cursor模型全线被禁,主流模型如Claude、GPT-4无法访问,仅剩Deepseek等基础模型可用。官方证实限制源于上游API区域政策,提供三种"无效"解决方案引发用户不满。社区发现有效解决方式:需同时开启全局代理和将Cursor网络设置改为HTTP/1.1协议,详细步骤包括修改用户设置和完全重启程序。另有SOCKS5代理配置方案供高级用户选择。技术原理推测HTTP/1.1可绕过区域检测。用户面临继续使用或转投其他工具的选择,社区交流受限但仍有讨论。

奶爸的编程之路,也就一周冷个三天 2191

Struts2学习笔记(二) 入门demo利用struts2进行请求拦截及转发

一、简介: struts2是基于MVC设计模式的web层框架,也就是说他相当于MVC框架中的web层,所以他本质上就是一个servlet。 如下图所示:传统模式下一个请求对应一个servlet. 而Struts2是基于前端控制器模型,也就是所有的请求都要先通过前端控制器,然后根据不同的请求分发到不同的action中,因为他可以拦截所有的请求,所以前端控制器也就是一个过滤器。 二、入门demo的编...

showadwalker的博客 645

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Struts2入门学习笔记之一

<br />      Struts 2是Struts的下一代产品。是在 struts 和WebWork的技术基础上进行了合并,全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构的差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为WebWork的更新产品。因为Struts 2和Struts 1有着太大的变化,但是相对于WebWork,S

wustrive_2008的博客 570

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Struts2学习笔记一之Struts2入门

大家都知道Struts2是一个MVC框架,我们javaWeb中学习的servlet也是一个mvc框架,那我要问大家一个问题,为什么要用struts2开发呢?怎么不使用serlet来开发呢? 那我们先来讨论一下servlet的缺点,它的缺点有哪些呢? 1. Servlet回顾     1.1. 第一步:创建一个Servlet类,继承HttpServlet 1.2. 第二步:编

一个技术宅 515

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

开发者导航:Struts2学习笔记之:struts入门基础

Struts2是Apache发行的MVC开源框架。注意:它只是表现层web(MVC)框架。在apps目录中,提供了一个struts2-blank.war 包初始学者在项目集成中,导入lib下的所有包即可jar的介绍struts2-core-2.3.33.jar Struts核心jar包ognl-3.0.19.jar OGNL表达式log4j-core-2.3.jar 开源日志 log for javaasm-3.3.jar 基于子类的动态代理。

开发者导航 1227

javaweb学习笔记1——struts2框架入门

导入jar包 在lib目录中有jar包,但是不能把这些jar包都导入到项目中 在apps目录里,找到示例程序,从示例程序中复制jar包 在apps中找到struts2-bank.war,用压缩工具打开,进入可以看到lib目录,把lib目录里的所有jar包都复制 创建action ...

qq_42323788的博客 297

Struts2 入门到实战:小白也能懂的 MVC 框架学习笔记

Struts2是一个MVC架构的Web开发框架,提供了表单验证、统一布局、国际化等常用功能,简化开发流程。相比Struts1,Struts2采用现代化设计,无需继承特定类,使用POJO存储表单数据,通过拦截器扩展功能更灵活。环境搭建只需复制官方jar包、配置过滤器和核心文件struts.xml。Action类是业务处理核心,只需满足JavaBean规范即可。框架提供ActionContext和实现接口两种方式访问Web资源,推荐使用解耦方式便于测试。

qq_45438032的博客 988

Java Web学习笔记——Struts2入门

Java学习笔记——Struts2入门一、Struts2的概念        Struts是Apache基金组织中一个开源项目,主要实现MVC设计模式,在Struts中有自己的控制器(ActionServlet),同时也提供了各种常用的页面标签库以减少JSP页面中的Scriptlet代码。Struts是流程和成熟的基于MVC设计模式的Web应用程序框架。二、MVC模式        MVC是模型视...

小哲的博客 956

Struts2学习笔记——入门

环境:MyEclipse 6.5 + Tomcat 6.29 Struts版本:struts-2.0.11 项目:登陆模拟 1、新建web项目:struts2 将struts2基本的支持包导入到lib下: commons-logging-1.0.4.jar freemarker-2.3.8.jar ognl-2.6.11.jar struts2-core-2.0.11.jar ...

xty88645的博客 109

Struts2学习笔记一 简介及入门程序

Struts2是一个基于MVC设计模式的web应用框架,它本质上相当于一个Sevlet。是Struts1的下一代产品,是在structs1和WebWork技术的基础上进行合并后的全新框架(WebWork是由OpenSymphony组织开发的,致力于组件化和代码重用的J2EE Web框架,他也是一个MVC框架)。 虽然Struts的名字与Struts1相似,但其设计思想却有很大的不同。实质上,St...

weixin_30610755的博客 112

Struts2学习笔记二之入门案例

1. Struts2的演化史 先有servlet后有jsp,jsp只是把servlet简化了 2004年出现了struts1(Apache),它解决了什么问题,就是咱们刚才这些问题   1)写了action 3) 写了中控servlet 3)增加了ActionForm来封装表单的参数,这样不用再写枯燥的request.getParameter(“”),而实现自动封装,自动类型转换。

一个技术宅 518

学习笔记-Struts2入门

本文是基于慕课网的《Struts2入门》视频教程笔记。 一.MVC模式=control+view+model 1、jsp+javaBean=model jsp里会嵌入大量的js片段和java代码,可读性变差。 2、jsp+servlet+javaBean 典型的MVC模式 二.MVC流程 在Struts2中,action就是Controller。 三.搭建struts2的环境步骤

yan_blog的博客 349

Struts 2 快速入门---Struts 2.0 学习笔记

&nbsp;Struts2.0.11.1 Kit.Liao--KingKit Studio.2009年1月28日星期三 &nbsp; 总结: 1.&nbsp;Struts2默认编码是&nbsp;UTF-8(在org.apache.struts2下的default.properties文件里面有) 1).可以在根目录下建立一个struts.properties文件加入struts.i1...

kingkit的博客 160

Struts2框架入门及其核心配置(学习笔记)

Struts2框架,执行流程 1:request访问 2:核心过滤器拦截 3:Interceptor拦截器拦截 4:调用指定Action 5:响应数据 Struts2配置文件 在web.xml文件中加入struts2的核心过滤器 <filter> <filter-name>struts2</filter-name> ...

weixin_42971363的博客 296
上一篇: 自定义标签开发之函数标签开发
下一篇: Struts2学习笔记之国际化一
JavaChenYang
博客等级 码龄20年 35粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值