servlet

sprigmvc前奏-Servlet之idea学习

戏子无情 提交于 2020-03-01 19:35:45
首先建立一个简单的meaven项目 导入依赖 <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.1.9.RELEASE</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.2</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId>

Shiro -- (七) Web 集成

折月煮酒 提交于 2020-03-01 16:48:01
简介:   Shiro 提供了与 Web 集成的支持,其通过一个 ShiroFilter 入口来拦截需要安全控制的 URL,然后进行相应的控制,ShiroFilter 类似于如 Strut2/SpringMVC 这种 web 框架的前端控制器,其是安全控制的入口点,其负责读取配置(如 ini 配置文件),然后判断 URL 是否需要登录 / 权限等工作。 Url 匹配方式   ? 匹配一个字符 /admin? 可以匹配/admin1 或者/admin2 但是不能匹配/admin12 或者/admin   * 匹配零个或者一个或者多个字符 /admin* 可以匹配 /admin 或者/admin1 或者 /admin12 但是不能匹配/admin/abc   ** 匹配零个或者多个路径 /admin/** 可以匹配/admin /admin/a 或者/admin/a/b pom.xml <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.0.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId

JSP&Servlet路径问题

六眼飞鱼酱① 提交于 2020-03-01 16:34:57
如果带WebRoot,那么js、css、img都应该放到WebRoot目录下,否则访问会有问题。千万不要放在WEB-INF下,因为WEB-INF下的内容只有服务器转发可以访问到,出于安全考虑。 如果不带有WebRoot目录,那么可以放在WEB-INF外面(建立的文件夹中)。 一、JSP、Servlet中的相对路径 a) 在 JSP 中 “ / ”代表站点(服务器)根目录 http://127.0.0.1/ b) 在 Servlet 中 “ / ”代表 Web 应用的根目录 http://127.0.0.1/JSP_Servlet_Path/ request.getRequestDispatcher("/a/a.jsp"). forward (request, response); 相对路径/a/a.jsp中/相对于web应用的根目录,所以相当于请求跳转到绝对路径 http://127.0.0.1/JSP_Servlet_Path/a/a.jsp response. sendRedirect ("/JSP_Servlet_Path/b/b.jsp"); 因为重定向中的方法是传递给浏览器,用于重新发送请求的,而在浏览器端“/”代表,相对于站点根目录 http://127.0.0.1/ ,所以这里必须要加上/JSP_Servlet_Path,这样浏览器重新请求的地址为: http:/

异步Servlet 特性

左心房为你撑大大i 提交于 2020-03-01 14:25:42
异步Servlet 本篇主要讲解 如何使用 异步Servlet的处理请求,并且演示 同步Servlet和异步Servlet的区别,以及异步Servlet带来哪些好处 。  1.需要解决的问题 1.为什么使用异步Servlet? 同步Servlet阻塞了什么 2.异步Servlet编写流程  2.同步Servlet  同步Servlet是指 tomcat线程去执行 servlet方法后,会一直被阻塞,直到业务代码执行完毕 ,这样tomcat 吞吐量就有限  直接看代码,应该都很熟悉 同步Servlet的开发吧, /** * 同步Servlet 样例 * [@author](https://my.oschina.net/arthor) johnny */ @WebServlet(name = "Sync-SyncServlet", urlPatterns = "/sync") [@Slf4j](https://my.oschina.net/slf4j) public class SyncServlet extends HttpServlet { [@Override](https://my.oschina.net/u/1162528) protected void doPost(HttpServletRequest request, HttpServletResponse

Servlet

拈花ヽ惹草 提交于 2020-03-01 12:31:22
Servlet 概述 servlet是使用java语言编写的运行在服务器端的程序。servlet主要用来处理客户端传来的Http请求,并返回一个响应。它能够处理的请求有doGet()和doPost()等方法。 web.xml 元素用于注册Servlet,它的两个子元素,分别用来指定Servlet名称以及完整类名。元素用来映射servlet对外访问的虚拟路径,它的子元素的值必须和元素中相同,子元素则是用于指定访问该servlet的虚拟路径,该路径以 “/” 开头,代表当前web应用程序的根目录。 servlet 生命周期 servlet request 常用方法 request.getRequestURL() : 浏览器发出请求时的完整URL,包括协议 主机名 端口(如果有)" request.getRequestURI() : 浏览器发出请求的资源名部分,去掉了协议和主机名" request.getQueryString() : 请求行中的参数部分,只能显示以get方式发出的参数,post方式的看不到 request.getRemoteAddr() : 浏览器所处于的客户机的IP地址 request.getRemoteHost() : 浏览器所处于的客户机的主机名 request.getRemotePort() : 浏览器所处于的客户机使用的网络端口 request

Servlet知识大全

元气小坏坏 提交于 2020-03-01 10:41:01
什么是servlet 概念:Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。 定位:Java Servlet用Java编写的服务器端程序(web application)。 作用:其主要功能在于交互式地浏览和修改数据,生成动态Web内容。 理解:狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,我们将Servlet理解为后者。 Servlet标准 API核心包 Servlet API有以下3个Java包: javax.servlet(重点):其中包含定义Servlet和Servlet容器之间的类和接口 javax.servlet.http(重点):其中包含定义HTTP Servlet和Servlet容器之间的类和接口 javax.servlet.annotation:其中包含标注Servlet,Filter,Listener的注解 Servlet常见方法与生命周期 Servlet 通过调用 init () 方法进行初始化。 Servlet 调用 service() 方法来处理客户端的请求。 Servlet 通过调用 destroy() 方法终止(结束)。 最后

idea传入HttpServletRequest时显示cannot resolve symbol的问题

孤街浪徒 提交于 2020-03-01 03:25:28
在使用idea ide的时候,在控制器中我需要获取HttpServletRequest这个request对象,编译时出现cannot resolve symbol的问题,然后网上查找资料,这里记录一下 具体步骤如下: 1,检查tomcat是否配置servlet-api.jar包,具体如下 files->setting 如果这个配置好了,开始下一步 2,右键项目->open module setting,然后如下图所示 3,这两步完成之后,就是配置的环境基本配置好了,现在继续试试,如果仍是cannot resolve sysble这样的错误,其实tomcat下有,但是在Java build path把他加载过来,还是报这个错误,所以我们直接在pom.xml里面加入这个jar包即可,加入的代码如下: <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> 那么,这个时候就出现这样的问题了,就是tomcat的servlet-api和这个版本不一致,可能出现别的问题,那么怎么办呢? 有一个很暴力的办法: 不是缺少servlet-api.jar包么?哪里缺少补哪里

spring安全框架Security(一)

老子叫甜甜 提交于 2020-02-29 18:08:39
现在很多企业和开发团队都使用了SSH2(Struts 2 +Spring 2.5 +Hibernate)框架来进行开发, 我们或许已经习惯了强大的Spring Framework 全局配置管理,不可否认,Sping是一个很优秀的开源框架,但是由于Spring3.0版本后强大的的注解式bean的诞生,Spring MVC框架这匹黑马正悄然杀起,但今天Spring MVC不是主角,今天我和大家分享一个同样隶属于 SpringSource 的安全框架—— Spring Security , 下面的基于Spring MVC给大家分享一下 Spring Security 的使用。 虽然对它的接触时间不长,参考了一些网上朋友的做法,但也按照我的理解把这个框架介绍介绍,不是很专业,还请大家不要介意 。 我们知道,Web 应用的安全性包括用户认证(Authentication)和用户授权(Authorization)两个部分。用户认证指的是验证某个用户是否为系统中的合法主体,也就是说用户能否访问该系统。用户授权指的是验证某个用户是否有权限执行某个操作。在一个系统中,不同用户所具有的权限是不同的。比如对一个资源来说,有的用户只能进行读取,而有的用户可以进行修改。一般来说,系统会为不同的用户分配不同的角色,而每个角色则对应一系列的权限。 首先,我们看web.xml Java代码 <?xml

Spring 3.x MVC 入门2 -- 通过示例初步感受spring mvc

て烟熏妆下的殇ゞ 提交于 2020-02-29 16:40:45
开始Spring MVC 建立一个web project,并导入spring 3.x的jar包 配置web.xml 根据上面的spring mvc流程图,我们知道DispatcherServlet是spring mvc 的一个前端控制器,所以我们当然要去配置它,以便于将请求转给DispatcherServlet处理 <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <!-- 如果配置文件位于classpath下,可以这么写: classpath:dispatcher.xml --> <param-value>/WEB-INF/dispatcher.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>/</url

Web开发模式详解

[亡魂溺海] 提交于 2020-02-29 11:04:47
前言:这两天总结了一些Servlet和JSP里面的知识,写了几篇博客,果然有种“温故而知新”的感觉,学完这些,继续前行,开始整合框架里的知识,框架虽好,可底层原理该掌握的也得掌握,防止以后做项目的时候再掉坑,坑多了,也是很烦人的,为了以后工作的时候不加班,那就在大学暑假加加班吧。 Web开发模式背景 Sun公司推出JSP技术后,同时也推荐了两种Web应用程序 的开发模式,一种是JSP+JavaBean模式,一种是Servlet+JSP+JavaBean模式,这两种模式的学习刚好和之前写过的博客相对应,真是无巧不成书(其实是我故意的,皮一下,嘿嘿)。 Web开发模式解答 JSP+JavaBean模式 JSP+JavaBean适合开发业务逻辑不太复杂的Web程序,这种模式下JavaBean用来封装和处理数据,JSP主要是处理用户的请求,用来显示数据。 Servlet+JSP+JavaBean模式 Servlet+JSP+JavaBean模式被称为(MVC)模式,这种模式适合开发复杂的Web程序,这种模式下Servlet主要用来处理用户请求,JSP负责数据显示,JavaBean负责数据封装和处理,这种模式程序各个模块之间的层次非常清晰,Web开发推荐采用这种模式。 Web开发模式分析 其实Sun公司最早推出的一个动态的网页开发技术是Servlet,但是Servlet本身是有一些缺陷的