一、tomcat
1. 配置文件
server.xml : 配置tomcat的参数,服务器启动时加载修改了一定要重启服务器
web.xml :每个web应用的web.xml文件都会继承该文件下所有的配置
二、servlet
1. 一个java类实现了Servlet接口,我们就称之为Servlet
2. 默认的实现类
GenericServlet: 提供了getServletConfig和getServletContext方法
HttpServlet:覆写了service方法,将ServletRequest和ServletResponse强转为子类HttpServletRequest和HttpServletResponse判断请求方式,从而决定去调用doGet和doPost
所以,子类只需要覆写doGet 和 doPost 即可
3. Servlet的映射
Servlet需要在web.xml文件中做映射,web容器才能对Servlet进行初始化
<servlet> 为 servlet 起别名
<servlet-mapping>为 servlet映射访问路径以'/'开头,代表web应用
4. ServletConfig
读取servlet初始化信息
5.ServletContext
代表当前web应用,也被称为 servlet上下文
它是域对象,可以让多个servlet共享数据
读取web应用下的所有文件
getRealPath 获得绝对路径
getResourceAsStream获得输入流
6. 类加载读文件
Demo.class.getClassLoader().getResource().getPath();获得绝对路径
Demo.class.getClassLoader().getResourceAsStream()获得流
三、request和response
1. request
获得ie发送的数据
常用方法
getMethod 获得请求方式
getRequestUri 获得请求资源名
getHeader 获得请求消息头
getParameter 获得请求参数
getParameterNames获得所有参数名 结合BeanUtils 使用
getRemoteAdress()获得来访者ip
请求转发
request.getRequestDispatcher("/index.jsp").forward(request,response);
mvc 设计模式
servlet处理用户的请求,将结果转发给jsp 数据封装在javabean
获得请求参数中文乱码问题
get
String result =new String(data.getBytes("iso-8859-1"), "utf-8");
post
request.setCharacterEncoding("utf-8");
-------
mvc模式下:
response.sendRedirect 重定向 让其他servlet来处理,servlet让浏览器找其它servlet来处理
request.getRequestDispatcher请求转发 使用jsp来显示, servlet自己找其它jsp来显示
-------
2. response
向ie发送数据
response.getWriter()获得字符流
response.getOutputStream()获得字节流
两者不可同时调用
乱码问题
response.setContentType("text/html;charset=utf-8");
文件下载
文件名中文乱码问题
原因在于文件名是跟着http头发送的需要进行url编码
讲解了url编码
请求重定向
response.sendRedirect("/day08/.....")
response.sendRedirect(request.getContextPath()+ "/.....");
四、 会话技术cookie 和 session
1. cookie
存在客户端浏览器
name=value 的形式
cookie需要设置有效时间才会缓存,否则只在浏览器进程有效
cookie.setMaxAge()如果设置为0,则命令浏览器立即删除cookie
设置有效路径
cookie.setPath();
默认在当前路径有效
举例:/day07/servlet/CookieServlet -- 只在访问 /day07/servlet 开头的路径时才发送cookie
cookie.setDomain();设置有效主机
案例: 显示曾经浏览过的商品
2. session
HttpSession
存在服务器端的
底层是依赖cookie实现的
浏览器来访问服务器,web服务器创建一个session对象,并将sessionid以cookie的
形式发送给浏览器,浏览器再次访问服务器时会带着cookie来,服务器根据cookie
中保存的sessionid获得session对象为用户服务
session 默认失效时间为30分钟
在 web.xml 文件中可以设置
<session-config>
<session-timeout>11</session-timeout>
</session-config>
案例:
购物案例(实现多浏览器共享session)
url重写(解决浏览器禁用cookie的问题)
防表单重复提交
用户登陆
五、 jsp
1. jsp 工作原理
ie访问一个jsp,jsp引擎将jsp翻译成servlet ,剩下的事和servlet的访问过程一样
2. jsp语法
jsp指令 page指令 : import导包 session指定是否用session pageEncoding解决编码
jsp写java代码
jsp脚本表达式 jsp脚本片段 jsp声明
3. 九个隐式对象
configServletConfig
applicationServletContext
responseHttpServletResponse
requestHttpServletRequest
session HttpSession
out JspWriter
page this
exceptionThrowable (需要配置isErrorPage)
pageContextPageContext
pageContext主要功能,用于获得其他8大隐式对象
pageContext 也是一个域对象,但只是在当前jsp页面有效
4. web开发的四个域对象
page requestsession application
什么时候用
page: 用map不如用page
request: 请求转发
session: 请求重定向
application : 全局数据
六、 javabean
javabean 特定写法的java类,必须有无参构造方法、属性私有、共有的setter和getter
七、 el表达式
数据访问语言 用于取数据
从四个域取对象
取javabean的属性
取容器的元素 arrlist map
11个隐式对象
pageContext、param、paramValues、header、headerValues
pageScope、requestScope、sessionScope、applicationScope
cookie、initParam
pageContext:该对象实例对应于当前页面的处理。
pageScope:与页面作用域属性的名称和值相关联的Map类。
requestScope:与请求作用域属性的名称和值相关联的Map类。
sessionScope:与会话作用域属性的名称和值相关联的Map类。
applicationScope:与应用程序作用域属性的名称和值相关联的Map类。
param:按名称存储请求参数的主要指的Map类。
paramValues:将请求参数的所有值作为String数组存储的Map类。
header:按名称存储请求头的主要指的Map类。
headerValue:将请求头的所有值作为String数组存储的Map类。
cookie:按名称存储请求附带的Cookie的Map类。
initParam:按名称存储Web应用程序上下文初始化参数的Map类
el自定义函数
1) 写一个java类,定义一个静态方法
2) 在 WEB-INF目录下写 tld文件
3) 在jsp页面引入tld标签库 直接使用
八、 jstl标签
导入两个jar包 Jstl.jar Standard.jar
在jsp页面要声明引入标签库
<%@ taglibprefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
1、forEach 迭代标签
用于循环遍历
<c:forEach var="good" items="${goodlist}"></c:forEach>
2、if 条件判断
<c:if>标签 用于判断
3、<c:choose>、<c:when>和<c:otherwise>标签
if标签没有else的功能。如果需要类似与Java中if...else...的流程,需要使用choose标签。choose标签连同when,otherwise标签一块实现if...else...功能。
<c:choose>
<c:whentest="${ status == 'login' }">
when标签的输出
</c:when>
<c:otherwise>
otherwise标签的输出
</c:otherwise>
</c:choose>
当<c:when>标签中获得的参数值时login时,显示了<c:when>标签中的内容。如果获得的参数值不满足<c:when>标签中的条件,则进入<c:otherwise>标签。这里的<c:when>和<c:otherwise>相当于Java中的if...else...语句。
后面不有很多标签,又后总结
分享到:
相关推荐
详细介绍了javaWeb中的各个概念,用法,自己学习所总结
个人学习期间的总结,可能有些地方还不足,望指教主要内容有:Tomcat服务器 ,XML ,HTTP协议 ,servlet技术 , servlet应用 , Cookie , session , 过滤器 , 监听器
采用java技术构建的一个管理系统。整个开发过程首先对系统进行需求分析,得出系统的主要功能。接着对系统进行总体设计和详细设计。总体设计主要包括系统功能设计、系统总体结构设计、系统数据结构设计和系统安全设计...
2.7 本章小结 3 系统分析 7 3.1 可行性分析 3.1.1 技术可行性 7 3.1.2 经济可行性 8 3.1.3 操作可行性 8 3.1.4 发展可行性 8 3.2 性能需求分析 8 3.3 系统流程分析 9 3.3.1 登录流程 9 3.3.2 文科综合实验实验室发布...
目 录 1 前言 4 1.1 研究背景 4 1.2 研究意义 4 1.3 研究内容 4 2 系统开发技术介绍 4 2.1 JSP语言 4 2.2 JDBC技术 5 2.3 Eclipse开发工具 5 2.4 MVC模式 5 ...6.5 本章小结 25 总结 26 参考文献 27 致谢 28
1.5 小结 第2章 myedipse开发工具对各种框架的支持 2.1 使用jsp的两种模式 2.2 struts框架的实现 2.3 hibernate框架的实现 2.4 jpa框架的实现 2.5 spring框架的实现 2.6 jsf框架的实现 2.7...
是自己学习过程的总结,今天拿出来和大家分享!包含jSP servlet MVC
2.3 本章小结 第 3 章 系统需求分析 3.1 系统分析和需求获取 3.2 系统功能性需求 3.3 系统非功能性需求 3.3.1 性能需求 3.3.2 可靠性需求 3.4 可行性分析 3.5 业务流程分析 3.5.1 系统操作流程分析 3.5.2 增加系统...
主要介绍了IDEA新建javaWeb以及Servlet简单实现小结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
6. 翻页小结 7. 查看图书详细信息 8. 加入购物车 9. 购物车操作 10. Ajax 修改购物车单品数量 11. 简单验证和复杂验证 12. 剩余的 DAO 代码 13. 实现结账(非事务) 14. Filter + ThreadLoca 实现事务操作 15. 显示...
1.5 本章小结 第二章 基础知识及相关设计原理 2.1 Java 相关技术简介 2.1.1 Java 简介 2.1.2 JSP 技术简介 2.1.3 JDBC 简介 2.2 B/S 模式分析 2.3 Struts 框架 2.4 Servlet 技术 2.5 开发工具介绍 2.5.1 ...
tapestry的应用框架的搭建包括java web的一些小结和应用
包含了java web开发的一些心得,涉及jsp、hibernate、javascript以及数据库
6本章小结16第3章需求分析173. 1系统情况概述173. 2系统功能性需求分析183.2.1会员管理183. 2.2网上售票183.2.3网上付款193. 2. 4报表分析193. 3系统非功能性需求分析193. 3.1非功能性需求193.3.2系统运行环境203.4...
1.5 本章小结 2 第2章 系统开发技术的介绍 3 2.1 JAVA技术 3 2.2 MyEclipse简介 3 2.3 Tomcat概述 3 2.4 JSP技术 3 2.5 MYSQL数据库 4 2.6 B/S结构 5 第3章 系统分析 6 3.1 功能需求分析 6 3.2 可行性分析 6 3.2.1 ...
java web 课后习题答案
提出了一种基于Java的Web程序安全解决方案。该方案采用JAAS(Java Authentication Authorization Service)实现可插入式登录模块,采用X509数字证书作为用户身份认证,通过配置Web服务器,并利用服务器证书和客户端...
由于电子书太大了 只有分part01~~part16上传 需要的朋友将16个part一起下载解压就可以用 目 录 第1篇 入 门 篇 第1章 Java Web开发概述 2 1.1 Web相关概念 2 ...1.4 本章小结 10 第2章 搭建Java Web开发环境 11
1. 总体介绍 本次项目主要以本学期所学内容为基础,采用servlet+jsp+jdbc的技术以及mvc模式进行项目开发,本次开发的内容主要以实现CRUD核心功能为主的教务管理系统,分为学生端和教师端,前端采用jquery进行数据...
商店商品管理系统 大学生课程设计 课设作业 Java Web JDBC MySQL Shop jsp