修改Tomcat端口号:找到Tomcat目录下的conf目录,找到serverxmI配置文件。
将web工程部署到Tomcat上的两种方法:
第一种方法:只需要把web工程的目录拷贝到Tomcat的webapps目录下即可。
第二种方法:找到Tomcat下的conf目录\Catalina\localhost\下.创建如下的配置文件:
<!- Context表示一个工程上下文
path表示工程的访问路径:/abc
docBase表示你的工程目录在哪里 >
<Context path=/abc" docBase="E:book" 1>
访问Tomcat下的web工程:在浏览器中输入范围地址格式如下:
http://ip:port/工程名/目录名/文件名
一个动态web项目文件夹用处:
在XML文件中配置信息:
什么是Servlet:
1. Servlet 是JavaEE规范之一。规范就是接口
2. Servlet 就JavaWeb三大组件之一。 三大组件分别是: Servlet 程序、Fiter 过滤器、Listener 监听器。
3. Servlet 是运行在服务器上的一个java小程序,它可以接收客户端发送过来的请求,并响应数据给客户端。
Servlet的生命周期:
手动实现Servlet:
1、编写一个类去实现Servlet接口
2、实现service方法,处理请求,并响应数据
3、到web.xm]中去配置servlet程序的访问地址
ServletConfig类的三大作用:
1.可以获取Servlet程序的别名servlet-name的值
2.获取初始化参数init param
3.获取ServletContext对象
注意:如果重写初始化法,必须继承原来的初始化方法:否则得不到config参数
初始化变量声明方法:
可以获取servlet程序的别名servlet -name的值
获取ServletContext对象
也可以
什么是ServletContext?
1、SenletContext 是一一个接口,它表示Servlet上下文对象
2、 一个web工程,只有一-个ServletContext对象实例。
3、ServletContext 对象是一一个域对象。
4、ServletContext 是在web工程部署启动的时候创建。在web工程停止的时候销毁。
什么是域对象?
域对象,是可以像Map一样存取数据的对象,叫域对象。
这里的域指的是存职数据的操作范围。
ServletContext类的四个作用
1、获取web.xml中配置的上下文参数context-param
2、获取当前的工程路径,格式:工程路径
3、获取工程部曙后在服务器硬盘上的绝对路径
4、像Map一样存储数据
获取web. xml中配置的上下文参数context param
获取当前的工程路径,格式: / 工程路径
获取工程部署后在服务器硬盘上的绝对路径
/斜杠鼓服务器解析地址为:http://ip:pert/I程名/映射到IDEA代码的veb目录
通过继承HttpServlet实现Servlet程序(实际项目开发一般是这样做):
1、编写一个类去继承HttpSservlet 类
2、根据业务需要重写doGet或doPost方法
3、到web.xml中的配置Servlet 程序的访问地址
GET请求: POST请求:
get和post请求分别有哪些?
请求的转发:
请求转发是指,服务器收到请求后,从一次资源跳转到另一个资源的操作叫请求转发。
请求转发的特点:
1、浏览器地址程没有变化“
2、他们是一次请求
3、他们共享Request域中的数据
4、可以转发到WEB-INF目录下
5、不可以访问工程以外的资源
常用的响应码说明
200:表示请求成功
302:表示请求重定向
404:表示请求服务器已经收到了,但是你要的数据不存在(请求地址错误)
500:表示服务器已经收到请求,但是服务器内部错误(代码错误)
请求重定向的特点:
1、浏览器地址栏会发生变化
2、两次请求.
3、不共享Request域中数据
4、不能访问WEB-INF下的资源
5、可以访问工程外的资源
请求重定向的第一种方案:
第二种方案(常用):
在HTTP协议中有一个请求头,叫Referer,它可以把请求发起时,浏览器地址栏中的地址发送给服务器
HttpServletRequest类有什么作用。
每次只要有请求进入Tomcat服务器, Tomcat 服务器就会把请求过来的HTTP协议信息解析好封装到Request对象中。
然后传递到service 方法( doGet和doPost)中给我们使用。我们可以通过HttpServletRequest对象,获取到所有请求的信息。
aHttpServletResponse类的作用
HttpSerletResponse类和HttpServletRequest类-样。每次请求进来,Tomcat 服务器都会创建-个Response对象传
递给servlet程序去使用。HttpSerletRequest 表示请求过来的信息,HtpSerletResponse 表示所有响应的信息,
我们如果需要设置返回给客户端的信息,都可以通过HttpServletResponse对象来进行设置
HttpServletRequest类的常用方法:
设置请求体的字符集为UTF-8,从而解决post请求的中文乱码问题
注意:也要在获取请求参数之前调用才有效
base标签:可以设置当前页面中所有相对路径工作时,参照哪个路径来进行跳转,href属性就是参数的地址值
在web中斜杠(/)的不同意义:
/斜杠如果被浏览器解析,得到的地址是: http//:ip:port/
/斜杠如果被服务器解析,得到的地址是: http://ip:port/工程路径
特殊情况: response . sendRediect("/"); 把斜杠发送给浏览器解析得到http://ip:port/
两个输出流的说明:
字节流:getOutputStream(); 常用于下载(传递二进制数据)
字符流:getWiter(); 常用于回传字符串(常用)
注意:两个流同时只能使用一个。使用了字节流,就不能再使用字符流,反之亦然,否则就会报错。
设置服务器字符集为UTF-8
通过响应头,设置浏览器也使用UTF-8字符集
它会同时设置服务器和客户端都使用UTF-8字符集,还设置了响应头
注意:此方法一定要在获取流对象之前调用才有效