java web高级编程 笔记1
chapter1:了解web应用程序
web应用程序主要组件:
- Servlet
- 过滤器
- 监听器
- JSP

chapter2:各类web容器介绍
略
chapter3:Servlet介绍
Servlet是一个运行在Web服务器中的Java小程序,Servlet将会接受和响应来自Web客户端的请求,使用HTTP(超文本传输协议)进行通信;

public class HelloServlet extends HttpServlet{
@Override
public void init() throws ServletException {
System.out.println(getServletName()+"初始化!");
super.init();
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println(getServletName()+"doGet方法");
resp.getWriter().println(getServletName()+":Hello,World!");
}
private void destroy() {
System.out.println(getServletName()+"销毁!");
super.destroy();
}
}
web.xml:
<servlet>
<servlet-name>helloServlet</servlet-name>
<servlet-class>com.mryangpo.HelloServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>helloServlet</servlet-name>
<url-pattern>/greeting</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>helloServlet1</servlet-name>
<servlet-class>com.mryangpo.HelloServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>helloServlet1</servlet-name>
<url-pattern>/greeting1</url-pattern>
</servlet-mapping>
<load-on-startup>1</load-on-startup>表示web容器在应用程序启动的时候就加载Servlet(实例化并调用其init()方法);

关闭服务时会调用destroy方法,在doGet会service方法中调用destroy方法,访问一次servlet后仍可以继续访问;

servlet执行过程:初始化一次,进入service方法中获取method类型,根据类型进入doGet或其他方法,服务器关闭,调用destroy方法。
了解doGet,doPost等方法:
getRequestURL
getRequestURI
使用初始化参数配置应用程序:
上下文初始化参数:
<context-param>
<param-name>settingone</param-name>
<param-value>one</param-value>
</context-param> 在Servlet类中获取上下文:
ServletContext servletContext = this.getServletContext();
String param1=servletContext.getInitParameter("settingone")
servlet初始化参数:
<servlet>
<servlet-name>helloServlet1</servlet-name>
<servlet-class>com.mryangpo.HelloServlet</servlet-class>
<init-param>
<param-name>settingtwo</param-name>
<param-value>two</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>helloServlet1</servlet-name>
<url-pattern>/greeting1</url-pattern>
</servlet-mapping>
在Servlet类中获取初始化参数:
ServletConfig servletConfig = this.getServletConfig();
String settingtwo=servletConfig.getInitParameter("settingtwo");
chapter4 JSP(JavaServer Pages) 的使用

jsp编译时机:


<!-- Html/xml注释 -->
<%-- jsp注释 -->
chapter5 会话的使用
略
chapter12 Spring Framework

java web高级编程 笔记1的更多相关文章
- Java Web高级编程(四)
WebSocket 一.WebSocket的产生 用户希望Web页面可以进行交互,用于解决这个问题的技术是JavaScript,现在Web上有许多的可用的JavaScript框架,在使用极少的Java ...
- Java Web高级编程(三)
使用过滤器改进应用程序 一.过滤器的目的 过滤器是可以拦截访问资源的请求.资源的响应或者同时拦截两者的应用组件.过滤器可以检测和修改请求和响应,同时也可以拒绝.重定向或转发请求.javax.servl ...
- Java Web高级编程(二)
使用会话维持状态 一.会话 为了实现关联同一个用户端的多个请求和这些请求之间数据的共享,需要用到会话,会话用于维持请求和请求之间的状态.从服务器的角度,当用户的Web浏览器打开第一个链接到服务器的套接 ...
- Java Web高级编程(一)
Servlet 一.创建Servlet类 在Java EE中,Servlet用来接收和响应终端用户的请求.Servlet是所有Web应用程序的核心类,是唯一既可以直接处理和响应用户请求,也可以将处理工 ...
- Android高级编程笔记(四)深入探讨Activity(转)
在应用程序中至少包含一个用来处理应用程序的主UI功能的主界面屏幕.这个主界面一般由多个Fragment组成,并由一组次要Activity支持.要在屏幕之间切换,就必须要启动一个新的Activity.一 ...
- java高级编程笔记(四)
java的Object类: 1.Object 类位于 java.lang 包中,编译时会自动导入:Java 的所有类都继承了 Object,子类可以使用 Object 的所有方法. 2.Object ...
- javascript高级编程笔记01(基本概念)
1.在html中使用JavaScript 1. <script> 元素 <script>定义了下列6个属性: async:可选,异步下载外部脚本文件. charset:可选, ...
- UNIX环境高级编程笔记之文件I/O
一.总结 在写之前,先唠几句,<UNIX环境高级编程>,简称APUE,这本书简直是本神书,像我这种小白,基本上每看完一章都是“哇”这种很吃惊的表情.其实大概三年前,那会大三,我就买了这本书 ...
- C#高级编程笔记之第三章:对象和类型
类和结构的区别 类成员 匿名类型 结构 弱引用 部分类 Object类,其他类都从该类派生而来 扩展方法 3.2 类和结构 类与结构的区别是它们在内存中的存储方式.访问方式(类似存储在堆上的引用类型, ...
随机推荐
- mysql设计与开发
架构设计表结构设计索引sql语句1.表结构设计的核心思想是什么?容量评估,性能优化,硬件升级,垂直拆分,水平拆分 2.有个大表为了一个查询(一天就查2次),领导要你建索引(索引空间大小有500G),你 ...
- C#简单操作app.config文件
即将操作的app.config文件内容如下 <?xml version="1.0" encoding="utf-8"?> <configura ...
- iOS平台下闪退原因汇总(一):"Ran out of trampolines of type 0/1/2" 运行时间错误
"Ran out of trampolines of type 0/1/2" 运行时间错误通常出现在使用大量递归泛型时.要看到这个错误需要连接着设备直接将项目build到设备里运行 ...
- web deploy 部署网站
一.服务端配置 1. 确保在服务器端(我目前是win server 2012 R2)安装管理服务 安装后服务器会重启, 2)安装webdeploy http://www.iis.net/downloa ...
- SQL SERVER常用的统计用法
--查询各个状态下总数SET statistics time on Go SELECT END ) AS Q1, END ) AS Q2, END ) AS Q3, END ) AS Q4, END ...
- List批量赋值的几种方法
List<int> list = new List<int>();list.AddRange(new int[] { 1, 5, 10, 20 ,33 }); //也可直接赋值 ...
- angularjs 简易模态框
angularjs 简易模态框 angularjs 中的模态框一般使用插件angular-ui-bootstrap书写. 这里记录一种简易的模态框写法: 1.警告消息框alert: 原理: 在html ...
- C#统计网站访问总人数和当前在线人数 Application
一.打开vitualstudio2010,新建一个网站,然后添加新项,新建一个login.aspx和index.aspx页面.再添加新项,选择全局应用程序类,该页面为Global.asax. 第一步: ...
- 【原】Coursera—Andrew Ng斯坦福机器学习(0)——课程地址和软件下载
斯坦福大学机器学习 课程信息 机器学习是一门研究在非特定编程条件下让计算机采取行动的学科.最近二十年,机器学习为我们带来了自动驾驶汽车.实用的语音识别.高效的网络搜索,让我们对人类基因的解读能力大大提 ...
- std::mutex与pthread mutex区别
Linux下 pthread mutex * PTHREAD_MUTEX_TIMED_NP,这是缺省值,也就是普通锁.当一个线程加锁以后,其余请求锁的线程将形成一个等待队列,并在解锁后按优先级获得锁. ...