Java EE

@Controller和@RestController的区别?

我怕爱的太早我们不能终老 提交于 2020-10-02 09:25:20
知识点: @RestController注解相当于@ResponseBody + @Controller合在一起的作用。 1) 如果只是使用@RestController注解Controller,则Controller中的方法无法返回jsp页面,或者html,配置的视图解析器 InternalResourceViewResolver不起作用,返回的内容就是Return 里的内容。 2) 如果需要返回到指定页面,则需要用 @Controller配合视图解析器InternalResourceViewResolver才行。 如果需要返回JSON,XML或自定义mediaType内容到页面,则需要在对应的方法上加上@ResponseBody注解。 例如: 1 . 使用@Controller 注解,在对应的方法上,视图解析器可以解析return 的jsp,html页面,并且跳转到相应页面 若返回json等内容到页面,则需要加@ResponseBody注解 @CrossOrigin @Controller public class FileUploadController { //跳转到上传文件的页面 @RequestMapping(value= "/ gouploadimg ", method = RequestMethod. GET) public String goUploadImg()

ava web基础面试题-动力节点

本小妞迷上赌 提交于 2020-10-02 07:46:18
jsp和servlet有什么区别?   jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代码,Web容器将JSP的代码编译成JVM能够识别的java类)   jsp更擅长表现于页面显示,servlet更擅长于逻辑控制。   Servlet中没有内置对象,Jsp中的内置对象都是必须通过HttpServletRequest对象,HttpServletResponse对象以及HttpServlet对象得到。   Jsp是Servlet的一种简化,使用Jsp只需要完成程序员需要输出到客户端的内容,Jsp中的Java脚本如何镶嵌到一个类中,由Jsp容器完成。而Servlet则是个完整的Java类,这个类的Service方法用于生成对客户端的响应。   jsp有哪些内置对象?作用分别是什么?   JSP有9个内置对象:   request:封装客户端的请求,其中包含来自GET或POST请求的参数;   response:封装服务器对客户端的响应;   pageContext:通过该对象可以获取其他对象;   session:封装用户会话的对象;   application:封装服务器运行环境的对象;   out:输出服务器响应的输出流对象;   config:Web应用的配置对象;   page:JSP页面本身

MyBatis3整合Spring3、SpringMVC3

本秂侑毒 提交于 2020-10-02 06:16:11
开发环境: System:Windows WebBrowser:IE6+、Firefox3+ JavaEE Server:tomcat5.0.2.8、tomcat6 IDE:eclipse、MyEclipse 8 Database:MySQL 开发依赖库: JavaEE5、Spring 3.0.5、Mybatis 3.0.4、myBatis-spring-1.0、junit4.8.2 Email:hoojo_@126.com Blog: http://blog.csdn.net/IBM_hoojo http://hoojo.cnblogs.com/ 1、 首先新建一个WebProject 命名为MyBatisForSpring,新建项目时,使用JavaEE5的lib库。然后手动添加需要的jar包,所需jar包如下: 2、 添加spring的监听及springMVC的核心Servlet,web.xml内容,内容如下: < -- 加载Spring容器配置 -- > < listener > < listener-class > org.springframework.web.context.ContextLoaderListener listener-class > listener > < -- 设置Spring容器加载配置文件路径 -- > < context-param > <

有内味了!阿里内部Tomcat高阶调优笔记成功刷新了我的认知

不想你离开。 提交于 2020-10-02 06:05:27
Tomcat Tomcat服务器是一个开源的轻量级Web应用服务器,在中小型系统和并发量小的场合下被普遍使用,是 开发和调试Servlet、JSP 程序的首选 。 除此之外,Apache Tomcat还可以很容易与Apache Http Server.Nginx等知名的Web服务器集成,以实现负载均衡和集群化部署。现在已经被广泛用于开发、测试环境,甚至大规模、高并发的互联网产品部署。 目前用Tomcat的人以及对Tomcat 架构感兴趣的技术人员越来越多。小编最开始接触Tomcat的时候连它的两大组件Connector与Container都搞不清楚( 是菜了点,勿喷 )。 目前讲Tomcat的资料五花八门,但真正真实地、系统性地讲解到Tomcat的最新架构的资料却是少之又少,而下面这份Alibaba技术官在Github上甩出的Tomcat内部手册却真正刷新了我的认知。 它涉及了Tomcat的代码设计,却不仅仅是围绕代码进行分析。它涉及了Tomcat的使用方式,却不仅仅是对其配置方式进行简单说明。 对于每个技术点相关的规范、方案的考量及隐含问题、如何使用等,点进行了系统的阐述。 这份文档主要从三个方面来解析Tomcat 基本设计 架构及工作原理 各个模块的特性及使用方式 章节划分如下,大家可以根据自己的背景和兴趣挑选相应的章节进行学习。 由于这份文档将近400页

2小时知乎疯转2.6W次,最终被所有大V封杀!

蓝咒 提交于 2020-10-01 19:13:49
最近又赶上8月跳槽的高峰期(金九银十,招聘旺季),好多读者都问我要有没有最新面试题,找华为朋友整理一份内部资料 《第6版:互联网大厂面试题》 并 分类 4 份 PDF , 累计 926 页! 整个资料包,包括 Spring、Spring Boot/Cloud、Dubbo、JVM、集合、多线程、JPA、MyBatis、MySQL、大数据、Nginx、Git、Docker、GitHub、Servlet、JavaWeb、IDEA、Redis、算法 、面试题 等几乎覆盖了 Java 基础和 阿里巴巴等大厂面试题等、等技术栈! 据说已经有小伙伴通过这套资料, 成功的入职了蚂蚁金服、字节跳动等大厂 。 而且,这些资料不是扫描版的,里面的文字都可以直接复制,非常便于我们学习: 如果你想获得完整PDF可以通过以下方式获得 面试大全怎么获取: 1. 关注下方公众号 2. 在下方公众号后台回复 【555】 即可。 ????长按上方二维码 2 秒 回复「555」即可获取资料 同时,还有一份珍贵的 Linux 基础资料免费共享给大家! 不论是高级开发和运维工程师,Linux 命令熟练程度,决定了你的职场上限! 资料介绍 这份资料非常全面且详细,从 Linux 常用命令 到 Linux 常用操作 ,再到 网络管理 、 性能优化 ,几乎覆盖了 Linux 基础学习的方方面面,非常适合初学者入门!

JavaWeb中实现文件上传

给你一囗甜甜゛ 提交于 2020-10-01 15:06:58
上回我们说了下文件下载的方式有哪些,这次我们从不同的环境下简单来说说文件上传的方式有哪些。 文件上传的方式 Servlet2.5 方式 Servlet3.0 方式 SpringMVC 方式 案例实操 Servlet2.5 方式 文件上传涉及到前台页面的编写和后台服务器端代码的编写,前台发送文件,后台接收并保存文件,这才是一个完整的文件上传。 1) 前台页面 在做文件上传的时候,会有一个上传文件的界面,首先我们需要一个表单,并且表单的请求方式为 POST ;其次我们的 form 表单的 enctype 必须设为”multipart/form-data”即 enctype="multipart/form-data" 意思是设置表单的 MIME 编码。默认情况下这个编码格式是 ”application/x-www-form-urlencoded”,不能用于文件上传;只有使用了 multipart/form-data 才能完整地传递文件数据。 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>上传文件</title> </head> <body> <form action="uploadServlet" method="post" enctype="multipart/form-data"> 文件:<input type

请求转发与重定向&JSP&EL表达式&JSTL&基于Servlet3.0 的文件上传和下载&XSS过滤&过滤器&监听器

喜夏-厌秋 提交于 2020-10-01 13:52:31
目录:请求转发与重定向&JSP&EL表达式&JSTL&XSS过滤&基于Servlet3.0 的文件上传和下载&过滤器&监听器 请求转发与重定向 请求转发(forward) 请求转发是由HttpServletReqeust发起的跳转,跳转的同时可以将请求范围之内的信息传递到下一个Servlet中, 请求转发是服务端跳转 ,请求转发对于客户端来说只发送了一次请求,并且地址栏只会显示第一次请求的地址。 request . setAttribute ( key , value ) ; request . getRequestDispartcher ( "目标资源" ) . forward ( request , response ) ; 注意: 对于请求转发来说,目标资源一般为servlet或jsp;不会使用静态页面 重定向(redirect) ​ 重定向是由HttpServletResponse发起的跳转,重定向属于客户端条跳转,因此存储在request范围之类数据无法传递到下一个servlet中,重定向发送了多次请求,并且请求均为客户端发起,地址栏中显示是最后一次请求的地址 response . sendRedirect ( "目标资源" ) 关于请求转发和重定向的使用场景: 如果跳转到下一个servlet时需要传递数据则优先考虑使用请求转发(forward),反之则使用重定向

五份王者文档+思维导图,全面解析SpringSecurity

…衆ロ難τιáo~ 提交于 2020-10-01 12:51:21
spring全家桶,一个和程序员息息相关的家族,每一个家族成员都是程序员好朋友,而作为其中安全认证的Spring Security。更是被程序员独宠。 Spring Security是一个能够为基于Spring的企业应用系统提供描述性安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC(依赖注入,也称控制反转)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。 而关于这个程序员的宠儿,前段时间,我从朋友那里整到了5份文档+一份思维导图,对于这份资料,我给两个字评价:膜拜!王者晋级,就在眼前,不相信的可以跟着一起来看看! 声明: Spring Security王者晋级文档 以及相关 梳理思维脑图 等由于篇幅等的原因,大部分以截图展示,所以可提供源文件给每位感兴趣的小伙伴,直接来私信我口令【王者】即可回复100%免费分享下载,一起晋级王者! Spring Security观后感——手绘思维脑(供参考) 基本运行原理 自定义认证逻辑 个性化认证流程 这份思维导图,希望各位拿到后可以根据我的代码,自己实现验证一下,纸上得来终觉浅,绝知此事要躬行嘛 Spring Security王者晋级文档-Spring Security 4.2内部资料 Spring

第 2-2 课:Spring Boot 项目中使用 JSP

馋奶兔 提交于 2020-10-01 12:43:24
JSP(Java Server Pages,Java 服务器页面)是一个简化的 Servlet 设计,它是由 Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP 技术类似 ASP 技术,它是在传统的网页 HTML(标准通用标记语言的子集)文件(.html)中插入 Java 程序段(Scriptlet)和 JSP 标记(tag),从而形成 JSP 文件,后缀名为(*.jsp)。用 JSP 开发的 Web 应用是跨平台的,既能在 Linux 下运行,也能在其他操作系统上运行。 JSP 其实就是 Java 为了支持 Web 开发而推出的类前端 Servlet,可以在 JSP 中写 Java 或者 Html 语法等,后端根据 JSP 语法渲染后返回到前端显示,在没有模板引擎之前 JSP 是 Java 程序员开发人员的首选,到现在仍然有很多公司使用 JSP 开发后台管理系统。本课内容将介绍如何在 Spring Boot 项目中使用 JSP。 快速上手 项目结构 首先看一下添加 JSP 支持后的项目结构: spring-boot-jsp +-src +- main +- java +- resources +- webapp +- WEB-INF +- jsp +- welcome.jsp +- test +-pom.xml 对比以前的项目结构

Springboot 添加druid监控

情到浓时终转凉″ 提交于 2020-10-01 11:21:04
pom <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version> 1.1 . 9 </version> </dependency> yml spring: datasource: type: com.alibaba.druid.pool.DruidDataSource driver - class - name: com.mysql.cj.jdbc.Driver url: jdbc:mysql: // localhost:3306/shiroDemo?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8 username: root password: root initialSize: 5 # 配置Druid的其他参数,以下配置必须增加一个配置文件才能有效 # 初始化大小,最小,最大 minIdle: 5 maxActive: 20 # 获取连接等待超时的时间 maxWait: 60000 # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 timeBetweenEvictionRunsMillis: 60000 # 配置一个连接在池中最小生存的时间,单位是毫秒