将近一个月没看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的三个编译指令:

  1. page:

    定义本页面的一些属性问题。比如:

    <%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>

    这里说一下。倘若有错误页面,须要设置错误页面erorPage="error.jsp"在 error.jsp中isErrorPage="true"。

  2. include:动态包括其它页面
    <jsp:include page="/index.jsp">
    <jsp:param value="123" name="key"/>
    </jsp:include>
  3. 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基础梳理(一)的更多相关文章

  1. Servlet基础梳理(四)

    本篇说一下session和路径的问题. session: 是一种在server端保存http状态信息的方案.眼下有两种实现方式:基于Cookie或者URL重写. 基于cookie:第一次訪问serve ...

  2. JSP/Servlet基础语法

    相关学习资料 http://my.oschina.net/chape/blog/170247 http://docs.oracle.com/cd/E13222_01/wls/docs81/webapp ...

  3. JSP数据交互(二)和Servlet基础

    01.Application原理与应用 01.application对象的作用域范围是整个应用服务,而它在应用中所承担的责任就类似于一个全局变量.只要服务启动,则application对象就会存在. ...

  4. Servlet基础(三) Servlet的多线程同步问题

    Servlet基础(三) Servlet的多线程同步问题 Servlet/JSP技术和ASP.PHP等相比,由于其多线程运行而具有很高的执行效率. 由于Servlet/JSP默认是以多线程模式执行的, ...

  5. Servlet基础(二) Servlet的生命周期

    Servlet基础(二) Servlet的生命周期 Servlet的生命周期可以分为三个阶段: 1.初始化阶段 2.响应客户请求阶段 3.终止阶段 Servlet的初始化阶段 在下列时刻Servlet ...

  6. Servlet基础(一) Servlet简介 关键API介绍及结合源码讲解

    Servlet基础(一) Servlet基础和关键的API介绍 Servlet简介 Java Servlet是和平台无关的服务器端组件,它运行在Servlet容器中. Servlet容器负责Servl ...

  7. Servlet基础简单总结(上)

    Servlet基础一些简单总结(上): 1.Java Servlet是运行在Web服务器上的Java程序2.Java平台给Servlet开发者提供了强大的API/面向对象编程平台无关/强类型/垃圾回收 ...

  8. java面试总躲不过的并发(一): 线程池ThreadPoolExecutor基础梳理

    本文核心:线程池ThreadPoolExecutor基础梳理 一.实现多线程的方式 1.继承Thread类,重写其run方法 2.实现Runnable接口,实现run方法 3.实现Callable接口 ...

  9. servlet总结:Servlet基础

    Servlet基础 1.手工编写第一个Servlet ⑴继承HttpServlet ⑵重写doGet()或者doPost()方法 ⑶在web.xml中注册Servlet 2.使用eclipse编写第一 ...

随机推荐

  1. day01_07.逻辑与字符串运算符

    &&(并且)====>发现&符号总是打错,记忆口令:&7(暗器),在数字7上面,在python中是and ||(或者)====>在python中是or . ...

  2. doc下设置永久环境变量的好方法

    http://www-2w.blog.163.com/blog/static/97931518201021211123267/ 需要查看命令具体实现:setx machine “%path%”. 配置 ...

  3. python学习-- Django传递数据给JS

    var List = {{ List|safe }};//safe 必须存在

  4. Leetcode 475.供暖气

    供暖气 冬季已经来临. 你的任务是设计一个有固定加热半径的供暖器向所有房屋供暖. 现在,给出位于一条水平线上的房屋和供暖器的位置,找到可以覆盖所有房屋的最小加热半径. 所以,你的输入将会是房屋和供暖器 ...

  5. 【bzoj2724】[Violet 6]蒲公英 分块+STL-vector

    题目描述 输入 修正一下 l = (l_0 + x - 1) mod n + 1, r = (r_0 + x - 1) mod n + 1 输出 样例输入 6 3 1 2 3 2 1 2 1 5 3 ...

  6. 归并排序,时间复杂度nlogn

    思路: /*   考点:   1. 快慢指针:2. 归并排序.   此题经典,需要消化吸收.   复杂度分析:              T(n)            拆分 n/2, 归并 n/2 ...

  7. [暑假集训--数位dp]hdu3555 Bomb

    The counter-terrorists found a time bomb in the dust. But this time the terrorists improve on the ti ...

  8. bzoj 2797 [Poi2012]Squarks 枚举一个,推出所有

    题目大意 设有n个互不相同的正整数{X1,X2,...Xn},任取两个Xi,Xj(i≠j),能算出Xi+Xj. 现在所有取法共n*(n-1)/2个和,要你求出X1,X2,...Xn. 输出所有满足条件 ...

  9. 【HDU4372】Count the Buildings (第一类斯特林数)

    Description $N$座高楼,高度均不同且为$1~N$中的数,从前向后看能看到$F$个,从后向前看能看到$B$个,问有多少种可能的排列数. $T$组询问,答案模$1000000007$.其中$ ...

  10. Nginx配置https双向认证

    1.      前期的准备工作: 安装openssl和nginx的https模块 cd ~/ mkdir ssl cd ssl mkdir demoCA cd demoCA mkdir newcert ...