`
strong_fee
  • 浏览: 179231 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

Servlet总结

    博客分类:
  • Java
阅读更多

申明:本笔记参考视频《尚学堂Servlet笔记》

 

 

一、  配置

1、   运行Tomcat需要配置环境变量JAVA_HOME

2、   更改端口,conf/server.xml Connector port

3、   当项目(Web-Info)发生变化时使Tomcat自动加载,conf/context.xml中的Context中加上属性,reloadable =”true”

4、   相对路径:不是以http//或者/开头的路径。对于绝对路径,在html/代表的是http://localhost:8080/,而Servlet配置文件中,/代表http://localhost:8080/app/ .

5、   删除使用相同端口的进程

netstart –a 查处端口号是否被使用

netstart –o 查找端口好对应的线程号

在进程管理器中将对应的进程杀死

二、  Servlet的乱码解决

1、   向前台写中文,需要在getWriter()前调用resp.setContentType(“text/html;charset=GBK”);或者调用resq.setEncoding(“GBK”);

2、   对于post方式,需要从前台获取中文,需要调用reqsetEncoding()方法。

3、   对于get方式,需要在server.xmlConnector中加入属性,URIEncoding=”GBK”

4、   向浏览器的地址栏中写入中文,需要转码,如userName=URLEncoder(username, ”GB18030”);

乱码场合:

1、   默认情况下(什么都不写),通过get方式(get表单和链接),中文乱码,通过form方式,能得到中文。

2、   加上<%@ page contentType=”text/html;charset=GBK”%>post方式得到乱码,get方式得到中文。

如果在servlet中,则加入resp.setContentType(“text/html;charset=gbk”)

3、   在加上request.setCharacterEncoding(“gbk”)都能得到中文。

4、   对于场合,<jsp:param name=”user” vlue=”<%=s%>”>url地址中包含中文参数,解决办法为<%request.setCharacterEncoding(“gbk”)%>

三、  Servlet生命周期

1、   加载

加载时间有以下三种情况:

(1)         如果某个Servelt配置了自动载入选项,则在启动服务器时自动载入

(2)         如果没有,则在服务器启动后,客户机首次向Servlet发出请求时

(3)         重新加载Servlet

2、   实例化

客户机第一次想Servlet发出请求时实例化相应的Servlet

3、   init

实例化之后,自动调用init方法。

4、   servicedoGetdoPost

以多线程的方式来调用service方法,客户端没发出一个请求,容器则为其分配一个限制的线程来调用service方法,由service方法根据请求的方式来调用doGetdoPost方法。因为是以多线程的范式访问,所以最好不要在servlet中设置成员变量。

5、   destroy

关闭web应用程序、或者重新加载Servlet时,调用destroy方法。

四、  获取Servlet中参数的方法

1、   Servlet中设置参数

<servlet>

           <servlet-name></ servlet-name >

           <servlet-class></ servlet-class >

           <init-parameter>

                    <param-name>name</param-name>

                    <param-value>小王</param-value>

                    <param-name>name</param-name>

                    <param-value>小王</param-value>

</init-parameter>

</servlet>

2、   根据param-name获取某个参数

String name=this.getServletConfig().getInitParameter(“name”);

如果web.xml的编码方式为ios8859-1,则可以手工将其转化为gbk

name=new String(s.getBytes(“ios8859-1”,”GBK”));

3、   获取Servlet相关信息

String servletName=this.getServletConfig().getServeltName();

4、   获取Servlet所有Init参数

Enumeration parames=this.getServletConfig().getInitParameters();

while(parames.hasMoreElements()){

           String name=parames.nextElement().toString();

                  

}

五、  GenericServlet类的两个Init方法

1、   init(ServletConfig( config)

init()

2、   Tomcat调用的是第一个init方法,在第一个init方法中,初始化config,然后再调用第二个init方法。所以重载父类的init方法是,最佳方法是重载第二个init方法。如果重在第一个init方法,则需要调用父类的第一个init方法,以初始化config

六、  获取参数

1、   对于只有一个值的form元素,可以使用req.getParameter(“name”)方法获取参数

2、   可以通过req.getParameterNames()方法获取所有form表单中的名字,返回类型为Enumeration

3、   如果有多个相同名字的form元素,可以通过方法req.getParameterVales(“name”)获取,返回类型为String[]

4、   通过方法request.getParameterMap()方法可以获取form元素的名称和其值的map

七、  cookie

1、   Cookie分为两种,一种属于窗口/子窗口(放在内存中),另一种属于文本(有生命周期)

2、   一个servlet/jsp设置的cookies能够被同一个路径(url)下面或者子路径下面的servlet/jsp读到,反之则不能。

3、   添加一个cookie

Cookie cookie=newCookie(cookieName,cookieValue);

response.add(cookie);

4、   得到cookie

Cookie[] cookies=request.getCookies();

5、    

八、  session

1、   session常见的两种实现方式:

1)   通过在客户端的cookie中加入sessionID实现session

2)   通过url重写实现session

response.encodeUTL(request.getRequestURL.toString());

2、   servlet中得到session

req.getSession(true);其中true表示,如果没有session实例,则创建一个。

3、   配置session的生命周期

conf/web.xml中的session的子标签session-timeout

4、    

九、  application

Servlet中对应的类为ServletContext

十、  cookiesession的区别

1、   cookie存储在客户端,session存储在服务器端。

2、   cookie有两种类型,而session有两种实现方式。

3、   父路径下不能访问子路径的cookie,而同一个session的窗口共享一个session

 

分享到:
评论

相关推荐

    jsp Servlet总结

    jsp servlet开发总结文档 jsp Servlet总结jsp Servlet总结jsp Servlet总结

    servlet总结

    ### servlet总结:深入理解Web开发的核心组件 #### 一、Servlet概述 Servlet是一种用Java语言编写的Web组件,运行在Web服务器端,主要用于扩展Web服务器的功能,产生动态网页输出。Servlet自诞生以来,逐渐取代了...

    servlet 总结

    servlet 总结 一、HTML 基础 HTML(HyperText Markup Language)是用于创建网页的标记语言。它由一系列的元素组成,每个元素都有其特定的功能。HTML 的基本结构由 `&lt;html&gt;`、`&lt;head&gt;` 和 `&lt;body&gt;` 组成,分别对应...

    servlet总结(自己从网上下载的)

    - **请求转发**:在`Servlet总结02——请求转发.docx`中详细介绍了,请求转发是服务器端内部的跳转,使用`RequestDispatcher`的`forward()`方法,转发后,URL不会改变,多个资源可以共享同一个请求对象。...

    servlet总结的基础和重要的知识点

    servlet总结 都是基础和重要的知识点 大学软件专业的上课资料 想巩固基础知识请进

    Tomcat开发jsp与servlet总结参考.pdf

    Tomcat开发jsp与servlet总结参考.pdf

    Tomcat开发jsp与servlet总结.pdf

    总结来说,开发JSP与Servlet的过程涉及多个方面,包括编写代码、配置部署描述文件、编译、部署和测试,最终通过服务器的配置来访问Web应用。Tomcat作为中间件,提供了运行这些应用所需的环境和框架支持。在开发过程...

    北大青鸟Servlet总结

    【Servlet 概述】 Servlet 是 JavaEE(Java Platform, Enterprise Edition)中的核心组件,主要用于处理 Web 应用中的服务器端任务。它与 HTTP 协议紧密相关,能够处理 HTTP 请求的各个方面,包括接收请求、处理...

    Servlet基础知识总结

    ### Servlet基础知识总结 #### 一、Servlet简介 Servlet是一种服务器端的小程序,是Java平台上的一个重要的技术之一,主要用于处理客户端的HTTP请求并生成动态网页。Servlet是在服务器端运行的,能够提供各种服务...

    servlet ppt

    Java web 开发,servlet ppt 教学用,自学用

    JSP与Servlet 技术总结

    JSP & Servlet 技术总结 JSP技术总结 2 1. JSP页面元素构成 2 2. JSP脚本元素 2 3. 注释 2 4. JSP指令 2 5. JSP动作元素 3 6. JSP内置对象 5 7. JSP内置对象及其作用 5 8. 获取页面参数 5 9. 重定向...

    servlet与jsp总结

    自己总结的servlet与jsp部分 希望对大家有所帮助

    web Servlet 的知识总结

    黑马 程序员-方立勋老师-javaWeb开发-03-Web开发入门和 04-Servlet开发和ServletConfig和ServletContex对象 知识总结记录

    JavaWeb-Servlet学习与总结

    ### JavaWeb-Servlet学习与总结 #### 一、Servlet简介 Servlet是一种运行在服务器端的小程序,主要用于处理客户端发送的HTTP请求并返回响应结果。它作为Java Web开发的基础技术之一,广泛应用于各种Web应用程序中...

    jsp servlet面试题总结

    jsp servlet面试题总结 jsp 中九大内置对象为: 1. request 请求对象,类型 javax.servlet.ServletRequest,作用域 Request 2. response 响应对象,类型 javax.servlet.SrvletResponse,作用域 Page 3. ...

    用于servlet程序的开发的servlet-jar包

    总结来说,`servlet.jar.zip`是用于开发基于Java Servlet的web应用的重要工具,其中的`servlet.jar`提供了Servlet API,使得开发者能够编写与HTTP服务器交互的Java代码,而`license.txt`则需仔细阅读,遵循其中的...

    javaEE servlet-api

    总结一下,Java EE的Servlet API是Web开发的关键组件,它定义了处理HTTP请求的规范,使得开发者能够用Java语言构建动态Web应用。通过`servlet-api.jar`库,我们可以实现Servlet和Filter,参与到HTTP请求的生命周期中...

Global site tag (gtag.js) - Google Analytics