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 类和结构 类与结构的区别是它们在内存中的存储方式.访问方式(类似存储在堆上的引用类型, ...
随机推荐
- pymysql简单链接示例
#!/usr/bin/env python # encoding: utf-8 # Date: 2018/6/24 import pymysql username = input('username ...
- Python可执行对象——exec、eval、compile
Python提供的调用可执行对象的内建函数进行说明,涉及exec.eval.compile三个函数.exec语句用来执行存储在代码对象.字符串.文件中的Python语句,eval语句用来计算存储在代码 ...
- Java微信公众平台开发(一)--接入微信公众平台
转自:http://www.cuiyongzhi.com/post/38.html (一)接入流程解析 在我们的开发过程中无论如何最好的参考工具当然是我们的官方文档了:http://mp.weixin ...
- BP算法在minist数据集上的简单实现
BP算法在minist上的简单实现 数据:http://yann.lecun.com/exdb/mnist/ 参考:blog,blog2,blog3,tensorflow 推导:http://www. ...
- 判定元素是否刚插入到DOM树
上接<这篇博文>,其应用于avalon的if绑定.如果一个节点还没有插入DOM树,那么avalon将延时对它进行扫描渲染,直到它再次插入到DOM树为止.由于CSS3 keyframe动画的 ...
- 转载--解决ora-00119和ora-00132这个问题
前提:服务全部打开,监听也配置好了! win7 64位 Oracle 11g 简单的sql命令: 先登录到sqlplus: sqlplus /nolog; 登录数据库: conn system/ ...
- obj.get_字段名称_display
在页面上我们只要这么写就可以直接把字典的值显示出来了 {{ obj.get_level_display }}({{ obj.level }}) obj.get_字段名称_display . model ...
- Linux开机启动详解
Linux开机启动程序详解 我们假设大家已经熟悉其它操作系统的引导过程,了解硬件的自检引导步骤,就只从Linux操作系统的引导加载程序(对个人电脑而言通常是LILO)开始,介绍Linux开机引导的步骤 ...
- 02.socket实现远程调用
不使用webservice使用以前的知识也可以实现远程系统之间的调用.用Socket可以.实现Socket通信. 开设一个端口.ip.
- 线程dump
当应用程序运行变慢或者发生故障时,可能通过分析java的Thread Dumps得到分析他们得到阻塞和存在瓶颈的线程. 线程堆栈是虚拟机中线程(包括锁)状态的一个瞬间状态的快照,即系统在某一个时刻所有 ...