JavaEE开发学习笔记(1)

来源:互联网 发布:问道钓鱼软件 编辑:程序博客网 时间:2024/05/17 23:05
 

JavaEE开发学习笔记(1)

1. JavaEE的学习顺序

Servlet —> Jsp —> Structs —> Hibernate —> Spring —> Ejb

 

2. 安装Tomcat

       Tomcat安装完成之后需要给它配置 TOMCAT_HOME目录,也即Tomcat 的安装目录

      

       检验Tomcat是否安装成功:

       1. 进入Tomcat 的安装目录,进入/bin 目录,找到Startup.bat,双击启动Tomcat

                   最后显示 “Server startup in 1633ms”,则说明启动成功。

       2. 在浏览器中输入:

              http://localhost:8080

              出现一个Tomcat的小猫标记,则说明安装成功。

      3.  双击Shutdown.bat可以将Tomcat关闭。

 

3. Tomcat在网络中的位置(地位)

 

Tomcat是作为Web应用的容器程序使用。

       其中提供了Web服务器模块,Jsp/servlet存储模块,如上图所示。

       一个网页请求,首先通过HTTP协议,发送到Web服务器,由Web服务器转发给Jsp/Servlet容器处理,并返回结果给Web服务器,Web服务器将静态的页面返回给IE浏览器。

 

4. Servlet/Jsp网络框架

 

       Servlet/Jsp技术的整个网络包括三大部分:客户端(IE浏览器),Tomcat(包括Web服务器等),后台数据库。

       客户端主要是有关客户界面设计部分:涉及到Html,Javascript,Flash,Applet等技术。Tomcat部分是Servlet/Jsp技术的逻辑部分:设计到Javabean,Servlet,Jsp,Ejb,Structs,Hibernate,Spring等技术。后台数据库则主要是Tomcat与数据库的交互部分:设计到JDBC,各种数据库的使用,JDBC-ODBC桥,数据源类型等。

 

5. Servlet开发的方法

       a. 实现servlet接口

       b.继承GenericServlet类

       c.继承HttpServlet类

 

6. Servlet开发流程:

       1. 在%TOMCAT_HOME%\webapps下建立” WEB-INF”文件夹,在WEB-INF文件夹下写一个“web.xml” (用于配置网站信息),建立一个classes子文件夹(放置.class文件)和lib文件夹(应用用到的jar包,文件上传下载等),也可以从别的目录下拷贝,例如Root下,

       注:这几个东西要注意大小写,大小写必须要一样。

 

       2. 开发servlet(引入servlet-api.jar)

      

       3. 部署你的Servlet

       在web.xml文件中,需要修改的代码的部分如下:

       这两部分是对应的,他们共同对应了一个Servlet

      <!-- JSPC servlet mappings start -->

      <servlet>

              <!—给servlet取得名字,这个名字可以是任意的 -->

             <servlet-name>hello</servlet-name>

              <!—指定servlet路径,就是Servlet(包名+类名),注意类名不能加.class -->

             <servlet-class>com.tsinghua.Hello</servlet-class>

    </servlet>

 

    <!-- 将servlet映射一个名称 -->

    <servlet-mapping>

              <!—给servlet取得名字,这个名字要与上面的名字对应 -->

              <servlet-name>hello</servlet-name>

              <!—浏览器中输入的url,可以取任意的名字,注意其中斜线一定要有 -->

              <url-pattern>/gt</url-pattern>            

    </servlet-mapping>

    <!-- JSPC servlet mappings end -->

 

       4. 启动tomcat访问你的servlet,在浏览器地址栏中输入:

       http://127.0.0.1:8080/MyWebSite/Hello

       回车就可以看到Servlet的输出

      

       注意: 127.0.0.1是服务器所在的IP地址

                 8080 是端口号,需要根据实际情况进行修改

 

 

7. Servlet的生命周期

       Servlet部署在容器里面,(我们使用的是Tomcat,也可以是其他的如Jboss,weblogic等),它的生命周期由容器来管理:

       Servlet的生命周期分为如下的几个阶段:

       1. 装载Servlet,用相应容器完成

       2. 创建一个Servlet实例

       3. 调用Servlet的init()方法,该方法只会在第一次访问该Servlet时调用一次。

       4. 服务:调用Servlet的Service()方法,一般的业务逻辑都是在这块处理的。该方法在访问Servlet时,都会被调用一次。

       5. 销毁:调用servlet的destroy()方法,销毁该servlet实例,该方法在以下几种情况调用:

       A tomcat重新启动   B:reload该Webapp  C: 重新启动电脑

 

对应代码如下:

// 这是我的第一个Servlet程序,通过实现Servlet接口来实现

package com.tsinghua;

 

import javax.servlet.*;          // servlet包

import java.io.*;                  // java IO 包

 

import javax.servlet.Servlet;

import javax.servlet.ServletConfig;

import javax.servlet.ServletException;

import javax.servlet.ServletRequest;

import javax.servlet.ServletResponse;

import java.io.IOException;

 

public class Hello implements Servlet {

       // 该函数用于初始化该Servlet(类似于类的构造函数)

       // 该函数只会被调用一次,(用户在第一次访问Servlet时被调用)

       public void init(ServletConfig parm1) throws ServletException {

              System.out.println("init function!");

       }

 

       public ServletConfig getServletConfig() {

                     return null;                         

       }

 

       // 这个函数用于处理业务逻辑

       // 程序员应该把业务逻辑代码写在这里

       // 当用户每访问一次Servlet时,都会调用该函数

       // req: 用于获得客户端(这块可以理解为浏览器)的信息

       // res: 用于向客户端(这块可以理解为浏览器)返回信息

       public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {

              //

              System.out.println("service it");

             

              // 从res中得到PrintWriter

              PrintWriter pw = res.getWriter();

              pw.println("hello World");

       }

 

       public String getServletInfo() {             

              return "";

       }

      

       // 销毁Servlet实例(释放内存)

       // 调用Destroy方法的情况

       // 1. reload  该Servlet(webApps)

       // 2. 关闭tomcat

       // 3. 关机

       public void destroy() {

              //

              System.out.println("destroy!");

       }    

}

       第一次的代码,有注释,不做过多解释,可以看注释。