struts超简单入门(三)

JetBrains AI Assistant深度指南:上下文感知的IDE原生AI协作实践 JetBrains AI Assistant并非通用聊天机器人,而是深度集成于IntelliJ系列IDE的智能编程协作者,其核心价值在于精准的上下文感知能力——可实时解析代码结构、Git状态、运行时变量等IDE原生信息。它采用本地引擎+云端模型的混合架构,兼顾隐私安全与推理质量,支持Claude/GPT等主流模型,但关键在于上下文切片、意图预判与动态知识注入。该工具适用于提升CRUD效率、加速新人上手、辅助架构决策等真实开发场景,尤其在Spring Boot、Kotlin、Python等主流技术栈中表现突出 阅读详情

写三个java类,编译后放到Tomcat 5.0/webapps/struts/WEB-INF/classes/com/javer/test/struts/目录下

【HelloFrom.java】:

package com.javer.test.struts;

import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;

public final class HelloFrom
    extends ActionForm
{
  private String person = null;
  public String getPerson()
  {
    return person;
  }

  public void setPerson(String person)
  {
    this.person = person;
  }

  public void reset(ActionMapping mapping, HttpServletRequest request)
  {
    this.person = null;
  }

  public ActionErrors validate(ActionMapping mapping,HttpServletRequest request)
  {
    ActionErrors errors = new ActionErrors();

    if(this.person==null || this.person.length()<1)
      errors.add("person",new ActionError("com.javer.test.struts.hello.error"));
    return errors;
  }
}

【HelloModel.java】:

package com.javer.test.struts;

public class HelloModel
{
  public void saveToPersistentStore(HelloFrom hf)
  {
    System.out.println("Hello "+hf.getPerson()+"!这里可存储数据到数据库中!");
  }
}

【HelloAction.java】:

package com.javer.test.struts;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import org.apache.struts.util.MessageResources;

import org.apache.commons.beanutils.PropertyUtils;

public final class HelloAction
    extends Action
{
  public ActionForward execute(ActionMapping mapping, ActionForm form,
                               HttpServletRequest request,
                               HttpServletResponse response)
      throws Exception
  {
    MessageResources messages = getResources(request);

    ActionErrors errors = new ActionErrors();
    String person = (String) PropertyUtils.getSimpleProperty(form, "person");

    if(person.indexOf(",")!=-1)
    {
      errors.add("person",new ActionError("com.javer.test.struts.hello.unallowed.person",form));
      saveErrors(request,errors);
      request.removeAttribute(mapping.getAttribute());
      return new ActionForward(mapping.getInput());
    }

    HelloModel hm = new HelloModel();
    hm.saveToPersistentStore((HelloFrom)form);

    request.removeAttribute(mapping.getAttribute());
    request.setAttribute("helloForm",form);

    return mapping.findForward("SayHello");
  }
}

这个类不是struts必需的,是我为了转化编码而增加的

【EncodingFilter.java】:

package com.javer.test.struts;

import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public class EncodingFilter
    implements Filter
{
  protected String encoding = null;

  protected FilterConfig filterConfig = null;

  protected boolean ignore = true;

  public void destroy()
  {
    this.encoding = null;
    this.filterConfig = null;
  }

  public void doFilter(
      ServletRequest request,
      ServletResponse response,
      FilterChain chain)
      throws IOException, ServletException
  {
    if (ignore || (request.getCharacterEncoding() == null))
    {
      request.setCharacterEncoding(selectEncoding(request));
    }
    chain.doFilter(request, response);
  }

  public void init(FilterConfig filterConfig)
      throws ServletException
  {

    this.filterConfig = filterConfig;
    this.encoding = filterConfig.getInitParameter("encoding");
    String value = filterConfig.getInitParameter("ignore");
    if (value == null)
    {
      this.ignore = true;
    }
    else if (value.equalsIgnoreCase("true") || value.equalsIgnoreCase("yes"))
    {
      this.ignore = true;
    }
    else
    {
      this.ignore = false;
    }
  }

  protected String selectEncoding(ServletRequest request)
  {
    return (this.encoding);
  }

  public FilterConfig getFilterConfig()
  {
    return filterConfig;
  }

  public void setFilterConfig(FilterConfig filterConfig)
  {
    this.filterConfig = filterConfig;
  }
}

2025 居民消费结构数据集(21列,15000条记录)XLSX 详情介绍:该数据集为 2025 年 12 个月、1250 户家庭的平衡面板消费数据,15000 行 ×21 列零缺失,覆盖 31 省、城乡均衡,含八大类消费支出和恩格尔系数(均值 0.293,属富裕区间),家庭月收入均值 8473 元、月支出 6487 元,附完整字段说明 sheet,数据干净规整,非常适合做消费结构分析、面板回归、城乡 / 区域差异对比和收入等级分类预测,但为合成数据、仅 1 年时间跨度,不适合做真实政策研究或长期趋势分析。 立即下载

相关推荐

配合上述本地模型资源文件

配合上述本地模型资源文件

启动WebLogic后,不能进入控制台和应用的问题

昨天现场的实施人员反馈:启动WebLogic后,不能进入控制台,IE显示空白页面,连登录界面都没有!亲自远程登录服务器访问,确实如此,查看weblogic的相关文件都在啊,郁闷,不报错的问题最难解决。由于系统正在运行中,不能重启服务。百思不得其解后觉得只有上网找相关资料了。后来发现下面的文章:启动WebLogic后,不能进入控制台和应用的问题这是一个异常怪异的问题,也是我碰到的最奇怪的最难解决的问

4564

三电平维也纳VIENNA双闭环控制整流器仿真(Simulink仿真实现)

内容概要:本文档系统性地介绍了以“三电平维也纳VIENNA双闭环控制整流器”为核心的电力电子系统Simulink仿真资源,聚焦于电压电流双闭环控制、中点电位平衡、空间矢量脉宽调制(SVPWM)等关键技术的建模与实现。资源包不仅提供完整的仿真模型,还配套Mathcad计算书、设计报告及参考文献,帮助用户从理论推导到参数设计再到仿真验证实现全流程贯通。同时,文档整合了大量相关拓扑(如DAB、LLC、PFC、CLLC等)与先进控制策略(如EPS调制、软开关、最小应力优化、模型预测控制等)的仿真案例,覆盖从基础整流器到复杂双向变换系统的多个典型应用场景,构成一个面向科研、教学与工程实践的综合性学习体系。; 适合人群:具备电力电子、自动控制或电气工程等相关专业背景,熟悉MATLAB/Simulink仿真环境,正在从事新能源变换、电能质量治理、电机驱动或电力系统方向研究的研究生、高校教师及企业研发工程师。; 使用场景及目标:①开展三电平VIENNA整流器、双有源桥DAB、LLC谐振变换器等先进拓扑的科研建模与论文复现;②完成课程设计、毕业设计或实际工程项目中的控制器开发与系统性能验证;③深入掌握双闭环控制架构、中点电位平衡机制、SVPWM调制策略及系统稳定性分析等核心知识点; 阅读建议:建议结合Mathcad计算书进行系统参数设计,理解控制算法的数学基础,并在Simulink中逐步搭建与调试模型,注重理论计算与仿真结果的对比分析,推荐按照资源目录顺序循序渐进学习,以建立完整的知识框架和技术实现能力。

用DOM/JDOM解析XML文件

   夜已经深了,可是我仍未眠。明天就要回家过年了,对于一个飘荡在外的游子来说,回家过年是一件多么激动人心的事啊!这才是我心中真正的年啊!   真希望新的一年快点到来,因为有太多的不愉快需要忘记、因为有太多的梦想需要去实现……    前一段时间要解析一个XML文件,就是对XML进行增、删、改的操作。以前做J2EE时一直都是用第三方的类库来辅助解决的,但这次却要求自己用DOM来解析,只能用J

4071

三相充电桩维也纳PFC+三电平LLC谐振变换器三电平PSIM仿真设计(Simulink仿真实现)

内容概要:本文档聚焦于电力电子与电力系统领域的仿真设计,重点围绕三相充电桩中维也纳PFC(Vienna Power Factor Correction)整流器与三电平LLC谐振变换器的联合系统展开,提供基于PSIM和Simulink平台的完整仿真设计方案。内容涵盖9kW三相三开关维也纳PFC整流器的Mathcad计算书、双闭环控制策略、中点电压均衡控制、SVPWM调制技术及电流过零畸变消除方法等关键技术环节,并配套详细的仿真模型与设计报告。此外,文档整合了丰富的电力电子拓扑资源,包括图腾柱PFC、交错并联PFC、双有源桥DAB、CLLC谐振变换器、双向Buck-Boost等典型电路结构,覆盖Matlab/Simulink、Plecs、PSIM等多种仿真环境,形成从理论计算、建模、控制算法设计到性能优化的一体化技术体系。; 适合人群:面向具备电力电子、电气工程、自动化等相关专业背景,熟悉Matlab/Simulink/PSIM等仿真工具,从事新能源汽车充电技术、高效率AC-DC/DC-DC变换器设计、电力系统能量管理等方向的研究生、科研人员及工程技术人员。; 使用场景及目标:①支持三相高功率因数校正与高效DC-DC变换系统的科研仿真与教学实践;②用于PI控制、前馈控制、SVPWM、软开关技术、中点电位平衡、双闭环动态响应等核心控制算法的研究与验证;③服务于毕业设计、科研课题、学术论文复现及实际工程项目开发,提升系统级建模与优化能力。; 阅读建议:建议结合Mathcad计算书与仿真模型同步学习,优先掌握维也纳PFC与LLC的基本工作原理与参数设计流程,再深入理解双闭环控制系统架构与关键控制策略,推荐先运行Simulink模型观察动态波形响应,并参考附带文献深化理论认知与工程实现能力。

Unity——Scroll View 滑动居中、居中的放大、其他的缩小(支持横竖Scroll View)

一、效果 二、上代码,两种方式。 (第一种是在Update中用插值完成的,如果不想再项目中看到Update,下面的另一种改了一段用DoTween实现的,需要导入一下DoTween) using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using Unit...

SiReSo 7659

用DOM/JDOM解析XML文件(3)

  几乎就要放弃了,但还是忘不了,终于还是又登录了。  每当夜深人静的时候,每当独孤无助的时候,每当满腹心事的时候,除了我的blog,还有谁,愿意听我的倾诉呢?  还是那句话:夜未眠,我的blog陪我未眠,我未眠,我陪我的blog未眠……  以前记录过两个自己写的读写XML文件的帖子,感觉很不完善,只适合简单的应用,无法完成更复杂高级的功能。最近正好用到一个更优雅的,再记录下来,以备以后查阅。

3977

【STM32】IEC60730 Class B软件安全实现 Part2:自检库实战指南

本文是STM32 IEC60730 Class B软件安全实现的实战指南,详细介绍了如何将X-CUBE-CLASSB自检库集成到用户项目中。内容涵盖软件包解构、内存划分、启动与运行时自检的集成步骤、关键代码示例及调试技巧,并阐述了为最终通过安全认证所需的文档与流程准备,帮助开发者高效实现MCU功能安全。

weixin_29185167的博客 91

彻底治疗乱码顽症——J2EE.Web应用中文问题解决方案

对于一个Java初学者来说,经常碰到的一个问题恐怕就是中文问题了。其实很正常,我们有几千年的悠久历史嘛,博大精深,岂能是小小的计算机语言所能包容的?呵呵,开个玩笑。但是不可否认的一个事实就是,就算是一个比较有经验的开发人员,也经常面对着屏幕上的乱码而大伤脑筋。  想究其原因、彻底解决这一问题吗?follow me…… 乱码原因  java内核是unicode的。但Java总是根据操作系统的默认编码

3951

人工智能渗透测试:自动化安全评估

渗透测试认证的价值包括提高可信度和技能水平,并帮助客户确保由经过认证的个人对其系统进行全面的手动调查。B2B 交互变得越来越复杂,特别是功能丰富的超级应用程序,需要采取强有力的安全预防措施,而自动化渗透测试应用程序则是一种未被发现的武器。渗透测试中的人工智能通过提高效率、自动收集信息、发现隐藏的漏洞、开发个性化攻击和减少误报来提高 B2B 集成的安全性。这包括风险简报、补救建议和战略建议。渗透测试由五个阶段组成,是网络安全中的关键防御措施,它模拟现实世界的攻击,以识别系统缺陷并在漏洞被利用之前解决它们。

weixin_48967543的博客 2362

LangGraph 实战教程:搭建一个智能办公多Agent协作平台

只存储必要的信息:不要把所有的原始数据都存储在状态中,比如销售数据可以存储在数据库或向量数据库中,状态中只存储数据的 ID 或摘要。使用类型提示:避免类型错误,提高代码的可维护性。支持增量更新:LangGraph 默认支持状态的增量更新(通过reduce函数),比如messages列表可以通过追加新消息的方式更新,而不是每次都重新创建整个列表。Normal Edge 的定义非常简单,只需要在StateGraph对象(稍后会详细讲解)上调用add_edge# 创建一个 StateGraph 对象。

SuperAGI2025 221

jboss的目录结构

 JBoss的目录:  bin                   启动和关闭JBoss的脚本  client                客户端与JBoss通信所需的的Java库(JARs)  docs                  配置的样本文件(数据库配置等)  doc/dtd               在JBoss中使用的各种XML文件的DTD。  lib             

3682

实战神器指标解析 篇四:主力吸筹指标及其分析和使用说明

主力可能会进行多次吸筹,因此需要根据黄色趋势线来判断是否有转强的变化。一旦出现转强的迹象,这通常意味着吸筹已经接近尾声,即将进入拉升前期。此时可以介入进行建仓。该股票指标通过分析价格变动的方式,能够精确跟踪并标识主力的吸筹行为。当底部出现多根洋红色柱子时,这通常表示出现了主力吸筹的指示。这段代码主要用于分析股票的底部吸筹情况、趋势和涨跌情况。

生活在别处 6219

用java取得linux系统cpu、内存的实时信息

   很想写些话在最前面,但是真的不知道该说什么好。   很快的,2005年已经过去,这几天一直打算要在2005年内再写几篇的,可惜,每次都是忙的要死,要不就是有别的事情,一直推倒2005年的最后一天晚上。   本来已经决定了一定要完成的,都怪湖南卫视台的那个跨年度演唱会啊,竟然一直到12点以后才结束,我又不舍的离开,没办法。   可见我就是这样一个人,对于已定的计划总是有理由去拖延 :)   回

3528

【HALCON工业视觉应用探索】02. C# + Halcon铸件毛刺机器人打磨引导:点云处理从实验室到工业现场的全流程落地

摘要:铸件毛刺的自动化打磨是机械制造领域的重要难题,其随机性(高度0.1-3mm)和复杂工况导致人工打磨效率低(3分钟/件)、工伤率高。本文基于Halcon 24.11与.NET 6,构建了一套点云处理方案:通过线激光扫描仪获取三维点云,经预处理、毛刺检测、路径规划三大模块,引导机器人完成打磨。虚拟实验测试显示,对高度>1mm的毛刺检出率达100%,定位误差±0.08mm,但工业现场受油污、粉尘影响,性能降至检出率68-75%、处理时间>45秒。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1128

PCL 改进快速欧式聚类【2025最新版】

在FEC: Fast Euclidean Clustering for Point Cloud Segmentation一文的基础上对算法进行改进。博客长期更新,本文最近更新时间为:2025年9月16日。

点云侠的博客 2569

事务服务浅析

  事务是一个非常重要的编程概念,使用事务,可以很简单地构造出可靠稳定的应用程序,本文以许多具体的例子介绍了事务服务的概念和事务服务的具体实现。  本文共分两部分:第一部分从事务服务整体描述的角度简要介绍了事务服务产生的动机、事务服务的应用和事务服务的功能,其中以具体的例子解释了相关概念和事务服务涉及到的一些术语;第二部分以J2EE中的事务服务为例对事务的实现作简要的介绍。 第I部分 事务服务简述

3220

ICC2: 如何让CTS指定pin多长指定长度

这里create_clock不需要写到sdc里,在脚本里写就行,需要注意的是脚本里存在remove_clock_tree的话,add_buffer就要放remove_clock_tree后面,或者给guide buffer设don't touch也行。跟innovus的操作逻辑一样,如果要让tree上的某一点长长,要先考虑这个点后面的clock tree能正常balance。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?-5意味着长长5ns,相反正值意味着做短。

m0_61544122的博客 679

朝花夕拾 之 J2EE中的事务处理

事务简介  一般情况下,J2EE应用服务器支持JDBC事务、JTA(Java Transaction API)事务(一般由容器来进行管理)。通常,最好不要在程序中同时使用上述三种事务类型,比如在JTA事务中嵌套JDBC事务。第二方面,事务要在尽可能短的时间内完成,不要在不同方法中实现事务的使用(事务的嵌套要求更加良好的设计)。 JDBC事务  在JDBC中怎样将多个SQL语句组合成一个事务呢?在J

3057

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

成功解决事务嵌套

JTA事务的嵌套  由于前两篇帖子都是关于事务的讨论 (J2EE中的事务处理document.title="朝花夕拾 之 J2EE中的事务处理 - "+document.title 、 事务服务浅析),没有讨论到事务嵌套时的解决办法,这两天一直在琢磨,如何才能高效、灵活的解决事务的嵌套问题呢?  既然web容器可以判断当前方法是否处在事务中(JTA事务中提交java.sql.Connect

2924

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

软件开发的基础知识—软件版本号详解

  经常被不同的软件版本搞得一头雾水,alpha、beta、demo、professional、enterprise等等,这些版本信息到底都有哪些实际上的含义呢? ·测试版与演示版α(alpha)版  此版本表示该软件仅仅是一个初步完成品,通常只在软件开发者内部交流,也有很少一部分发布给专业测试人员。一般而言,该版本软件的bug较多,普通用户最好不要安装。 β(beta)版  该版本相对于α版已有

2452

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

开源Licenses简介

    作为一个软件开发者,不可避免的要与Open Source打交道,不管是因为你要选择使用一个开源产品还是你也要加入到开源当中。那么你可有想过为自己的开源项目设立一个合法的保障,保障自己以及使用者的权益,或者如果你使用一个开源产品的话,可有考虑过是否因为是开源就可以随意滥用?    很不幸的是,在中国,很多人甚至很多企业对License这个东西满不在乎(众所周知的事情),导致了中国软件业没有大

2378

用DOM/JDOM解析XML文件(2)

      很久没有发贴了,似乎已经彻底遗忘了这个角落。也许,只有在心情低落的时候才会想起,只有我的blog能陪我彻夜无眠。就像一只受伤的动物,总有一个秘密的藏身之处,与世隔绝,只有自己知道,在这个私人的角落,有梦想、有回忆、有失落、也有甜蜜……       上次的文章末尾提到要补一个同样功能的JDom版XML解析器,找了半天,似乎丢了,勉强看到一个,也不知道是不是当时的最终版本,乍一看上去,

2181

Ant超简单入门

Ant 是一个非常强大的工具,不学可不行哦;P一个超简单的example:目标:用ant工具完成一个java类的编译而且要运行看到结果,并且提示过程完成。过程:1、下载ant:到http://ant.apache.org网站下载最新版本的ant1.6.2,apache-ant-1.6.2-bin.zip,解压到d:/ant目录2、设置环境变量:ant_home=d:/antjava_home=D:

1974

struts超简单入门(二)

【hello.jsp】内容:              Hello !                  【struts-config.xml】内容:          "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">                      【web.xml】内容:http://java.sun.com

1969

朝花夕拾 之 用Java转化汉字为拼音

  根据字符串(比如:姓名)进行数据检索,相信很多人都做过。有没有一个好的办法可以进行快速的数据过虑呢?比如:按汉字拼音首字母,检索“夜未眠”我们只要输入“y”就可以了,是不是简单实用很多呢?!呵呵~  但是如何才能将字符转换为汉字拼音单个字母呢?下面的程序或许就可以解决这一问题……package com.javer.blog.common;import java.io.UnsupportedEn

1805
上一篇: struts超简单入门(二)
下一篇: struts超简单入门(四)
java008
博客等级 码龄23年 6粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值