servlet基础梳理(一)
将近一个月没看servlet了,再加上第一次学习也没有深入。仅仅是笼统的看了一遍,编了一点基础案例就过去了,如今再去看感觉跟没学过一样。这里再用一点时间把这些基础都梳理一下,加深印象并为以后高速复习做准备,毕竟这是个快节奏的社会,一切都以高速做铺垫。
首先明白一点,基础的servlet编程在企业应用中承担的作用。假设不考虑使用其它框架开发的话,我觉得实现MVC架构的分工应该是M:javaBean ,V:jsp, C:servlet。
作为一种特殊的servlet。
jsp因为自身的特点。充当表现成负责收集用户请求。呈现数据给用户,中间数据处理的环节则交给servlet处理。
本篇就是整理一些零散的知识点。
好了,进入特别特别基础的部分:JSP基础入门:
凝视和声明:
<!-- HTML凝视 -->//在页面查看源代码显示
<%-- Jsp凝视 --%>//<span style="font-family: Arial, Helvetica, sans-serif;">在页面查看源代码不显示</span> <%! //jsp声明
int i; %>
<% out.println(i++); %>
<table bgcolor="#9999dd" border="1" width="300px">
<%
for (int i=0;i<5;i++)
{%>
<tr><td>第<%=i%>行</td>
<td>hello</td></tr>
<%
}
%>
jsp的三个编译指令:
- page:
定义本页面的一些属性问题。比如:<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>这里说一下。倘若有错误页面,须要设置错误页面erorPage="error.jsp"在 error.jsp中isErrorPage="true"。
- include:动态包括其它页面
<jsp:include page="/index.jsp">
<jsp:param value="123" name="key"/>
</jsp:include> - taglib:标签
定义页面中使用的标签:比如<%@ taglib prefix="s" uri="/struts-tags" %>
jsp九个内置对象:
这里主要是谈论application+session+request+response。
当中application是在整个项目范围内,session范围是一次用户会话,request是一次用户请求。
这里演示样例设置三个范围的属性:
<% application.setAttribute("key1", "hello");
session.setAttribute("key2", "hello");
request.setAttribute("key3", "hello");
%>
这里既然扯到response,就说一下转发和重定向。转发是同一次的请求。request内的属性还能够有效,页面网址也不会改变。而重定向则是一次新的用户请求,网址改变。基本实现代码:
request.getRequestDispatcher("login.jsp").forward(request, response);
response.sendRedirect("login.jsp");
OK,这算是一个开篇,简介jsp的几个知识点,以下写servlet部分。
servlet基础梳理(一)的更多相关文章
- Servlet基础梳理(四)
本篇说一下session和路径的问题. session: 是一种在server端保存http状态信息的方案.眼下有两种实现方式:基于Cookie或者URL重写. 基于cookie:第一次訪问serve ...
- JSP/Servlet基础语法
相关学习资料 http://my.oschina.net/chape/blog/170247 http://docs.oracle.com/cd/E13222_01/wls/docs81/webapp ...
- JSP数据交互(二)和Servlet基础
01.Application原理与应用 01.application对象的作用域范围是整个应用服务,而它在应用中所承担的责任就类似于一个全局变量.只要服务启动,则application对象就会存在. ...
- Servlet基础(三) Servlet的多线程同步问题
Servlet基础(三) Servlet的多线程同步问题 Servlet/JSP技术和ASP.PHP等相比,由于其多线程运行而具有很高的执行效率. 由于Servlet/JSP默认是以多线程模式执行的, ...
- Servlet基础(二) Servlet的生命周期
Servlet基础(二) Servlet的生命周期 Servlet的生命周期可以分为三个阶段: 1.初始化阶段 2.响应客户请求阶段 3.终止阶段 Servlet的初始化阶段 在下列时刻Servlet ...
- Servlet基础(一) Servlet简介 关键API介绍及结合源码讲解
Servlet基础(一) Servlet基础和关键的API介绍 Servlet简介 Java Servlet是和平台无关的服务器端组件,它运行在Servlet容器中. Servlet容器负责Servl ...
- Servlet基础简单总结(上)
Servlet基础一些简单总结(上): 1.Java Servlet是运行在Web服务器上的Java程序2.Java平台给Servlet开发者提供了强大的API/面向对象编程平台无关/强类型/垃圾回收 ...
- java面试总躲不过的并发(一): 线程池ThreadPoolExecutor基础梳理
本文核心:线程池ThreadPoolExecutor基础梳理 一.实现多线程的方式 1.继承Thread类,重写其run方法 2.实现Runnable接口,实现run方法 3.实现Callable接口 ...
- servlet总结:Servlet基础
Servlet基础 1.手工编写第一个Servlet ⑴继承HttpServlet ⑵重写doGet()或者doPost()方法 ⑶在web.xml中注册Servlet 2.使用eclipse编写第一 ...
随机推荐
- sql server 学习分享
http://www.cnblogs.com/liu-chao-feng/p/6144872.html
- 错误处理: Python值传递和引用传递的问题
1.插入数据库的时候报错110, 提示columns数量少于插入的值内容. 2.核对了下栏目并没有少,打印出插入的值,看看值是不是多了. 查看了下,确实第二次值的时候长度边长了,第二次把第一次的部分值 ...
- npm link & run npm script
npm link & run npm script https://blog.csdn.net/juhaotian/article/details/78672390 npm link命令可以将 ...
- Synergy 使用方法备忘
Synergy 是 Symless 公司推出的「鼠标键盘共享软件」(mouse and keyboard sharing software),其功能还包括「共享剪贴板」(sharing clipboa ...
- [luoguP2336] [SCOI2012]喵星球上的点名(后缀数组 + 暴力)
传送门 原本的想法是把所有的串不管是名字还是询问都连起来,记录一下询问串在sa数组中的位置 对于每个询问可以在sa数组中二分出左右边界,第一问用莫队,第二问差分乱搞. 结果发现我差分的思路想错了,先写 ...
- 算法复习——数位dp
开头由于不知道讲啥依然搬讲义 对于引入的这个问题,讲义里已经很清楚了,我更喜欢用那个建树的理解···· 相当于先预处理f,然后从起点开始在树上走··记录目前已经找到了多少个满足题意的数k,如果枚举到第 ...
- Installing Metasploit Framework on Ubuntu 14.04 LTS and Debian 7
原文链接:http://www.darkoperator.com/installing-metasploit-in-ubunt/ This Guide covers the installation ...
- Python Base Five
// 8 day(2016/8/11) 38. In python , it is oop. class Baskball: def setName(self, name): ...
- 【HDOJ6224】Legends of the Three Kingdoms(概率DP)
题意:三国杀,给定4个白板武将的血量,4个角色轮流行动,每回合行动时如果该人存活则可以选择使阵营不同的角色血量-1,血量为0则死亡.每个人按自己获胜概率最大化行动,如果有多种方案概率相同则等概率选择这 ...
- 转 Python爬虫入门五之URLError异常处理
静觅 » Python爬虫入门五之URLError异常处理 1.URLError 首先解释下URLError可能产生的原因: 网络无连接,即本机无法上网 连接不到特定的服务器 服务器不存在 在代码中, ...