Apache Struts

@Component注解的解析

ε祈祈猫儿з 提交于 2020-12-18 03:34:27
1、 @controller 控制器(注入服务) 用于标注控制层,相当于struts中的action层 2、 @service 服务(注入dao) 用于标注服务层,主要用来进行业务的逻辑处理 3、@repository(实现dao访问) 用于标注数据访问层,也可以说用于标注数据访问组件,即DAO组件. 4、 @component (把普通pojo实例化到spring容器中,相当于配置文件中的 <bean id="" class=""/> ) 泛指各种组件,就是说当我们的类不属于各种归类的时候(不属于@Controller、@Services等的时候),我们就可以使用@Component来标注这个类 下面写这个是引入component的扫描组件 <context:component-scan base-package=”com.mmnc”> 其中base-package为需要扫描的包(含所有子包) 1、@Service用于标注业务层组件 2、@Controller用于标注控制层组件(如struts中的action) 3、@Repository用于标注数据访问组件,即DAO组件. 4、@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。 @Service public class UserServiceImpl implements UserService

Struts2和springmvc的区别

久未见 提交于 2020-12-16 15:59:55
一、框架机制 1. spring MVC是通过servlet的方式进行拦截,在第一次请求发送时初始化,并随着容器关闭而销毁。 2. struts2是通过filter(拦截器)的方式进行拦截,在容器初始化时加载。晚于servlet销毁。 二、拦截机制 1.struts2 是类级别上的拦截,每次请求都会创建一个对应的action,一个url对应action中的一个方法,action类中的属性被所有方法共享,所以action在spring只能配置成多例的,因为是多例的,无法使用注解等方式开发。如果有两个请求同时访问action,则会发生线程并发,导致类属性值错乱,线程不安全。struts2通过类属性的方式接收请求参数,并通过get,set方法设置值,也可以通过模型驱动的方式注入值,action类需要继承ActionSupport实现ModelDrivenMO<T>接口。struts2使用的是值栈机制,将页面需要的值压入值栈,则可在页面上通过OGNL表达式获取。Struts2有自己的拦截机制,自定义Interceptor类,然后进行配置,配置文件非常大。 2.spring MVC是方法级别上的拦截,一个请求对应着一个controller中的方法,请求参数会封装到方法参数中,如果是对象类型的参数则需要在参数名前加上@RequestBody注解即可。controller类中的属性被方法所共享

Struts2和SpringMVC的区别

天大地大妈咪最大 提交于 2020-12-16 15:37:50
struts2和springmvc的区别 一、拦截机制的不同    Struts2是类级别的拦截 ,每次请求就会创建一个Action,和Spring整合时Struts2的ActionBean注入作用域是原型模式prototype,然后通过setter,getter吧request数据注入到属性。Struts2中,一个Action对应一个request,response上下文,在接收参数时,可以通过属性接收,这说明属性参数是让多个方法共享的。Struts2中Action的一个方法可以对应一个url,而其类属性却被所有方法共享,这也就无法用注解或其他方式标识其所属方法了,只能设计为多例。    SpringMVC是方法级别的拦截 ,一个方法对应一个Request上下文,所以方法直接基本上是独立的,独享request,response数据。而每个方法同时又何一个url对应,参数的传递是直接注入到方法中的,是方法所独有的。处理结果通过ModeMap返回给框架。在Spring整合时,SpringMVC的Controller Bean默认单例模式Singleton,所以默认对所有的请求,只会创建一个Controller,有应为没有共享的属性,所以是线程安全的,如果要改变默认的作用域,需要添加@Scope注解修改。   Struts2有自己的拦截Interceptor机制

【刨根问底】在Springboot中MVC的常用注解<上>

血红的双手。 提交于 2020-12-15 18:04:51
我们再实际开发过程中一般大致为三层:controller/service/dao或者repository。其中本文最要是分享controller层相关的注解使用。常用的注解有: @RestController @RequestMapping @PathVariable @RequestParam @RequestBody @RestController 先看源码: package org.springframework.web.bind.annotation; //...无关多余的省略 @Controller @ResponseBody public @interface RestController { @AliasFor(annotation = Controller.class) String value() default ""; } 认真点看,这个注解上有两个曾经使用过的注解,一个@Controller和@ResponseBody。另外网上有人说@RestController是springboot的注解,这里得说清楚一下,并不是这样滴。 跟springboot半毛钱关系都没有。回到前面,@Controller是标记这个类为controller类,@ResponseBody是将返回数据类型转换为json格式。所以在类上面加注解

在家学Java编程是不是很痛苦?那就快来看看我的这几个建议趴!

▼魔方 西西 提交于 2020-12-11 09:26:16
先介绍下Java语言在实际中到底是干什么的: Java语言很长的一段时间使用在web服务器中。就拿现在咱们做一个网站,我们能够看到的页面是客户端,而逻辑处理和数据存储则是在服务器端。也就是说Java不是页面,而是逻辑和数据存储。 便于大家理解举个例子比如说逻辑处理就相当于在某宝买的需要先登录,这个逻辑,而数据存储呢就是相当于用户的信息,我这样说也是为了让大家更好地了解Java和学习Java。 如果说,这几天在家里开始碰编程的你,已经感到被按在地上摩擦了,那么以下几件事记得要注意: 01先不要碰《Java编程思想》这样的大部头。 02不要把学习计划定得很宏大。 紧巴巴的时间,要会有长期的打算,更不能有一天就要把他学会的口气,你会发现在学这东西的时候就像霜打的茄子一样,会是不是焉了。 03不要听到什么框架好就去学什么。 有利于学好Java的知识点,也别去想struts2,spring,mybatis这些在你们看来非常高大上的框架,只要你们基础打扎实了,学这些就是毛毛雨。 04开始也不要去学数据库。 可以从mysql开始,差不多了就去了解oracle会很容易,开始也别直接用inux系统,就用windows。反正是什么简单用什么。 高端的技术对于初学者来说都是包袱,有毒的。 05不能一口吃个胖子。 不要就是遇到什么问题,都要把问题搞得很彻,应为Java的有些东西不是你现间断能够彻底理解的

韩顺平 spring 笔记 第一讲

自古美人都是妖i 提交于 2020-12-06 04:54:58
1、spring 是什么?   struts 是web框架(php/action/actionform)   hibernate是orm框架(对象和关系映射的框架,处于持久层)   spring是容器框架,用于配置bean并维护bean之间关系的框架   bean(是java中的任何一种对象 javabean/service/action/数据源/dao)roc(控制反转)di(依赖注入) 2、开发一个Spring项目   (1)引入Spring的开发包,最小配置Spring.jar,该包把常用的jar都包括,还要写日志包commons-logging.jar   创建spring的一个核心文件 applicationContext.xml(hibernate有核心文件hibernate.cfg.xml)   (2)struts核心文件struts.config.xml 该文件一般就在src目录下   (3)在容器文件中配置bean(service/dao/daomain/action/数据源)     <!--bean元素的作用是,当我们的spring框架加载时候,spring就会自动的创建一个bean对象,并放入内存 相当于UserService userService=new UserService()-->   <bean id="userService" class=

SpringBoot 拦截器

|▌冷眼眸甩不掉的悲伤 提交于 2020-12-05 02:25:40
web拦截器作用有权限控制,日志记录等等。SpringBoot 提供 HandlerInterceptor 方便我们开发; 我们定义一个自定义拦截器 实现 HandlerInterceptor 接口,实现三个方法, preHandle 是请求处理之前调用, postHandle 是请求处理之后并且视图渲染之前调用, afterCompletion 请求结束之后并且视图渲染之后调用; package cn.smart4j .interceptor; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; /** * 自定义拦截器 * @author Administrator * */ public class MyInterceptor implements HandlerInterceptor{ @Override public boolean preHandle(HttpServletRequest request,

国产服务器的安全监控之法

我只是一个虾纸丫 提交于 2020-11-29 08:37:18
从1993年中国第一台服务器诞生至今,国产服务器发展已将近二十载。二十载潮起潮落,国产服务器已涌现出联想、曙光、浪潮、华为、宝德等一批民族品牌。随之应运而生的问题是:如何对国产服务器进行监控,来全面掌握国产服务器的运行状况和趋势? 购买、使用国产服务器很简单,但服务器正式上线后,其数据流动、连接数、网络流量、系统负荷等各方面都会增加,安全问题也随之而来,再考虑到日志、数据库的重要性,每一位管理员都想随时随地的把握服务器的运行状态。系统负载、cpu使用率、内存占用、磁盘空间、网络流量、端口、进程、apache或tomcat的连接数、mysql的运行状态这些都是管理员想要监控到的属性,要了解服务器每时每刻的整体运行状态,单靠几个系统自带的性能监测命令是很难实现的。因此,管理人员需要一套服务器监控软件来实现针对于国产服务器的监控。 智和网管平台 是国内首家国产化网络管理平台,北京智和信通公司经过多年的探索,现以100%支持国产化解决方案,平台主要基于SNMP网络协议对服务器进行运维监控,当然如果是其他协议的设备也可以进行协议扩展。 智和网管平台采用了J2SE、XML、Web Service、Web、HTML5、JavaScript、Struts、Spring、Hibernate、SNMP、HTTP、JDBC、Swing、RMI、O-M Mapping、O-R Mapping、Muti

webuploader+文件夹上传

早过忘川 提交于 2020-11-26 09:37:59
在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现。 先说下要求: PC 端全平台支持,要求支持Windows,Mac,Linux 支持所有浏览器。 支持文件批量上传 支持文件夹上传,且要求在服务端保留层级结构。文件夹数量要求支持到10W。 支持大文件断点续传,要求刷新浏览器,重启浏览器,重启电脑后仍然能够继续上传。文件大小要求能够支持到50个G。 支持自动加载本地文件,要求能够自动加载指定的本地文件。 支持文件批量下载,要求不要在服务器打包。因为50G的文件在服务器打包时间比较长。 支持文件夹下载,要求不要在服务器打包,下载到本地后要求保留层级结构 文件列表面板支持路径导航,新建文件夹 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用Servlet获取上传文件的输入流然后再解析里面的请求参数是比较麻烦,所以一般选择采用apache的开源工具common-fileupload这个文件上传组件。这个common-fileupload上传组件的jar包可以去apache官网上面下载,也可以在struts的lib文件夹下面找到,struts上传的功能就是基于这个实现的。common-fileupload是依赖于common-io这个包的,所以还需要下载这个包。 一、开发环境搭建

转载——java学习步骤

半城伤御伤魂 提交于 2020-11-26 08:41:33
第一步:首先要做好学习前的准备工作:java语言一般用于大型的服务器程序开发,所有有必要了解如下内容:Unix开发环境Unix系统原理、Unix开发环境、Unix常用命令。熟练掌握Unix常用命令;熟练构建下的Java开发环境。   第二步:然后进入Java语言基础的学习阶段,学习任何一门语言都要打好基础,曾经学过高级程序语言(C,C++等)来说,java语言基础有自己的特点,但是基本规律都是相通的,如:算法基础、常用数据结构、企业编程规范。掌握常见的数据结构和实用算法;培养良好的企业级编程习惯。   第三步:掌握java语言基础后接下来就是面向对象语言的共性:Java面向对象面向对象特性:封装、继承、多态等。掌握面向对象的基本原则以及在编程实践中的意义;掌握Java面向对象编程基本实现原理。   第四步:JDK核心API语言核心包、异常处理、常用工具包、集合框架。熟练掌握JDK核心API编程技术;理解API设计原则;具备熟练的阅读API文档的能力;JavaSE核心异常处理、多线程基础、IO系统、网络编程、Swing组件、JVM性能调优(JVM内存结构剖析、GC分析及调优、JVM内存参数优化)、Java泛型、JDK新特性。熟练掌握JavaSE核心内容,特别是IO和多线程;初步具备面向对象设计和编程的能力;掌握基本的JVM优化策略。XML XML语法、XML解析(SAX、DOM)