servlet

MVC 中url-pattern配置为"/"和"/*"的区别

匿名 (未验证) 提交于 2019-12-03 00:40:02
首先大家都知道"/*"可以 匹配所有url,包括带扩展名的 ,一般只用在 过滤器 上。 而"/"很多人理解成不能拦截带扩展名的,这种理解是错误的!它其实也能 拦截“.js”,“.css”,".png"等静态资源的访问 。 看官方文档可知,它是tomcat的默认servlet,当其他的url-pattern匹配不上时都会走这个servlet。它除了能 够处理静态资源 还能够 处理HTTP缓存请求 , 媒体(音频/视频)数据流 和 文件下载简历 。所以如果我们的项目中配置了"/",会覆盖掉tomcat中的default servlet。 参考:https://blog.csdn.net/qq_36870779/article/details/62883466 原文:https://www.cnblogs.com/yingyigongzi/p/9277182.html

ѧϰѧϰservlet

匿名 (未验证) 提交于 2019-12-03 00:40:02
ѧϰѧϰservlet 一、servlet ??????Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。 二、创建一个servlet ??????Servlet 可以使用 javax.servlet 和 javax.servlet.http 包创建,它是 Java 企业版的标准组成部分,Java 企业版是支持大型开发项目的 Java 类库的扩展版本。 ??????这些类实现 Java Servlet 和 JSP 规范。在写本教程的时候,二者相应的版本分别是 Java Servlet 2.5 和 JSP 2.1。 ??????Java Servlet 就像任何其他的 Java 类一样已经被创建和编译。在您安装 Servlet 包并把它们添加到您的计算机上的 Classpath 类路径中之后,您就可以通过 JDK 的 Java 编译器或任何其他编译器来编译 Servlet。 三、servlet生命周期 四、servlet继承关系 五、servlet上下文 ѧϰѧϰservlet 原文:http://blog.51cto.com/doublelinux/2137384

web.xml标签详解

匿名 (未验证) 提交于 2019-12-03 00:39:02
转自https://blog.csdn.net/ee470474137/article/details/45721025 <!--该元素声明应用范围内的初始化参数--> < context-param> <!--声明描述信息--> < description> </ description> <!--用于指定上下文参数的名称--> < param-name> </ param-name> <!--用于指定上下文参数的值--> < param-value> </ param-value> </ context-param> <!--声明WEB应用的描述信息--> < description> </ description> <!--定义了WEB应用的名字--> < display-name> </ display-name> <!--用于--> < distributable/> <!--声明一个EJB的本地主目录的应用--> < ejb-local-ref> <!--声明描述信息--> < description> </ description> <!--当前bean从一个不同jar包中引用另外一个bean的名称。通过ejb-link元素定义的名称必须使用"#"和bean注册名与Web应用程序中war文件的位置相关联--> < ejb-link> </ ejb-link> <!-

servlet,session对象的生命周期

匿名 (未验证) 提交于 2019-12-03 00:38:01
谈到javaweb首先想到的就是servlet,说道servlet就会想到servlet的生命周期 那么servlet到底是什么时候出生,什么时候死亡叻 当某一个客户端第一次访问时候此servlet时候------》服务器找不到servlet对象-------》这个时候服务器就会创建servlet对象,并且调用init方法,使servlet初始化,获得他的初始化参数------》init方法调用完成serlvet对象就可以对外提供服务-------》web服务器调用servlet的service方法给客户端提供服务---》service服务完成servlet继续存在-------》第二客户端继续访问此servlet--------》服务器继续寻找servlet对象--------》存在此servlet对象-------》调用此对象的servlet方法提供服务。。。。。。---》不遇到特殊原因知道服务器关闭之前一直存在-------》当web服务器正常关闭的时候,此时调用servlet的destroy方法销毁,,, 当web服务器异常关闭时可能不会调用servlet的destroy方法,,,, 重点: 1.servlet不是一启动web服务器就创建对象,而是要客户端第一次访问,web服务器先查看自己有没有这个对象,没有才会创建,   但是有些servlet比较特殊

servlet上传、下载文件

匿名 (未验证) 提交于 2019-12-03 00:38:01
servlet实现上传下载,首先上传下载文件都是数据在进行交互,数据交互就一定需要IO流 数据上传(图片): 原理,页面将图片以二进制(request)的形式提交上服务器,服务器获取request的输入流,读取出所有的二进制数据,转换成图片即可。 这个操作难度不大,但是过程比较复杂,所以我们一般用插件jspsmartupload //创建上传数据对象 SmartUpload upload = new SmartUpload(); //初始化数据 upload.initialize(this.getServletConfig(), request, response); try { //读取数据 upload.upload(); //保存文件 //获取当前项目的真实路径 String path = request.getRealPath("/"); System.out.println(path); upload.save(path); } catch (SmartUploadException e) { // TODO Auto-generated catch block e.printStackTrace(); } html页面注意一个事情,就是需要吧表单的数据格式进行修改 文章来源: servlet上传、下载文件

一个servlet server,由移植自Tomcat的连接器模块和自编写的container模块代码组成

匿名 (未验证) 提交于 2019-12-03 00:37:01
背景 :    Tomcat通过启动连接器之前给连接器填充container容器实现了解耦(静态关系),本篇的连接器完全使用Tomcat的源代码org.apache.catalina中的通用接口。org.apache.catalina.connector包,而container相关代码自编写,并且作者利用java特性巧妙去复用了org.apache.catalina包中的接口(因为我们也要依据定义来) 。container容器除了invoke动态加载servlet还做了哪些工作当前还一无所知,要想获得信息只有让子程序继续执行。值得注意的是,从始至终都没有静态地去分析类的层次关系、定义,也没有逐一的去阅读目标类的每一个函数,这是因为静态层次无非是接口、抽象 类再到实现类这样的模版复用方式;某个类中的方法也无非是“一类”函数(过程)被编写到一个类文件,共享“同类”数据而已。这些通过源码的包结构和类声明就完全可以 知道答案。 程序分析的主要切入点还是,运行了那些方法,类中那些方法还没被执行过,将在哪里被执行(和阅读JDK源码不同,它是有主程序)! 程序结构 原文:https://www.cnblogs.com/10000miles/p/9240080.html

servlet使用jsp内置对象

匿名 (未验证) 提交于 2019-12-03 00:37:01
PrintWriter out = response.getWriter() 来获取out对象。 2. session对象 request.getSession() 方法可以获得session对象。 3.application对象 this.getServletContext() 可以获得。 javax.servlet.jsp.PageContext类的对象,通过: JspFactory fac = JspFactory.getDefaultFactory(); pageContext对象中封装了jsp中的其他的内置对象,可以通过此对象过去其他的jsp中的对象。 文章来源: servlet使用jsp内置对象

Servlet入门学习(二)

匿名 (未验证) 提交于 2019-12-03 00:37:01
public void service ( ServletRequest req , ServletResponse res ) throws ServletException , IOException { String userName = req . getParameter ( "userName" ); System . out . println ( "Hello" + userName ); } < body > This is 404 Page. < br > </ body > < body > This is error Page. < br > </ body > < error-page > < error-code > 404 </ error-code > < location > /WEB-INF/jsp/404.jsp </ location > </ error-page > < error-page > < error-code > java.lang.Exception </ error-code > < location > /WEB-INF/jsp/error.jsp </ location > </ error-page > < servlet > . . . public void service ( ServletRequest

springmvc集成cxf

匿名 (未验证) 提交于 2019-12-03 00:37:01
在springmvc中继承cxf 利用cxf发布webService接口以及调用cxf接口 分两步: 第一步:服务端的发布; 1:配置web.xml文件,添加cxf的servlet <servlet> <servlet-name> cxf </servlet-name> <servlet-class> org.apache.cxf.transport.servlet.CXFServlet </servlet-class> <load-on-startup> 1 </load-on-startup> </servlet> <servlet-mapping> <servlet-name> cxf </servlet-name> <url-pattern> /webService/* </url-pattern> </servlet-mapping> 2:maven导入需要的cxf jar包 <properties> <cxf.version> 3.2.1 </cxf.version> </properties> <dependency> <groupId> org.apache.cxf </groupId> <artifactId> cxf-rt-frontend-jaxws </artifactId> <version> ${cxf.version} </version> <

web项目中配置druid SQL监控平台

匿名 (未验证) 提交于 2019-12-03 00:37:01
要使用druid SQL监控平台,首先要使用druid来管理数据源,否则一切都是无用功哦 使用很简单,我么只需要在WEB-INF/web.xml中加入如下配置就可以了, <!-- druid 数据监控平台 servlet --> < servlet > < servlet-name > DruidStatView </ servlet-name > < servlet-class > com.alibaba.druid.support.http.StatViewServlet </ servlet-class > < init-param > <!-- 允许清空统计数据 --> < param-name > resetEnable </ param-name > < param-value > true </ param-value > </ init-param > </ servlet > < servlet-mapping > < servlet-name > DruidStatView </ servlet-name > < url-pattern > /druid/* </ url-pattern > </ servlet-mapping > <!-- druid 过滤器 --> < filter > < filter-name > DruidWebStatFilter