java Web(3)
Servlet
是运行在Web服务器或应用服务器上的Java程序
在Web上创建动态内容的有效而强大的解决方案
由容器来管理生命周期与Web服务器交互
由Sun规范了其功能
Servlet部署:
一个Servlet必须有三个名称:
1:是Servlet的名称,
2:是Servlet类的完整名称,
3:是映射的逻辑名称
总结:
Java Servlet是运行在Web服务器或应用服务器上的Java程序
Servlet规范对Servlet功能进行了严格定义
Servlet API与容器进行通讯
Servlet的编码和部署需要在web.xml中进行注册
Servlet的生命周期由4个阶段组成
SevletConfig对象为Servlet提供初始化参数
ServletContext对象属于整个Web应用程序
使用Servlet处理Http的响应
HttpServletResponse对象用于操纵响应的HTTP头
setHeader()
addHeader()
setIntHeader()
setDateHeader()
containsHeader()
setContentType()
addCookie()
重定项
response.sendRedirect("http://127.0.0.1:8080/lovobook/bar.html");
使用Servlet处理Http的请求
getMethod():获取HTTP的请求方法,例如GET、POST等
getRequestURI():获取请求的URI资源
getRequestURL():获取请求的URL,包含协议名、服务器名或IP、端口号和请求资源但不包括查询字符串参数
getQueryString():获取请求URL后面的查询字符串
getProtocol():获取HTTP的协议名和版本号
getContextPath():获取请求URI资源的上下文路径
getServletPath():获取Servlet的映射路径
getParameter()获取表单元素
request.getRequestDispatcher("/sucess.html").forward(request, response); 请求派发forward()方法意味着把请求和响应派发给别的资源后,就不会再去做任何处理了
request.getRequestDispatcher("/sucess.html").include(request, response); 请求派发include() 方法意味着请求别人帮助处理请求,但这并不是完全移交,只是暂时地把控制交给 别人
Servlet响应总结
请求URL时HTTP发出了多个请求
状态码告诉浏览器发送的内容及格式状态
Servlet API与容器进行通讯
HttpServletResponse定义的常量来避免直接使用整数
在通过PrintWriter对象发送任何内容之前先调用 HttpServletResponse的setStatus()方法
为了让Servlet发挥最大的效能,HttpServletResponse对象用于操纵响应的HTTP头
getWrite()或者getOutputStream()方法传送文本或者二进制内容给客户端
sendRedirect方法实现重定向
HTTP响应头“Refresh”会根据时间来控制响应
Servlet请求总结
HttpServletRequest对象主要用于处理分析请求
默认情况下,使用HTTP协议的GET方法提交请求
HTML表单通过“method”属性使浏览器使用HTTP POST方法
GET/POST方法适用于不同场合
HttpServletRequest对象中最常用的方法是获取请求表单参数
HttpServletRequest对象也可以得到请求中参数的原始字节数据
重定向和请求派发之间最大的区别在于,重定向让客户端浏览器来完成,而请求派发是在服务器端做工作
HttpServletRequest可以把一个对象用名字绑定在请求范围内,并且进行访问和删除
java Web(3)的更多相关文章
- 高效 Java Web 开发框架 JessMA v3.5.1
JessMA 是功能完备的高性能 Full-Stack Web 应用开发框架,内置可扩展的 MVC Web 基础架构和 DAO 数据库访问组件(内部已提供了 Hibernate.MyBatis 与 J ...
- 高效 Java Web 开发框架 JessMA v3.4.1
JessMA 是功能完备的高性能 Full-Stack Web 应用开发框架,内置可扩展的 MVC Web 基础架构和 DAO 数据库访问组件(内部已提供了 Hibernate.MyBatis 与 J ...
- java web 之客户关系管理系统
这个周末真的是觉得自己学会了一个比较高大上的本领,为什么这么觉得呢?那是因为星期六的时候觉得自己可以看看源码能做出来,可是让我头疼的是花费了一上午的时间还是没有弄出来,还好上天给了我机会,要是没有老师 ...
- Java Web中的中文编码
Java Web开发中经常会遇到中文编码问题,那么为什么需要编码呢?因为人类需要表示的符号太多,无法用1个字节来表示,而计算机中存储信息最小单元为1个字节.所以必须指定char与byte之间的编码规则 ...
- java web后台开发SSM框架(Spring+SpringMVC+MyBaitis)搭建与优化
一.ssm框架搭建 1.1创建项目 新建项目后规划好各层的包. 1.2导入包 搭建SSM框架所需包百度云链接:http://pan.baidu.com/s/1cvKjL0 1.3整合spring与my ...
- JAVA WEB项目中各种路径的获取
JAVA WEB项目中各种路径的获取 标签: java webpath文件路径 2014-02-14 15:04 1746人阅读 评论(0) 收藏 举报 分类: JAVA开发(41) 1.可以在s ...
- JAVA WEB WITH IDEA
本文主要介绍使用IDEA开发环境,创建JAVA WEB 工程,并介绍war包的制作过程. 1 创建MAVEN工程
- java WEB开发入门
WEB开发入门 1 进入web JAVASE:标准- standard JAVA桌面程序 GUI SOCKET JAVAEE:企业-浏览器控制 web 2 软件结构 C/S :client ...
- Jenkins 2.16.3默认没有Launch agent via Java Web Start,如何配置使用
问题:Jenkins 2.16.3默认没有Launch agent via Java Web Start,如下图所示,而这种启动方式在Windows上是最方便的. 如何设置才能让出来呢? 打开&quo ...
- 5款强大的Java Web开发工具
1.WebBuilder这是一款开源的可视化Web应用开发和运行平台.基于浏览器的集成开发环境,采用可视化的设计模式,支持控件的拖拽操作,能轻松完成前后台应用开发:高效.稳定和可扩展的特点,适合复杂企 ...
随机推荐
- bupt summer training for 16 #3 ——构造
https://vjudge.net/contest/172464 后来补题发现这场做的可真他妈傻逼 A.签到傻逼题,自己分情况 #include <cstdio> #include &l ...
- Beetl学习总结(1)——新一代java模板引擎典范 Beetl入门
1. 什么是Beetl Beetl目前版本是2.7.0,相对于其他java模板引擎,具有功能齐全,语法直观,性能超高,以及编写的模板容易维护等特点.使得开发和维护模板有很好的体验.是新一代的模板引擎. ...
- centOS下安装mysql workbench详细步骤
step0:安装mysql 在按照workbench之前,先安装mysql.指令是 yum install mysql mysql-server mysql-libs mysql-server 关于m ...
- [bzoj1007][HNOI2008]水平可见直线_单调栈
水平可见直线 bzoj-1007 HNOI-2008 题目大意:给你n条直线,为你从上往下看能看见多少跳直线. 注释:能看见一条直线,当且仅当这条直线上存在一条长度>0的线段使得这条线段上方没有 ...
- LeetCode OJ 之 Valid Anagram
题目: Given two strings s and t, write a function to determine if t is an anagram of s. For example, s ...
- 关于MySQL错误 2005 - Unknown MySQL server host 'localhost' (0) 原因及解决方法
今天在外面开navicat for mysql的时候,怎么也连不上自己本机上的数据库,一直显示2005 - Unknown MySQL server host 'localhost' (0): 错误代 ...
- php循环,die/exit脚本执行控制,文件载入及错误控制
循环控制 大部分和c/java同样 for循环 while循环 do while循环 foreach循环(特有) 循环中断 : 1.break: 用于全然停止某个循环,让运行流程进入到循环语句后面的语 ...
- java的死锁学习
学习java的死锁写的代码 也是看书上的然后自己敲了一个 <span style="font-size:18px;">package synchronization.j ...
- 【BASH】bash shell的使用实例
************************************************************************ ****原文:blog.csdn.net/clark_ ...
- unity中 拖拽随意的对象
孙广东 2015.8.16 目的 : 我们能简单的通过 鼠标位置 得到目标对象 假设没有使用刚体组件 Step - 1: 在3D项目中设置场景. 一个空对象命名为: DragAndDrop ...