【Servlet】常用技术web

Servlet的概述
什么是Servlet?;
Servlet是在服务器端的一个小的java程序,接收和相应从客户端发送的请求.
Servlet的作用:
处理来自客户端的请求,并且对请求做出相应的响应。
使用Servlet :(Servlet的简单案例:即入门)
* 编写一个类实现Servlet的接口。
public class servletTest01 implements Servlet{
@Override
public void service(ServletRequest request ,ServletResponse response)throws ServletException ,IOException{
//System.out.println(" ");
response.getWriter().println("hello Servlet...");
}

}
【配置Servlet】到WEB服务器。(在WEB-INF目录下的web.xml中配置)
如果创建的时候就是创建的servlet文件WEB项目自动配置;
<!--配置Servlet -->
<servlet>
<!--Servlet的名称-->(可以自定义)
<servlet-name>ServletTest01</servlet-name>
<servlet-class>文件的目录(可在类名右键复制路径名)</servlet-class>
</servlet>
<!--配置Servlet的映射-->
<servlet-mapping>
<!--Servlet的名称-->(必须和上一个一致)
<servlet-name>ServletTest01</servlet-name>
<url-pattern>/servletTest01</url-pattern>(可以自定义但是跳转到页面必须填写这个名)
</serlet-mapping>

【Servlet】的应用(登录其他的雷同)
分析: 1、设计一个登录页面。
2、在登录页面上点击登录按钮提交到Servlet
3、编写Servlet在Servlet中接收参数。
4、调用业务层去数据库进行查询操作。(Servlet-->servlce层--->dao层(查询数据库返回数据利用Utils包))(domain层)。
5、根据处理结果做出相应。

代码实现思路:
准备工作:1、引入jar包(mysql,c3p0,dbutils等)、创建数据库。
2、创建包和类
3、创建一个工具类JDBCUtils
4、编写Servlet,Service,Dao.

【Servlet的生命周期的】(比较重要的)
生命周期:
指的是一个对象从创建到销毁的过程。
Servlet的生命周期:即Servlet对象从创建到销毁的过程。
客户端第一次访问该Servlet的时候创建一个Servlet的对象,那么Serlet中的init的方法就会执行,
任何一次从客户端发送的请求,那么服务器创建一个新的线程执行Servlet中的service方法为这次请求服务。
service方法的内部根据请求的方式不同调用不同的doxxxxx的方法,当Servlet从服务器中移除或者关闭服务器的时候Servlet对象就会被销毁,
destroy的方法就会执行。

WEB开发中的路径问题(重要)
相对路径: 不是以/开始的路径。
*localhost:8080/项目名/文件名(Servlet、.html)

绝对路径:
通常都是/开始的路径.

带工程名的路径(客户端的路径):
不带工程名的路径(服务器端路径):
【页面五秒钟跳转eg:代码实现】达到的目的:网站登陆成功后,隔5秒钟后跳转到成功的页面。
分析:首先在登录成功后的代码的地方设置响应头 然后在编写一个成功后跳转的页面。

//解决代码乱码的问题响应
response.setContentType("text/html;charset=utf-8");
response.Writer().println("<h1>登录成功!页面将在5秒后跳转</h1>")
response.setHeader("Refresh","url= 要跳转的页面路径");
}

}
步骤2:
在页面hxml文件中编写跳转时间倒计时;5、4、3、2、1<技术>标签设置头信息<meta>标签
<!DOCTYPE html>
<html>
<head>
<meat charset="utf-8">
<meat http-equiv="Refresh"content="5; url= 登录成功的.html">
<script type="text/javascript" src="/WEB/js/jquery-1.11.3.min.js"></script>
<title>Insert title here<title>
<script type="text/javascript">
$(function(){
setInterval("changeTime()",1000);
})
var i =5;
function changeTime(){
//获得id为 s1的元素;
i--;
$("#s1").html(1);
}
</script>
</head>
<h1>登录成功!!!页面将在<span id="s1">5</span>秒后跳转!</h1>
</body>
</html>
【ServletConfig】(了解即可)(获得初始化参数)
【ServletContext】(Servlet中全部的内容ServletContext都了解.)(被多个用户共享)【域对象】
ServletContext的作用和用途; 保存全局性信息和数据
网站的访问次数:
聊天室:
概述(域对象):
ServletContext:一个WEB应用只有一个ServletContext对象.服务器启动的时候,服务器为每个WEB工程创建一个属于自己项目的ServletContext对象.
服务器关闭的时候或者项目从服务器中移除ServletContext才会被销毁.如果将值保存在ServletContext中.值就有一个作用的范围.所以这个对象称为”域对象”.

我们可以使用这个对象存取数据,用这个对象存取的数据可以在整个WEB应用中获得。
可以使用如下方法存取数据(域对象相关的方法)
ServletContext对象的作用是在整个Web应用的动态资源之间共享数据!
例如在AServlet中向ServletContext对象中保存一个值,然后在BServlet中就可以获取这个值,这就是共享数据了。

方法名: 描述:
setAttribute(String name, Object object) 向ServletContext中存储数据
getAttribute(String name) 从ServletContext中取数据
removeAttribute(name) 从ServletContext中移除数据

如何获取sevletContext对象

ServletConfig # getServletContext();
GenericServlet # getServletContext();
HttpServlet # getServletContext();
HttpSession # getServletContext();【这里将在Session里面介绍】
ServletContextEvent # getServletContext()【这里不多介绍】

在Servlet中获取ServletContext对象:
在 void init(ServletConfig config)中: ServletContext context= config.getServletContext();
ServletConfig类的 getServletContext() 方法可以用来获取ServletContext对象;

在GenericeServlet或HttpServlet中获取ServletContext对象:【不常用】

ServletContext;用法API
1.获得文件的MIME的类型. -- 文件上传和下载.
String 类型 getMimeType(String file)
2.获得全局初始化参数:
3.作为域对象存取数据:(*常用*)
void 类型 setAttribute(String name, Object object) 向ServletContext中存储数据
void 类型 getAttribute(String name) 从ServletContext中取数据
Object 类型 removeAttribute(name)

4.读取WEB项目的文件:(***)
inputStream 类型 getResourceAsStream(String path)
String 类型 getRealPath(String path)

时间: 2024-10-01 19:49:23

【Servlet】常用技术web的相关文章

必知干货:Web前端应用十种常用技术你全都知道吗?

Web前端应用十种常用技术,随着JS与XHTML的应用普及,越来越多的web界面应用技术出现在网站上,比如我们常见的日历控件,搜索下拉框等,这些web界面应用技术大大的丰富了网站的表现形式,本文将为您精心推荐十种最常见的web界面应用技术. Web应用程序的界面设计,其核心就是网页设计 ,但它的重点主要是在功能方面.要超越桌面应用程序, Web应用程序必须提供简单.直观和即时响应的用户界面,让他们的用户花更少的精力和时间去完成事情. 以前,我们并没有注意到web应用程序这个方式,但是现在是时候仔

javaWeb常用技术语法总结

HTML: 1.html:超文本标记语言. 标记(标签.节点): <标记名>标记内容(标记体)</标记名称> 九成双标记 个别单标记 2.html文件写法和基本结构: 3.常用标记.p/div/span/ul/ol/center/b/i/sub/sup/a 4.表格:网页布局 table thead tbody th td tr 5.表单:手机客户信息. form:name/method/action 表单元素:input:type=text/password/readio/che

理解Servlet和Servlet容器、Web服务器等概念

转载自http://blog.csdn.net/iAm333 之前在开源中国看到一篇文章<初学 Java Web 开发,请远离各种框架,从 Servlet 开发>,觉得很不错.想到自己之前一直对各种框架执迷不悟,顿感惭愧.于是,看了孙鑫的<Servlet/JSP深入详解:基于Tomcat的Web开发>.林信良的<JSP&Servlet学习笔记(第二版)>以及网上其他一些相关的资料,将自己的理解整理如下. Web技术 随着互联网技术的发展,基于HTTP和HTML的

熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。

熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验. 1.说一说Servlet生命周期(非常重要) Servlet生命周期包括三部分: 初始化:Web容器加载servlet,调用init()方法 只执行一次 处理请求:当请求到达时,运行其service()方法.service()自动调用与请求相对应的doXXX

利用servlet转发技术实现统计form表单中字母次数

需求是利用servlet转发技术,实现对html网页中用户输入的内容进行统计,统计每个字母出现的次数,忽略大小写.其中统计功能在一个servlet中,转发功能在另一个servlet中. 1.新建dynamic web project,命名为CounterCharacter 2.在webContent目录中新建index.html文件,设置form表单 <!DOCTYPE html> <html> <head> <meta charset="UTF-8&q

日志存储系统常用技术方案介绍

日志存储系统常用技术方案有两种:一是log4j/logback+mongodb的方式,一种是基于ELK的日志存储系统. 日志一般存储在数据库和文件系统中.日志数据要和生产正式库分开存储,否则会影响正式库的运行,带来隐患.另外,为了防止日志存储性能问题,后期可以考虑采用异步的消息队列形式进行存储. 下面详细讲解. 1.便捷的日志存储方式log4j+mongodb 1)安装和配置简介 需要引入的jar包有:Mongo Java driver.Log4J(1.2.16以上版本).log4mongo-j

常用的Web服务器

常用的Web服务器有IIS.Apache.Tomcat.Jboss.Resin.Weblogic.WebSpher IISIIS服务是Windows产品自带的一种免费的Web服务器,安装配置简单,主要解析的是ASP程序代码,对于小型的.利用ASP编程的项目,可以采用其作为Web服务器.一般可以跟Apache整合起来使用.这种服务在配置过程中需要注意权限的问题.Apache世界排名第一.免费开源的Web服务器软件,可以安装运行在绝大多数的计算机平台上,支持大多数语言开发的B/S结构软件.一般情况下

互联网常用技术名词大全

Internet(国际互联网) Internet是一个由各种不相同类型和规划的独立运转和办理的核算机网络构成的全球规模的核算机网络,构成Internet的核算机网络包含局域网(LAN).城域网(MAN)以及大规划的广域网(WAN)等.这些网络经过一般电话线.高速率专用线路.卫星.微波和光缆等通讯线路把不相同国家的大学.公司.科研组织以及军事和政府等安排的网络连接起来.Internet网络互连选用的根本协议是TCP/IP.Internet 用户能够运用Internet 所供给的运用体系去查询和获取

可伸缩性架构常用技术——之数据切分

可伸缩性架构常用技术 ——之数据切分(Data Sharding/Partition) 1 简介 本来想写一篇可伸缩性架构方面的文章,发现东西太多了,久久未能下笔,这里首先把大家最关注的数据切分(Partition/Sharding)方面的内容先写完,给大家参考. 我们知道,为了应对不断增长的数据,我们对数据进行切分,存储在不同的数据库里,本文提到的数据库在非特定指明的情况下,均指一个逻辑数据库(是一组数据库,比如Master-Slave),而非单一各个物理数据库. 其主要有两种方式: 垂直切分