struts2

Sturts2--入门

∥☆過路亽.° 提交于 2020-03-10 21:27:05
Sturts2概述   Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。    优势: 自动封装参数,参数校验,结果的处理(转发|重定向),国际化,显示等待页面,表单的防止重复提交。        IDEA MAVEN项目搭建 https://www.cnblogs.com/zhangyongheng/p/11647600.html 来源: https://www.cnblogs.com/jasonjson/p/12458212.html

struts2单个文件上传

不问归期 提交于 2020-03-10 20:26:35
struts2单个文件上传 form表单: <form action="<%=basePath%>upload!upload.action" enctype="multipart/form-data" method="post"> 选择文件<input type="file" name="file" /> <input type="submit" value="上传文件" /> </form> action类: private File file; private String fileFileName; private String uploadfileContentType; public String upload() throws IOException { String realpath = ServletActionContext.getServletContext().getRealPath( "/upload"); //获得路径 if (file != null) { File savefile = new File(new File(realpath), fileFileName);//获得文件地址 if (!savefile.getParentFile().exists()) //判断文件是否存在 savefile.getParentFile().mkdirs(

(一)Struts2入门——HelloWorld

▼魔方 西西 提交于 2020-03-08 21:38:37
一、Struts2 概述 Struts2 是一个用来开发 MVC 应用程序的框架。 它提供了 Web 应用程序开发过程中的一些常见问题的解决方案: 对来自用户的输入数据进行合法性验证 统一的布局 可扩展性 国际化和本地化 支持 Ajax 表单的重复提交 文件的上传下载 …… Struts2 VS Struts1 在体系结构方面更优秀: 类更少, 更高效: 在 Struts2 中无需使用 “ActionForm” 来封装请求参数. 扩展更容易: Struts2 通过拦截器完成了框架的大部分工作. 在 Struts2 中插入一个拦截器对象相当简便易行. 更容易测试: 即使不使用浏览器也可以对基于 Struts2 的应用进行测试 从 Struts1 升级到 Struts2 Struts2 从本质上讲已不是从 Struts1 扩展而来的, 说它是一个换了品牌标签的 WebWork 更合适 从 Struts1 升级到 Struts2: Struts1 里使用 ActionServlet 作为控制器; Struts2 使用了一个过滤器作为控制器 Struts1 中每个 HTML 表单都对应一个 ActionForm 实例. Struts2 中, HTML 表单将被直接映射到一个 POJO. Struts1 的验证逻辑编写在 ActionForm 中; Struts2 中的验证逻辑编写在

struts2第一次使用+拦截器

时光毁灭记忆、已成空白 提交于 2020-03-08 19:08:25
web.xml: <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> 在com.strutsstruts: package com.strutsstruts; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; public class MymyAction extends ActionSupport{ public String name; public String pwd; public String getName(){ return name; } public String getPwd(){ return pwd; } public void setName(String name){

struts2入门

霸气de小男生 提交于 2020-03-08 04:22:46
文章目录 struts2介绍 概念 使用优势 封装好的功能点 sturts1和struts2 struts2搭建 下载地址 新建web项目 导入jar包 书写Action类 新建xml并导入约束 导入约束 新建hello.jsp 将struts2核心过滤器配置到web.xml[最重要的一步 项目中没自动创建xml解决方法 给eclipse配置tomcat 运行结果 struts2访问流程 struts2架构 AOP编程思想 应用于servlet 应用于拦截器Interceptor 配置详解 struts.xml详解 struts2常量配置 struts2默认常量配置位置 修改struts2常量配置(加载顺序为序号顺序 方式一:在struts.xml中修改(推荐方法) 方式二:新建struts.properties修改 方式三:在web.xml中修改 常量说明 struts2配置的进阶 动态方法调用 方式一:配置动态方法调用常量 方式二:通配符方式(推荐方法 struts2的默认配置 action的创建方式 方式一:创建一个类,可以是POJO 方式二:实现一个接口Action 方式三:继承一个类ActionSupport(最常用) struts2介绍 概念 前端框架,用于替代servlet处理访问服务器的请求。 使用优势 来自于https://www.w3cschool.cn

[摘]Struts2 文件上传 之 文件类型 allowedTypes(包括office200...

两盒软妹~` 提交于 2020-03-07 17:18:29
Html代码 '.a' : 'application/octet-stream', '.ai' : 'application/postscript', '.aif' : 'audio/x-aiff', '.aifc' : 'audio/x-aiff', '.aiff' : 'audio/x-aiff', '.au' : 'audio/basic', '.avi' : 'video/x-msvideo', '.bat' : 'text/plain', '.bcpio' : 'application/x-bcpio', '.bin' : 'application/octet-stream', '.bmp' : 'image/x-ms-bmp', '.c' : 'text/plain', # Duplicates :( '.cdf' : 'application/x-cdf', '.cdf' : 'application/x-netcdf', '.cpio' : 'application/x-cpio', '.csh' : 'application/x-csh', '.css' : 'text/css', '.dll' : 'application/octet-stream', '.doc' : 'application/msword', '.dot' : 'application

hibernate 之 hibernate整合struts2

和自甴很熟 提交于 2020-03-06 22:05:44
步骤如下: 1. 新建web项目。 2. 导入jar包,注意去掉重复包,如果使用的是JavaEE6.0,并且通过main方法测试,去掉 weld-osgi-bundle.jar antlr-2.7.7.jar asm-3.3.jar asm-commons-3.3.jar asm-tree-3.3.jar commons-fileupload-1.2.2.jar commons-io-2.0.1.jar commons-lang3-3.1.jar dom4j-1.6.1.jar freemarker-2.3.19.jar hibernate-commons-annotations-4.0.5.Final.jar hibernate-core-4.3.10.Final.jar hibernate-jpa-2.1-api-1.0.0.Final.jar jandex-1.1.0.Final.jar javassist-3.18.1-GA.jar jboss-logging-3.1.3.GA.jar jboss-logging-annotations-1.2.0.Beta1.jar jboss-transaction-api_1.2_spec-1.0.0.Final.jar mysql-connector-java-5.1.20-bin.jar ognl-3.0.5.jar

Struts2的声明式异常处理

情到浓时终转凉″ 提交于 2020-03-06 13:45:17
在struts2应用程序中你还在使用try catch语句来捕获异常么?如果是这样的,那你OUT啦!struts2支持声明式异常处理,可以再Action中直接抛出异常而交给struts2来处理,当然需要我们在xml文件中配置,由于抛出同样的异常的处理方法通常都一样,所以如果能在xml中配置全局异常,将会使得开发便捷性大大提高。 以前的异常捕获可能是这样的: ? /** * 执行更新 * * @return */ public String update() { Article article = new Article(); article.setContent(content); article.setTitle(title); article.setId(id); try { articleService.update(article); return SUCCESS; } catch (SQLException e) { e.printStackTrace(); return ERROR; } catch (InvalidInputException e) { e.printStackTrace(); System.out.println( "输入非法" ); return ERROR; } } 这种方式是完全的手动处理异常,一来不够简洁明快,而且还不容易维护

Struts2动态方法调用

删除回忆录丶 提交于 2020-03-06 00:44:27
动态方法调用 在Struts2中动态方法调用有三种方式,动态方法调用就是为了解决一个Action对应多个请求的处理,以免Action太多 第一种方式:指定method属性 这种方式我们前面已经用到过,类似下面的配置就可以实现 <action name="chainAction" class="chapter2.action.Chapter2Action" method="chainAction"> <result name="chainAction" type="chain">redirect</result> </action> <action name="plainText" class="chapter2.action.Chapter2Action" method="plainText"> <result name="plainText" type="plainText">/WEB-INF/JspPage/chapter2/plaintext.jsp</result> </action> 第二种方式:感叹号方式(需要开启),官网不推荐使用这种方式,建议大家不要使用. 用这种方式需要先开启一个开关 <constant name="struts.enable.DynamicMethodInvocation" value="true" /> 将此常量设置为true,这种方式才能使用

Maven二

跟風遠走 提交于 2020-03-05 15:22:16
1 回顾 1.1 M aven的好处 节省空间 对jar包做了统一管理 依赖管理 一键构建 可跨平台 应用在大型项目可提高开发效率 1.2 M aven安装部署配置 1.3 M aven的仓库 本地仓库 远程仓库(私服) 中央仓库 1.4 添加依赖 从网络上搜索 在本地重建索引,以索引的方式搜索 1.5 项目构建 1.6 依赖范围 Compile struts2 框架jar Provided jsp-api.jar 重点 Runtime 数据库驱动包 Test junit.jar 1.7 总结 <modelVersion> 坐标 GAV <groupId>cn.itcast</groupId> <artifactId>ssh</artifactId> <version>0.0.1-SNAPSHOT</version> Packaging 打包方式 Jar war pom <dependencies> <dependency> <build> 里面放的是插件 <plugins> <plugin> 2 整合ssh框架 2.1 依赖传递 只添加了一个struts2-core依赖,发现项目中出现了很多jar, 这种情况 叫 依赖传递 2.2 依赖版本冲突的解决 1、 第一声明优先原则 <dependencies> <!-- spring-beans-4.2.4 -->