J2EE:Servlet自学笔记
境界之轮回
在研究生研究养成边学习边总结的好习惯,另外把学习的知识分享给大家。
展开
-
Servlet自学第22讲:servlet会话技术介绍
会话技术很多web开发都会涉及到会话技术:PHP、.net、asp、net,主要包括两种:cookie技术和session技术。 会话概念:指用户开一个浏览器,访问一个网站,只要不关闭浏览器,不管该用户点击多少个超链接,访问多少资源,直到用户关闭浏览器,整个过程称为一个会话。cookie技术的引入为什么需要cookie技术? 思考如何解决下面几个问题:用户上次登录的时间 浏览历史记录 记住用户原创 2015-05-24 17:02:57 · 446 阅读 · 0 评论 -
Servlet自学第16讲:HttpServletResponse对象详解
getWrite和getOutputStream方法的区别用户没发出一次http请求,都会创建一个代码请求的对象和代表响应的对象。 HttpServletResponse中getWriter()与getOutputStream()的区别:getWriter() 用于向客户机回送字符数据getOutputStream() 返回的对象,可以回送字符数据,也可以回送字节数据(二进制数据),例如:O原创 2015-05-16 23:44:02 · 590 阅读 · 0 评论 -
Servlet自学第24讲:Session应用—验证码功能的实现
为什么要验证码http请求的底层机制是公开的,某些人可以模拟一个简单的tomcat或者ie不停地向服务器发送请求,造成恶意访问;有的甚至可以通过这种无休止的访问破解用户账号和密码。采用验证码功能在一定程度上能解决这个问题。 (推荐一个网站:www.sourceforge.net开源之祖)实现原理使用到了java的绘图技术,采用servlet生成验证码public class CreateCode原创 2015-05-28 10:12:09 · 341 阅读 · 0 评论 -
Servlet自学第23讲:Session会话技术详解
Session会话技术相关知识Session是存在服务器的内存中的。一个用户浏览器,独享一个session对象。Session中的属性的默认生命周期是30min。有三种方式修改它的生命周期,第一种修改方式对所有web应用都有效,即 tomcat/conf/web.xml中<session-config><session-timeout>30</session-timeout></ses原创 2015-05-27 18:10:46 · 399 阅读 · 0 评论 -
Servlet自学第26讲:禁用cookie后还能继续使用session的方法
把session ID回写到cookie//cookie名字必须为JSESSION 区分大小写Cookie cookie = new Cookie("JSESSION",session.getID());cookie.setMaxAge(60*30);response.addCookie(cookie); URL地址重写 //使用一次session 以便获得sessionID request.原创 2015-05-28 19:51:23 · 1082 阅读 · 0 评论 -
Servlet自学第25讲:Session实例—简单购物车的实现
购物车的简单业务逻辑 思路: 当用户点击购买商品时,我们就把该商品保存到session中。该session的结构是 Name value Books HashMap 而HashMap 的结构是 Key value BookID Book对象 Book.javaPublic Class Booke implements java.io.Serializable原创 2015-05-28 18:56:13 · 1074 阅读 · 0 评论 -
Servlet自学第27讲:Session与Cookie对比总结
Cookie vs Session① 存在的位置 Cookie存在客户端的临时文件夹 Session存在在服务器内存中,一个session域对象为一个用户浏览器服务。 ② 安全性 Cookie是以明文方式存放在客户端的,所以说安全性相对较弱.可以MD5加密再存放。 Session是存放服务器内存中的,安全性相对较强。 ③ 网络传输量 Cookie会传递信息给服务器 Session原创 2015-05-28 20:38:10 · 364 阅读 · 0 评论 -
Servlet自学第29讲:使用ServletContext实现网站计数器
网站计数器的思考分析网站计数器的相关业务逻辑: 网站计数器的相关实现: 建立一个recoder.txt外部文件,用于保存访问量,这样可以保证稳定增长。同时防止web应用或reload充值计数器的值网站计数器的实现建立initservlet 用于初始化servletContext 和 在关闭tomcat时destroy方法中保存访问量到recoder文件中:配置文件中加入<load-on-star原创 2015-05-29 09:32:51 · 719 阅读 · 0 评论 -
Servlet自学第30讲(最后一讲):SQLHelper工具类的改进
原SQLHelper工具类的不足我们的连接数据库的变量都是static,这样有一定的危险。如果访问量过大,可能造成一些用户的超时。我们可以这样做,把static变量变成非static,在调用SQLHelper时,创建SQLHelper对象,然后调用其方法。 2.我们的SQLHelper查询数据时,没有在本类中关闭,不是好习惯。 解决方案如下:public ArrayList execute原创 2015-05-29 10:30:34 · 387 阅读 · 0 评论 -
Servlet自学第28讲:ServletContext详解
ServletContext引入需求1: 需求2: ServletContext快速入门ServletContext 是在服务器创建ServletContext被所有客户端共享ServletContext 当web应用启动时自动创建,ServletContext 当web应用关闭 重启动 或服务器关闭时都会造成ServletContext销毁对ServletContext的用法小结原创 2015-05-29 09:15:40 · 465 阅读 · 0 评论 -
Servlet自学第18讲:获取浏览器html参数
给出一个例子 对应的html代码:import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public clas原创 2015-05-18 20:48:22 · 556 阅读 · 0 评论 -
Servlet自学第19讲:sendRedirect(重定向)与forworld(转发)区别
转发方法:requeset.getRequestDispatcherforward(request,response);资源地址:不需要项目名。因为它只是在WEB服务器内部转发。 我们现在使用 请求转发的方法来实现上次我们使用 response.sendRedirect() 实现效果使用 request提供的转发方法。 Request中的Attribute在一次请求有效。一次请求:没有返回到原创 2015-05-18 22:56:14 · 623 阅读 · 2 评论 -
Servlet自学第20讲:分页技术详解
使用servlet编写如下页面: 下面是分页技术的详解: 思路: 定义四个分页变量 pageNow 表示第几页,该变量是由用户来决定,因此变化 pageSize 每页显示几条记录,由程序指定,也可以由用户定制 pageCount 表示共有多少页, 该变量是计算出来->思考 怎样确定 rowCount 共有多少条记录,该变量是查询数据库得到如何确定pageCou原创 2015-05-19 20:56:55 · 429 阅读 · 0 评论 -
Servlet自学第17讲:中文乱码处理
发生中文乱码的三种情况一般涉及到提交数据的地方都会涉及到中文乱码,由于服务器tomcat是外国人写的,不支持中文,要手动设置。 1. form表单 ①post提交方式 在服务器端设置成浏览器端的编码方式。, 解决方法: request.setCharacterEncoding("utf-8"); //gbk gb2312 big5这种方式可以设置请求体的编码,但是对于get方法(将参数原创 2015-05-17 20:34:22 · 1688 阅读 · 0 评论 -
Servlet自学第13讲:使用纯Servlet实现简单登录功能
登录功能 的业务逻辑图相应Servlet的实现代码(对代码的解释包含在了代码注释里面) LoginServlet.java public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {原创 2015-05-14 17:17:59 · 603 阅读 · 0 评论 -
Servlet自学第15讲:http响应详解
http响应介绍一个http响应代表服务器向浏览器回送的数据 http响应的基本结构: 状态行: 格式:HTTP版本号 状态码 原因叙述 举例:HTTP/1.1 200 OK 状态码 含义 100-199:表示成功接收请求,要求客户端继续提交下一次请求才能完成整个处理过程 200-299 :表示成功接收请求并完成整个处理过程,常用200 300-原创 2015-05-15 11:29:01 · 321 阅读 · 0 评论 -
Servlet自学第4讲:Tomcat无法正常启动的常见原因分析
配置Tomcat的时候可能会遇到点击startup.bat控制台界面会一闪而过,这就表示tomcat没配置成功,面列举了几个常见的错误及其改正的方法供大家参考:下载的Tomcat缺少相应的脚本文件。这就要求你在官网上下载相应的tomcat,避免那种错误。JAVA_HOME环境变量配置错误:譬如说在路径D:\JDK\jdk1.6.0_31后面多加了一个分号:D:\JDK\jdk1.6.0_31;,原创 2015-05-12 10:27:35 · 603 阅读 · 0 评论 -
Servlet自学第5讲:Tomcat目录结构
Tomcat目录层次结构bin:启动和停止Tomcat的bat文件conf: 其中包括的重要文件有: server.xml:用于配置和Server的相关信息,譬如说启动tomcat的端口号、主机配置(自己配一个域名)、Context的配置(即web应用) web.xml:用于配置与Web应用(就可以把web应用理解成一个网站)相关的信息。 tomcat-users:用于配置Tomcat的原创 2015-05-12 11:18:47 · 518 阅读 · 0 评论 -
Servlet自学第1讲:web入门
web开发相关概念介绍静态web:不能与用户交互(html)动态web:web中提供的浏览数据由程序动态产生,譬如用户不同时间浏览的web内容可以不同。使用到的技术有jsp+Servlet/ASP/PHP(市场需求量大、可以去学学)/asp.netJSP:包括有HTML + java片段 + JSP语法 + JavaScript,采用class常驻内存的方式运行,占用内存多,但是效率高。BS原创 2015-05-11 22:38:25 · 362 阅读 · 0 评论 -
Servlet自学第2讲:编写一个简单的web服务器
很多初学者会有这样的一些疑问:什么是web服务器?web服务器到底有什么用?web服务器底层实现是怎么样的? 下面编写一个自己的简单web服务器方便大家理解: 可以看到,web服务器的实现就类似于一个服务端的Socket功能。用户可以在D盘路径下编写一个简单的html文件,编译程序之后,用户在浏览器地址栏中键入地址http://localhost:9999即可显示D盘路径下写好的html文件原创 2015-05-12 09:09:16 · 553 阅读 · 0 评论 -
Servlet自学第3讲:Tomcat简介与配置
Tomcat简介一个开源的java web服务器,由Apache开源组织开发。Apache开发了很多开源的组织,很有意思。Tomcat可安装在Linux或Windows操作系统上到tomcat官网http://tomcat.apache.org/下载对应版本和操作系统的tomcat后,加压即可。Tomcat配置配置一个名为JAVA_HOME环境变量,变量名为自己的JDK路径: (这个配原创 2015-05-12 10:03:05 · 516 阅读 · 0 评论 -
Servlet自学第6讲:Tomcat虚拟目录的管理
配置虚拟目录tomcat的虚拟目录是这样来的:把一个web应用放大tomcat的默认webapps目录下,tomcat会对该web应用自动管理。如果不放在该webapps目录下,则可以采用虚拟目录的方式对其管理。配置Tomcat的虚拟目录(改变了xml文件注意要重新启动tomcat加载才能生效) ①找到tomcat中conf目录下的server.xml文件 ②在server.xml文件的ho原创 2015-05-12 22:08:41 · 655 阅读 · 0 评论 -
Servlet自学第7讲:Servlet简介
Servlet介绍为什么会出现Servlet技术 总而言之,采用java不能很好的完成动态网页的开发。Servlet简单介绍 翻译成“java服务器小程序” + 用java编写的服务器程序 + 由tomcat调用和执行的 + 按照Servlet规范来开发的 + 功能强大,几乎可以完成所有网站的功能 + 是JSP的基础常用的IDE和数据库:Eclipse + oracle/MySQL/sql原创 2015-05-12 23:13:09 · 500 阅读 · 1 评论 -
Servlet自学第8讲:Servlet生命周期
一个完整的URL访问过程 这是一个用户通过URL通过浏览器访问相应servlet资源的完整过程,希望大家好好理解下Servlet生命周期(工作流程)这个在面试中经常会问,到没要求会自己复述,可以参照上面的时序图理解。 1. 当serlvet 第一次被访问的时候,会触发init函数,该函数会把servlet实例装载到内存,init函数只会被调用一次 2. 然后去调用servlet原创 2015-05-13 20:00:20 · 421 阅读 · 0 评论 -
Servlet自学第9讲:使用继承HttpServlet的方法开发Servlet
HttpServlet介绍在软件公司中,绝大部分是采用这阿斯蒂芬个方法开发Servlet。HttpServlet中有两个重要的方法,doGet和doPost分别对get、post提交方式做不同的处理(默认是get)。doGet和doPost底层最终也会调用service方法。(手动写一个Servlet别忘了部署到web.xml)import javax.servlet.*;import ja原创 2015-05-13 21:11:32 · 993 阅读 · 0 评论 -
Servlet自学第12讲:Servlet的load-on-startup元素及ServletConfig对象
Servlet中load-on-startup元素如果在servlet元素中配置了load-on-startup元素,则Web应用程序在启动时,会装载并创建Servlet的实例对象以及调用Servlet实例对象的init方法。(即通过配置load-on-startup我们可以指定某个Servlet自动创建). 譬如当我们的网站启动的时候,可能会要求初始化一些数据,(比如创建临时表), 再比如:我们原创 2015-05-15 08:53:06 · 408 阅读 · 0 评论 -
Servlet自学第14讲:深度剖析http请求
Http协议总述http是web开发(java web + PHP + .net)的基础,http协议是这些web开发的基础。超文本传输协议(HyperText Transfer Protocol),基于TCP/IP协议(java网络编程也是基于TCP/IP,大部分是网络都是基于这个协议的),设计HTTP协议的最初目的是为了提供一种发布和接收html页面的方法http协议1.0 , 1.1版本原创 2015-05-15 10:08:26 · 336 阅读 · 0 评论 -
Servlet自学第11讲:Servlet细节讲解
一个已注册的Servlet可以映射到不同的url-pattern一个已经注册的Servlet可以被多次映射即:<servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE compon原创 2015-05-14 11:14:33 · 368 阅读 · 0 评论 -
Servlet自学第10讲:MyEclipse中的web工程部署到外部Tomcat上
在MyEclipse新建一个Web工程步骤建立web工程在Src 目录下创建了一个包 com.hsp.servlet开发一个Servlet Servlet的代码:public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException原创 2015-05-14 09:25:01 · 481 阅读 · 0 评论 -
Servlet自学第21讲:MVC模式开发的细节讲解
在MVC开发过程中,应注意以下细节问题尽量采用post提交数据处理乱码的情况要回尽量采用forward(相对于sendRedirect)采用一个Controller处理一个userBean的业务逻辑视图层提交数据一开始就得想到控制器数据传输封装顺序为:resultSet→UserBean对象→ArrayList 待更新原创 2015-05-24 10:38:29 · 335 阅读 · 0 评论