
史上最全的Servlet基础教程
文章平均质量分 59
本栏按基础顺序,从零学起,手把手教你学Servlet,详细讲述图解Servlet的基础教程,附带相应的资料和增值项目,您值得收藏,如有建议或疑问欢迎在博文下留言评论,我将会一一认真回复,欢迎指正,更多内容详见我的博客加关注有惊喜哟!
请叫我木丁西
大家好,我是木丁西,希望我的博文能帮到您,欢迎在博文下留言评论交流,共同进步。
展开
-
web.xml中<welcome-file-list>配置
web.xml中配置((web欢迎页、首页))在web项目中,当用户在浏览器中输入的URL不包含某个特定的Servlet、html、jsp页面时,web.xml中标签元素就会指定显示的默认文件。案例:项目结构如下: 情况1: web.xml中标签元素指定显示的默认文件如下: 当浏览器输入的URL为:http://127.0.原创 2017-07-18 09:53:36 · 29647 阅读 · 0 评论 -
JavaMail邮件开发
什么是JavaMail 要自己写程序发送和接收邮件,可以直接采用Socket编程连接上远程的邮件服务器,然后按照邮件协议与邮件服务器进行交互,涉及较多细节。另外,要想自己编程创建出复杂的MIME格式的邮件,是一件非常困难和麻烦的事情。 JavaMail 是Sun公司为方便Java开发人员在应用程序中实现邮件发送和接收功能而提供的一套标准开发包,它支持一些常用的邮原创 2017-05-07 13:35:17 · 2452 阅读 · 1 评论 -
FileUpload组件(文件上传下载)
文件上传web设置实现web开发中的文件上传功能,操作步骤: 1.在web页面中添加上传输入项。 2.在servlet中读取上传文件的数据,并保存到本地硬盘中。标签用于在web页面中添加文件上传输入项,设置文件上传输入项时须注意:1.必须要设置input输入项的name属性,否则浏览器将不会发送上传文件的数据。原创 2017-05-05 22:16:13 · 3925 阅读 · 0 评论 -
国际化
国际化概述 软件的国际化:软件开发时,要使它能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的、符合来访者阅读习惯的页面或数据。 国际化又简称为 i18n:internationalization(18是指i与n之间省略的18个字母)软件实现国际化,需要具备的条件 对于程序中固定使用的静态文本数据,例原创 2017-05-04 20:53:09 · 718 阅读 · 0 评论 -
类路径读取(加载)配置文件
加载读取资源文件时路径问题不管是java项目还是web项目,用类路径读取配置文件通用性大,移植性好。如下:InputStream in = JdbcUtil.class.getResourceAsStream("/db.properties");properties.load(in);方式1:点 . 代表java的命令运行的目录(不推荐)在java项目下, 点原创 2017-03-18 20:01:47 · 7552 阅读 · 0 评论 -
Servlet动态资源手动配置
Servlet : 用java语言来编写动态资源的开发技术。 Servlet特点: 1)创建一个普通的java类,继承HttpServlet类,覆盖doGet方法 2)Servlet类只能交给tomcat服务器运行!!!!(开发者自己不能运行!!!) Servlet手动编写步骤: 1)编写一个servlet程序,继承HttpServlet(提前导入Servlet原创 2017-03-16 16:48:00 · 1898 阅读 · 4 评论 -
WEB应用的结构
WEB应用程序指供浏览器访问的程序,通常也简称为web应用。一个web应用由多个静态web资源和动态web资源组成,如: html、css、js文件 Jsp文件、java程序、支持jar包、 配置文件 ……Web应用开发好后,若想供外界访问,需要把web应用所在目录交给web服务器管理,这个过程称之为虚似目录的映射。W原创 2017-03-16 17:04:20 · 1720 阅读 · 0 评论 -
工具开发Servlet动态资源
工具开发动态资源1)创建web project (javaweb工程)2)在WebRoot下建立静态资源文件,3)在src下建立动态资源文件 3.1 new -> Servlet( servlet的代码生成器) 3.2 写pacakge -> class名 -> 修改mapping url4)关联tomcat服务器 4.1 win原创 2017-03-16 17:05:52 · 1215 阅读 · 0 评论 -
http请求
http协议: 对浏览器客户端 和 服务器端 之间数据传输的格式规范查看http协议的工具1)使用火狐的firebug插件(右键->firebug->网络)2)使用谷歌的“审查元素”3)使用系统自带的telnet工具(远程访问工具) a)telnet localhost 8080 访问tomcat服务器b)ctrl+] 回车原创 2017-03-16 17:06:49 · 1213 阅读 · 0 评论 -
防止非法链接(referer)
HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器藉此可以获得一些信息用于处理。比如从我主页上链接到一个朋友那里,他的服务器就能够从HTTP Referer中统计出每天有多少用户点击我主页上的链接访问他的网站。Referer的正确英语拼法是referrer。由于早期HTTP规范的拼写原创 2017-03-16 17:52:42 · 4130 阅读 · 0 评论 -
请求参数获取与编码问题
传递的请求参数如何获取 GET方式: 参数放在URI后面 POST方式: 参数放在实体内容中获取GET方式参数:(如果没有设置提交方式,则默认GET)request.getQueryString();获取POST方式参数:request.getInputStream();问题:但是以上两种不通用,而且获取到的参数还需原创 2017-03-16 17:54:51 · 1068 阅读 · 0 评论 -
Servlet-API
Servlet-API参考文档 点击打开链接原创 2017-03-16 17:58:58 · 1055 阅读 · 0 评论 -
Http响应
Http响应HTTP/1.1 200 OK --响应行Server: Apache-Coyote/1.1 --响应头(key-vaule)Content-Length: 24Date: Fri, 30 Jan 2015 01:54:57 GMT --一个空行this is原创 2017-03-16 17:59:56 · 604 阅读 · 0 评论 -
请求重定向
案例:请求重定向(相当于超链接跳转页面)package com.servlet;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.ht原创 2017-03-16 18:04:31 · 706 阅读 · 0 评论 -
定时刷新(refresh)
定时刷新原理:浏览器会识别refresh头,得到refresh头会重新请求当前资源。package com.servlet;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;原创 2017-03-16 18:05:40 · 1019 阅读 · 0 评论 -
content-type
项目中的编码问题:案例:content-type作用package com.servlet;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.ht原创 2017-03-16 18:07:02 · 677 阅读 · 0 评论 -
如何开发一个Servlet
1.如何开发一个Servlet步骤:1)编写java类,继承HttpServlet类2)重新doGet和doPost方法3)Servlet程序交给tomcat服务器运行!!3.1 servlet程序的class码拷贝到WEB-INF/classes目录3.2 在web.xml文件中进行配置 FirstServlet gz.itca原创 2017-03-16 18:09:16 · 843 阅读 · 2 评论 -
Sevlet的生命周期
Sevlet的生命周期(重点)1 引入Servlet的生命周期: servlet类对象什么时候创建,什么时候调用什么方法,什么时候销毁。以前的对象: new Student(); stu.study(); stu=null;Servlet程序的生命周期由tomcat服务器控制的!!!! 2 Servlet重要的四个生原创 2017-03-16 18:15:08 · 1008 阅读 · 0 评论 -
Servlet的自动加载
Servlet的自动加载默认情况下,第一次访问servlet的时候创建servlet对象。如果servlet的构造方法或init方法中执行了比较多的逻辑代码,那么导致用户第一次访问sevrlet的时候比较慢。改变servlet创建对象的时机: 提前到加载web应用的时候!!!在servlet的配置信息中,加上一个即可!! LifeDemo com.c原创 2017-03-16 18:17:34 · 676 阅读 · 0 评论 -
Servlet有参数的init和无参的init方法
有参数的init方法该方法是servlet的生命周期方法,一定会被tomcat服务器调用注意:如果要编写初始代码,不需要覆盖有参数的init方法无参数的init方法该方法是servlet的编写初始化代码的方法。是Sun公司设计出来专门给开发者进行覆盖,然后在里面编写servlet的初始逻辑代码的方法。package com.cn.servlet;impo原创 2017-03-16 18:18:49 · 2902 阅读 · 0 评论 -
Servlet的多线程并发问题
Servlet的多线程并发问题注意: servlet对象在tomcat服务器是单实例多线程的。因为servlet是多线程的,所以当多个servlet的线程同时访问了servlet的共享数据,如成员变量,可能会引发线程安全问题。解决办法:1)把使用到共享数据的代码块进行同步(使用synchronized关键字进行同步)2)建议在servlet类中尽量不要使用成员变原创 2017-03-16 18:20:01 · 985 阅读 · 0 评论 -
ServletConfig对象
ServletConfig对象作用ServletConfig对象: 主要是用于加载servlet的初始化参数。在一个web应用可以存在多个ServletConfig对象(一个Servlet对应一个ServletConfig对象)对象创建和得到创建时机: 在创建完servlet对象之后,在调用init方法之前创建。得到对象: 直接从有参数的init方法中得到!原创 2017-03-16 18:21:15 · 642 阅读 · 0 评论 -
web应用中的路径问题
web应用中的路径问题目标资源:target.hmtl 思考:目标资源是给谁用的 。1.给服务器使用。 / 表示在当前web应用的根目录下(WebRoot下面)2.给浏览器使用。 / 表示在webapps的根目录下Demo:package com.cn.servlet;import java.io.IOE原创 2017-03-16 18:22:38 · 595 阅读 · 0 评论 -
web应用加载资源文件
web应用加载资源文件"." 表示相对路径中的当前路径。相对于java命令运行的目录。结论:用myeclipse工具开发java项目中, "."代表在java项目的根目录下开始。在web项目中,"."代表在tomcat/bin目录下开始,所以不能使用这种相对路径。1.给服务器使用。 / 表示在当前web应用的根目录下(WebRoot下原创 2017-03-16 18:23:39 · 929 阅读 · 0 评论 -
Cookie
Cookie技术核心Cookie类:用于存储会话数据1)构造Cookie对象Cookie(java.lang.String name, java.lang.String value)2)设置cookievoid setPath(java.lang.String uri) :设置cookie的有效访问路径void setMaxAge(int expiry)原创 2017-03-16 18:29:09 · 836 阅读 · 0 评论 -
Session(HttpSession)
Session(HttpSession)Cookie的局限:1)Cookie只能存字符串类型。不能保存对象2)只能存非中文。3)1个Cookie的容量不超过4KB。4)浏览器可以清除cookie如果要保存非字符串,超过4kb内容,只能使用session技术!!!Session特点:会话数据保存在服务器端。(内存中)Session技原创 2017-03-16 18:36:26 · 736 阅读 · 0 评论 -
Session(案例_登陆)
Session会话登陆案例需求:登陆成功后显示用户名,不成功跳转到登陆页面。方案:1.页面提交登陆信息2.获取表单信息,如果登陆成功,将用户名存入session对象中。如果登陆不成功,重定向到失败页面。3.登陆成功后,在用户主页面,判断session不为null且存在指定的属性才视为登陆成功!才能访问资源。4.安全退出原创 2017-03-16 18:41:04 · 1040 阅读 · 0 评论 -
web开发模式_jsp+Servelt
Servlet技术:开发动态资源。是一个java类,最擅长写java代码。jsp技术:开发动态资源。html页面格式,编译成java代码,最擅长输出html代码。Servlet+jsp开发模式: Servlet: 1)接收参数 2)处理逻辑业务 3)将数据结果保存到域对象中原创 2017-03-16 18:43:38 · 713 阅读 · 0 评论 -
web开发模式_servlet+jsp+javabean+3层结构
流行好用的模式:Servlet+jsp+javabean(MVC模式)+3层结构ModeljavaBean 模型封装业务数据Viewjsp视图显示数据Controllerservlet控制器1)接收参数2)调用业务逻辑(调用service层,添加逻辑,s原创 2017-03-16 18:45:22 · 1045 阅读 · 0 评论 -
项目中自定义异常的使用
注意:如果service业务层方法出现任何业务异常,则返回标记(自定义异常 )到web层(servlet)service层: web层:原创 2017-03-16 18:46:53 · 985 阅读 · 0 评论 -
JavaBean
JavaBeanJavaBean, 咖啡豆。 JavaBean是一种开发规范,可以说是一种技术。 JavaBean就是一个普通的java类。只有符合以下规定才能称之为javabean: 1)必须提供无参数的构造方法 2)类中属性都必须私有化(private) 3)该类提供公开的getter 和 setter方法JavaBe原创 2017-03-16 21:56:34 · 574 阅读 · 0 评论 -
BeanUtils组件
BeanUtils组件简介 程序中对javabean的操作很频繁,所有Apache提供了一套开源的api,方便对javabean的操作,即BeanUtils组件,作用是简化javabean的操作。可以从http://www.apache.org/ 下载组件,然后在项目中引入jar文件。 使用BeanUtils组件的步骤 1.引入BeanUtils包commo原创 2017-03-30 21:39:42 · 691 阅读 · 0 评论 -
注册登录系统
注册登录系统项目开发运行环境: win7+myeclipse10+jdk7+tomcat7+mysql5.5使用技术: jsp+servlet+DbUtils组件(简化jdbc操作)+BeanUtils组件(封装请求数据)项目源码点击打开链接项目运行效果登录页面注册页面原创 2017-04-20 19:23:32 · 1529 阅读 · 0 评论 -
过滤器
过滤器(Filter) Javax.servlet.*; |--- interface Filter //接口为什么需要用到过滤器Filter:项目开发中,经常会涉及到重复代码的实现!注册 ----》Servlet 【1. 设置编码】 ----》 JSP修改 ----》Servlet 【1. 设置编码】 ----》 JSP其他情况,例如:原创 2017-04-21 21:09:55 · 639 阅读 · 0 评论 -
过滤器_编码统一处理
问题: 几乎每一个Servlet都要涉及编码处理:处理请求数据中文问题! 【GET/POST】 每个servlet都要做这些操作,把公用的代码抽取-过滤器实现!问题原因: 出现get中文乱码,是因为在request.getParameter("参数名")方法内部没有进行提交方式判断并处理。解决方案: 对指定接口的某一个方原创 2017-04-22 14:58:49 · 1077 阅读 · 0 评论 -
过滤器_有效数据过滤
需求:模拟:论坛过滤敏感词汇!实现思路:1.Dis.jsp 讨论区页面2.DisServlet.java 处理提交 ---》 获取请求参数 ---》 保存到request域 ---》 跳转dis.jsp 【从request取数据显示(处理后)】3.EncodingFil原创 2017-04-23 19:23:55 · 888 阅读 · 0 评论 -
过滤器_登录权限的判断
登陆权限判断登陆, 提交到登陆Servlet处理其业务!登陆成功, 跳转到首页,显示欢迎信息 + 列表信息登陆失败,跳转到登陆!要求:只有登陆后,才可以访问首页, 显示列表如果没有登陆,直接访问首页列表,要跳转到登陆!实现思路:1.Login.jsp 登陆页面2.List.jsp 列表显示3.LoginServlet.java原创 2017-04-23 20:38:32 · 1551 阅读 · 0 评论 -
浏览器关闭后,Session就销毁了吗?
话题: 当浏览器关闭后,Session就销毁了吗?答案: 存在于浏览器上的唯一标识符JSESSIONID(sessionid)消失了,但是服务器中存放的sessionid并没有立马销毁。分析: 我们知道Session是JSP的九大内置对象(也叫隐含对象)中的一个,它的作用是可以保存当前用户的状态信息,初学它的时候,认原创 2017-04-27 09:55:01 · 15785 阅读 · 13 评论 -
监听器(Listener)
1、概述监听器(listener): 主要是用来监听特定对象的创建或销毁、属性的变化的!是一个实现特定接口的普通java类!对象:自己创建自己用 (不用监听)别人创建自己用 (需要监听)Servlet中哪些对象需要监听?request / session / servletContext分别对应的是re原创 2017-04-27 10:43:34 · 856 阅读 · 0 评论 -
ServletContext对象
ServletContext对象1.引入ServletContext对象 ,叫做Servlet的上下文对象。表示一个当前的web应用环境。一个web应用中只有一个ServletContext对象。2.对象创建和得到创建时机:加载web应用时创建ServletContext对象。得到对象: 从ServletConfig对象的getServletCo原创 2017-04-27 11:05:23 · 1112 阅读 · 0 评论