servlet与jsp小结

作者:无名 - 其它综合 -

(一)servlet

1、部署servlet容器
1)安装jdk,配置java_homelt;根路径gt;;解压tomcat
2)在path下加入tomcat脚本路径lt;任意目录下打开gt;,配置catalina_homelt;根路径gt;
3) 通过tomcat配置文件下的server.xml修改端口号lt;port="8080"gt;
4)通过conf下tomcat-users.xml 修改tomcat manager 用户名密码
lt;tomcat-usersgt;
lt;role rolename="manager-gui"/gt;
lt;user username="tomcat" password="s3cret" roles="manager-gui"/gt;
lt;/tomcat-usersgt;
2、java web 目录结构
- webcontent
- web-inf
- classes
- lib
- web.xml
- jsp 页面
- html 页面
- 图片 ...
1) eclipse修改编译文件默认输出目录,设为classeslt;build path --gt;配置build path--gt;sourcegt;
2)在tomcat的conf目录下依次创建 catalina/localhost/test.xmllt;配置任意目录下的web应用程序gt;
lt;context
path="/wuyong"
docbase="c:\\users\\administrator\\workspace\\test_3\\webcontent"
reloadable="true"/gt;
!path名作为manager下的配置名
3、使用eclipse开发java web项目
1)定制new透视图lt;windows--gt;perspective--gt;customize perspectivegt;
2) servlet容器管理servlet生命周期
加载:指定创建实例的顺序lt;load-on-startupgt;
构造器:创建servlet实例
init()
service()
destory()
4、servletconfig接口对应的方法
getinitparameter();
getinitparametername();
servletname();
servletcontext();
1)获取当前web应用的某一个文件在服务器上的绝对路径,而非部署前的路径
getrealpath(string path);
2) 获取当前web应用的名称
getcontextpaht();

作为一个电脑工作者就应该自己装配电脑,从而节省经济和提高开发效率。
5、servletcontext接口
设置初始化参数:lt;全局的gt;
lt;context-paramgt;
lt;param-namegt;driverlt;/param-namegt;
lt;param-valuegt;com.mysql.jdbc.driverlt;/param-valuegt;
lt;context-paramgt;
设置servlet初始化参数:lt;局部的,servlet的load-on-startup之前gt;
lt;init-paramgt;
lt;param-namegt;userlt;/param-namegt;
lt;param-valuegt;rootlt;/param-valuegt;
lt;/init-paramgt;
lt;init-paramgt;
lt;param-namegt;passwordlt;/param-namegt;
lt;param-valuegt;123456lt;/param-valuegt;
lt;/init-paramgt;
6、get请求与post请求
get请求数据添加在地址栏,数据量与url地址容纳量有关,一般4kb-7kb
post请求数据封装在form data,数据量无限制
7、service()
servletrequest:封装了请求信息
1)获取请求参数
string getparameter(string name):根据请求参数名,返回一个参数值
string getparametervalues(string name):根据请求参数名,返回参数对应的字符串数组
enumeration getparameternames():返回参数对应的enumeration对象
map getparametermap():返回键值对 key--gt;参数名 value--gt;参数值,string类型
2)获取请求url
3)获取请求方式
4) 若是get请求,获取url ?后的数据
5)获取servlet的映射路径
6)和attribute相关的几个方法:
servletresponse:封装了响应信息
1)*getwriter():返回printwriter 对象.调用该对象的print()方法,把print的参数打印到浏览器
2)设置响应类型:response.setcontenttype("application/msword")
3) void sendredirect(string location):指定的重定向.(此方法为httpservletresponse中定义)
8、servlet接口的实现类
genericservletlt;不常用gt;
httpservletlt;http协议定制的gt;

(二)jsp
1、jsp的定义:全称java server pages,java服务器页面。其根本是一个简化的servlet设计。
2、jsp的九个隐含对象lt;没有声明就可以直接使用gt;
request
response
pagecontext
session
application
config
out
page
exceptionlt;特殊:前提是设置了page标签的属性--gt;iserrorpage="true"gt;
3、换行的2种方式
① %gt;
  lt;brgt;
   lt;%
② out.print("lt;brgt;");
4、作用域属性范围从小到大
pagecontext,request,session,application
5、jsp语法
1)静态html内容称
2)jsp表达式 lt;%= %gt;
3) 脚本片段,java代码中圈套html代码的 java代码片段,多个脚本片段可以相互进行访问
4)jsp声明 lt;%! %gt;
5) jsp注释 lt;%-- --%gt; html注释lt;!-- --gt;
6、域对象的属性操作
域对象:
pagecontext:属性的作用范围仅限于当前jsp页面
request:属性的作用范围仅限于同一个请求
session:属性的作用范围限于一次会话:浏览器打开直到关闭称之为一次会话lt;在此期间会话不失效gt;
application:属性作用范围限于当前web应用.只要在一处设置属性,在其他各处的jsp或servlet都可 以获取,服务器关闭或重启消失
7、请求重定向与请求转发
servlet类的创建,可选择映射和方法
请求转发与重定向:
1)本质区别:请求的转发只发出一个请求,而重定向则发出了两次请求
具体:
①请求的转发:地址栏是初次发出请求的地址
请求的重定向:地址栏不再是初次发出的请求地址,地址栏为最后响应的那个地址
②请求的转发:在最终的servlet中,request对象和中转的request对象是同一个
请求的重定向:在最终的servlet中,request对象和中转的request对象不是同一个对象
③请求的转发:只能转发给当前web应用的资源
请求的重定向:可以重定向到任何资源
④请求的转发:/ 代表的是当前 web 应用的根目录
请求的重定向:/ 代表的是当前 web 站点的根目录
requestdispatcher
requestrediect
8、jsp 2.0的三种指令page,include,taglib
page指令:
1)全局任意位置都全局有效,建议放在起始位置
2)page指令的 常用 属性:
①import属性:指定当前jsp页面对应的servlet要导入的类
lt;%@ page import="com.ants.test.test"%gt;
②session属性:取值为true 或false,指定当前页面的session隐藏变量是否可用
lt;%@ page session="false"%gt;
③errorpage 和 iserrorpage
gt; errorpage 指定若当前页面出错实际响应的页面,/ 代表当前 web 应用根目录,请求方 式是 请求转发
lt;%@ page errorpage="/error.jsp"%gt;
gt; iserrorpage 指定当前页面是否为错误处理页面,属性值为 true 则可以使用隐含对象 exception,不建议能够直接访问该页面,属性值默认为 false
gt; web-inf下的文件为隐私文件不能通过url直接访问,但可以通过请求转发访问
lt;%@ page errorpage="/web-inf/error.jsp"%gt;
④contenttype属性:指定当前页面的响应类型,实际调用的是response.setcontenttype ("text/html;charset=utf-8")
⑤pageencoding属性:指定当前jsp页面的字符编码.通常和contenttype中的charset一致
⑥iselignored属性:指定当前页面是否可以使用el表达式,通常取值为true
include指令:将其他文件静态引入servlet源文件中,其中file属性用于指定被引用文件的相对路径,若以/
开头则是 web 应用的根目录
lt;%@ include file="registerurl"%gt;
9、jsp标签
标签名以小写jsp作为前缀,如lt;jsp:includegt;、lt;jsp:forwardgt;
lt;jsp:includegt; 将其他文件资源 动态引入,生成2个servlet源文件
lt;jsp:include page="b.jsp"gt;lt;/jsp:includegt;
lt;jsp:forwardgt;
lt;jsp:forward page="/include/b.jsp"gt;lt;/jsp:forwardgt;
10、中文乱码问题
1)jsp、开发工具、浏览器的编码格式改为utf-8
2)若get请求--gt;servlet容器中conf/server.xml 修改编码格式
若post请求--gt;servlet接口中的service()中添加lt;前提extends httpservlet实现类gt;
request.setcharacterencoding("utf-8")
response.setcharacterencoding("utf-8")
11、mvc设计模式

servlet与jsp小结

原文地址:http://www.cnblogs.com/tianmu/p/7680457.html

IT人知识库 该篇知识地址:http://www.itpeo.net/9999/4542237.html





标签 小结

2016集训测试赛(二十五)小结

这场测试赛有必要小结一下.   昨晚 1 点才睡, 今天状态很差, 先睡了 1 个小时, 然后开始打比赛. 第一题不 ...

反射获取成员变量,并修改值

/* * 反射获取成员变量,并修改值 * person类中的成员string name */ publi ...

4455[Zjoi2016]小星星容斥+dp

4455: [zjoi2016]小星星time limit: 10 sec memory limit: 512 mbsu ...

在配置文件web.xml中配置Struts2的启动信息

在配置文件web.xml中配置struts2的启动信息: lt;xml version="1.0" encoding=" ...

初用方块

html部分 lt;!doctype htmlgt;lt;htmlgt;lt;headgt;lt;meta charse ...

机器学习环境配置系列二之cuDNN

1、下载cudnn 前往:nvidia cudnn home page. 进入下载 勾选nvidia的协议复选框(流氓 ...

解析浏览器地址栏查询字符串参数

function getquery() {   let search = location.search.length ...

android开发设计模式---观察者模式

情景1 有一种短信服务,比如天气预报服务,一旦你订阅该服务,你只需按月付费,付完费后,每天一旦有天气信息更新,它就 ...

ABAP接口用法

1、定义接口interface intf [public]. [components] endinterface. 2 ...

(六-2)八种定位方式

1.xml 可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。 与html类似,但 ...

13-scrapy中selenium的应用

一. 引入   在通过scrapy框架进行某些网站数据爬取的时候,往往会碰到页面动态数据加载的情况发生,如果直接使用sc ...

一本通1617:转圈游戏

转圈游戏 比较容易想到的思路: 进行10^k轮游戏后的结果与进行(10^k)%n 的结果是一致的,所以只需要快速幂求(1 ...

BETWEEN

选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。 选取 alexa 介于 1 和 20 之间的所有网 ...

企业公众服务号如何做好内容运营?

对于公众号运营者的我们来说,“内容运营”这个词并不陌生,每天编辑、排版推送的文章消息都可以算作内容运营,内容的形式包括文 ...

2019杭电多校二F.FantasticMagicCube(FWT)

大意: 给定$n^3$立方体, 每个单位立方体权值为三个坐标异或, 每次沿坐标轴切一刀,得分为两半内权值和的乘积, 求切 ...

我的第一个例子

import sysfrom pyqt5.qtwidgets import qapplication, qlabeli ...

未雨绸缪:学习Go语言之前的几点准备

最近对google开发的go语言非常感兴趣,来学习一下。在学习之前,我要做以下几点准备。 什么是go语言 2.为什 ...

动态规划最小编辑代价

题目描述: 给定两个字符串str1和str2,再给定三个整数ic,dc,rc,分别代表插入、删除、替换一个字符的代价,返 ...

wifi无线认证,802.1x认证上网方式详解

图片描述(最多50字) 这里,主要介绍一下802.1x认证上网: 1 802.1x认证上网简介802.1x认证上网是指在 ...

手机号隐藏中间4位变成****

/** * 手机号隐藏中间4位变成**** **/ export function phone(num) { ...