1. Servlet的功能:
Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的 Web页面。 它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。
Servlet担任的角色示意图
2. Servlet的本质
Servlet的本质是一个java类,只不过它继承了HttpServlet这个类,我们只要实现其中额一个或者几个方法就可以,它从父类继承的方法有几个:
3、Servlet的配置信息
由两部分组成,<servlet></servlet>部分和<servlet-mapping><servlet-mapping>部分
1)<servlet></servlet>部分
<description>对sevlet的描述 </description>
<display-name>servelt显示的名字 </display-name>
<servlet-name>实现的servelt类</servlet-name>
<servlet-class>实现的servlet类路径 </servlet-class>
</servlet>
2) <servlet-mapping><servlet-mapping>部分
<servlet-mapping>
<servlet-name>实现的servelt类名 </servlet-name>
<url-pattern>请求路径 </url-pattern>
</servlet-mapping>
执行过程:
注意事项:两部分中的<servlet-name>中的名字要一致,请求路径有3种,/*表示所有请求都会调用该servlet,/.*表示所以以.*结尾的请求都调用它,如/.asp,则所以以.asp结尾的请求都调用该servlet,/+名字,比如,/loginServlet则请求为loginServlet时调用他。
4 Servlet接受客户端的请求参数
Servlet可以通过request.getParameter(String s)的方法从客户端,也就是浏览器页面得到相应的参数,其中的s必须是在form表单中某个输入框的name属性的值,其他的参数,不能用这个方法得到,这个方法返回的为一个String类型,如果需要得到int型,这调用Integer.parseInt(s)将字符转换为int 型 ,但是前提是s
只能包含数字,否则会报错。
5 Servlet的转发方式
include
|
表将url中的内容包含到当前的servlet输出当中,在服务器端完成,称做包含
|
forward
|
将当前request和response交给指定的url处理,一般称做转发请求,在服务器端完成,客户端地址栏看到的路径还是当前servlet的路径。
|
sendRedirect
|
指示客户端重新发起一次请求,第二个请求指向其参数url。一般称做重定向,客户端的地址栏将改变为url值,是由客户端发起的第二次请求。
|
6 get和post处理乱码问题
GET和POST方法提交的信息,tomcat采用了不同的方式来处理编码,对于POST请求,Tomcat会仍然使用request.setCharacterEncoding方法所设置的编码来处理,如果未设置,则使用默认的iso-8859-1编码。而GET请求则不同,Tomcat对于GET请求并不会考虑使用request.setCharacterEncoding方法设置的编码,而会永远使用iso-8859-1编码,而这位朋友使用的正好是GET请求,因此,tomcat将会使用iso-8859-1将提交的字节转换成字符串。
解决的方法有三个:
1. 将GET请求改成POST请求,然后就可以使用request.setCharacterEncoding(“GBK”)方法设置编码,并使用request.getParameter方法直接获得中文请求参数了。
2. 不用改GET请求,在Servlet中使用如下的代码来得到中文请求参数。
String name = new String(request.getParameter("name").getBytes("ISO-8859-1"), "GBK");
3.为了保证get数据采用UTF8编码,在server.xml中进行了如下设置
<connector port="8080" maxthreads="150" minsparethreads="25" <br="">maxSpareThreads="75" enableLookups="false" redirectPort="8443"
acceptCount="100" debug="99" connectionTimeout="20000"
disableUploadTimeout="true" URIEncoding="UTF-8"/>
7 运行时参数的设置
Servlet中只要有三个运行时用来保存数据的对象,他们的作用范围如下:
对象
|
说明
|
ServletRequest
|
保存的键值仅在下一个request对象中可以得到,常用做在转发请求时共享数据;
|
Session
|
做用域是一个用户会话范围,从session第一次创建直到Session因超时或客户端关闭之前,数据会一直存在;Session常用做存入某个用户相关的数据对象,常用来保存登录的用户名,以便用来欢迎用户的登陆
|
servletContext
|
代表了servlet环境的,只要某个web应用在启动中,这个对象就一直有效,所以它是数据存活范围(时间)最大的一个;常用存放Web应用程序全局性的数据,例如登记服务器在线人数的数据,可以保存到这个对象中。
|
一般设置公共信息时都是保存在servletContext中,通过调用setAttribute("键名", 键值),需要时调用,键值=getAttribute(“键值”),得到键值,不需要时,可以通过removeAttribute(“键值”),比如退出登陆时,就要把键值移除。
- 大小: 4.1 KB
- 大小: 8.6 KB
- 大小: 21.1 KB
分享到:
相关推荐
学习javaweb写的一个小项目(学生信息管理系统),用到知识点:Servlet+jsp+MySQL
基于JSP+servlet的水果购物系统,基本把所学的servlet所用到的知识点都用上了,代码简洁易懂,适合初学者
人工智能-项目实践-信息化管理-信息管理系统设计与开发
这是一个后台管理程序的DEMO。具有管理员管理功能。用到了jdbc,servlet,jsp等相关知识,供参考。
慕课网上jsp+servlet技术生成报表 一课的源码。并不完全,且要配数据库,但是基础知识点都是用到的,且能正常运行。希望对初学者有所帮助。我也是花了很多时间编写和调试的。
1.4 本书用到的软件及获取 第2章 预备知识 2.1 Java程序设计基础 2.1.1 Java语言规则 2.1.2 Java变量和函数 2.1.3 子类 2.1.4 this和super 2.1.5 类的类型 2.1.6 抽象类 2.1.7 接口 2.1.8 包 2.2 ...
本次设计主要用的思想是MVC设计模式,Jsp充当View的角色,servlet充当...并通过调用javabean进行实际的执行,这样页面与逻辑就得到了分离,互不干涉和影响实现了购物的一些简单操作,本程序没有用到数据库的知识。
此项目为本人学习时的项目,修改后上传!Servlet和Jsp涉及到的知识点都用到了,希望大家喜欢
学了java web,就是j2ee的知识,没有用到框架,写的一个学生信息管理系统。包括了管理员的注册、登录,管理员登录后,可以查看学生信息,并对这些学生信息进行增删改查(查只能通过id查),代码也包含在src中。前端...
他写的非常好,很详细,而且还把其中的注意事项也写的很详细,从头到尾要用到的servlet知识他都写到了
最全面的J2ee学习资料,我在学习过程中只用到了这些资料我强烈推荐大家是用这些资料! 里面内容包括jsp servlet struts hibernate各个知识点的详细讲解以及使用方法! 有.doc版和pdf版
简介:本项目是javaweb最佳实践,用到一些诸如servlet的最基础的知识。欢迎star。。环境:jdk:jdk1.8.0_121,tomcat:tomcat8.0.52需要了解的知识点:html,css,JavaScript,jquery等前端基础;java基础;简单...
本人在从事java项目开发过程中的笔记,积累了一些经常google的知识,希望对大家有所借鉴
本系统有我们小组三个人开发完成,用到了JS\JQUERY\HTML\AJAX\jsp\servlet 等java基础和网页基本知识。本系统是纯JDBC实现。没有使用框架技术。若要数据库设计之类的文件,可以联系!
上传图片upload,很好的,带进度条,servlet知识做的,用到了servlet,监听器等等知识,Jquery插件。
用到了jdbc,servlet,jsp等相关知识,供参考。 This is a DEMO of the Admin process. With administrative management functions. Using jdbc,servlet,jsp and other related knowledge, for your reference.
整个项目用到的技术有:javaweb基础知识(servlet、jsp),反射,泛型,装饰着模式(其实就过滤器的时候用到了一下),Jquery,ajax,javascript 反正就是写的时候想到什么用的什么。实现的功能有:前台登录注册,前台...
实现的功能点: ...本web应用的页面是纯servlet的,用到的Java web技术: 1.Jdbc; 2.Servlet; 3.一点点cookie; 4.一点点session; 其他知识点: 1.一点点Javascript ; 2.简单的手写MVC三层开发模式;
还用到了JSTL,jQuery,Chart.js等来优化页面 ## 基本功能: 1. 用户注册,用户/管理员登录 2. 用户修改个人信息、密码 3. 管理员对用户进行增删改查(分页) 4. 管理员对餐点进行增删改查(分页),可上传...
这是我自已开发的一个网站,用到了jsp、servlet、dao等知识,大家参考一下。