WEB开发基础了解

本文深入介绍了Java Web开发,包括静态与动态网站的区别、JavaEE技术、Tomcat服务器的使用及配置。通过实例展示了如何创建动态网站,解释了项目结构、端口配置、域名解析以及常见的服务器启动问题。还探讨了多种发布项目到Tomcat的方式,并讲解了Servlet技术及其开发流程。最后,提到了使用MyEclipse开发动态网站项目的便捷方法。
摘要由CSDN通过智能技术生成
WEB开发相关知识

web
Web软件,可以把本机资源提供给外界访问。
javaweb开发:
开发动态网站的技术。
进行动态网站开发所需技术的总和。
静态的网站: html/css/js/image… 只是显示,不能与用户交互(例如,存储用户数据。)
动态的网站: 可交互的网站,都叫做动态网站。 使用java技术开发动态网站,就是javaweb开发。

java 技术

JavaSE, java开发基本技术 (类型、集合、IO、多线程…)
JavaEE, java企业级应用技术
给企业提供解决方案,就是进行javaweb开发。
应用:
考勤系统 (通过网站访问)
KPI系统 (员工绩效考核)
CRM系统 客户关系管理系统
OA系统 办公自动化
电商

java2ee开发,是一种规范,定义了13种技术。
其中包括: XML/Servlet/JSP/JDBC等

自定义一个服务器软件

public static void main(String[] args) throws Exception {

		// 服务端
		ServerSocket server = new ServerSocket(9000);
		
		// 等待用户连接
	    Socket socket = server.accept();
	    
	    // 文件输入流
	    InputStream in = new FileInputStream("E:\\site\\1.html");
	    
	    // 输出流
	    OutputStream out = socket.getOutputStream();
	    
	    byte[] b = new byte[1024];
	    int len = -1;
	    while ((len = in.read(b)) != -1) {
	    	out.write(b,0,len);
	    }
	    
	    in.close();
	    socket.close();
	}

项目体系结构

B/S 基于浏览器、服务器端的项目 (后面开发的所有项目,都是b/s结构的项目)
优点:不用安装客户端。(浏览器就是客户端)维护方便。
C/S 基于客户端、服务器端的项目。
优点:操作清晰,易用。

tomcat服务器

服务器:有特定功能,且可以提供给外界使用 (安装相应的软件)。
web服务器:安装了web软件的机器,就做web服务器。
常用的web服务器软件:
Weblogic 适合大型应用, oracle公司产品
WebSphere IBM公司的软件
Tomcat apache开源组织提供服务器产品
www.apache.org apache官网

1.Tomcat服务器, 基本使用

安装版本, 一般是在正式的服务器中用。
解压版本, 开发中用。

a. 解压tomcat服务器软件
apache-tomcat-6.0.16.zip

b. 在指定目录新建项目(文件夹): my_project
apache-tomcat-6.0.16\webapps\my_project\1.html

c. 启动
apache-tomcat-6.0.16\bin\startup.bat 启动的命令

d. 访问
http://localhost:8080/my_project/1.html
或者,
http://192.168.21.170:8080/my_project/1.html

在浏览器就可以显示1.html内容!

2.访问地址

http://localhost:8080/my_project/1.html
通过这个地址,找到了需要的资源: F:\apache-tomcat-6.0.16\webapps\my_project\1.html
IP: 192.168.21

    http协议: 定义了通讯的格式。

    :     分隔符  (分割协议与网站)
    //    (没用)
    localhost  域名, 网站的名称。
          域名分类,
              本地域名,  localhost  
              非本地域名, 例如:www.baidu.com(收费)

          域名作用:
             域名一定要映射,对应的一个ip;  映射的好处是: 域名好记忆.
          
          域名解析:
              本地hosts文件解析  :  C:\Windows\System32\drivers\etc\hosts
              DNS域名服务器解析(连网)
              
   8080   端口
        端口, 对于一台机器要区分不同的用户访问的不同的功能,通过端口区分。
        8080    tomcat服务器默认的端口就是8080, 这个可以修改!
        3306    mysql数据库默认的端口
        1521    oracle 数据库默认端口
        80      http协议默认的端口是80,可以省略!
                http://wwww.baidu.com:8080/my/1.html
   /my_project     访问的资源目录。
             资源必须以目录的形成访问。
        对应的是: F:\apache-tomcat-6.0.16\webapps
                  这个目录下的文件夹: my_project
   /1.html  资源

域名映射解析
在这里插入图片描述

3.Tomcat目录结构

    |--apache-tomcat-6.0.16
        
        |-- bin       存放所有可执行文件

            startup.bat  (windows执行命令)   运行服务器
                    如果要把资源提供给外界访问,必须开启服务器。
                    启动时候,加载jar文件:bootstrap.jar(main函数)

            startup.sh   (linux系统)

            shutdown.bat  停止服务器
       
       |-- config    存放配置
            
            web.xml  项目部署描述文件, 描述一个部署项目的
                     tomcat 规定:web项目必须有web.xml,tomcat本身也是一个项目,也有web.xml
            
            server.xml  服务器自身配置信息
                    

       |-- lib      存放tomcat服务器运行时候所需要的jar文件
                    注意:
                           存放的是服务器自身的jar文件
                           如果是项目的jar文件,
                                也可以放到这里, 就意味着所有的项目都可以用这个jar文件
                                一般都访问具体某个项目下,不放到服务器的lib下

                    servlet-api.jar   对servlet技术的支持
                                      tomcat服务器支持servlet运行
                                      tomcat服务器,也叫做web服务器,或servlet服务器

      |-- logs      日志
      |-- temp      临时文件
      |-- webapps   (重要)自己的项目如果想给外界访问,就要放到这个目录下。
      |-- work      jsp工作目录

4.webapps目录下,项目的目录结构

    tomcat是web服务器
    web开发, javaweb开发, 动态网站开发。  需要通过java代码,把运行的结果输出给浏览器(servlet)


    |-- webapps    存放当前tomcat下所有的项目
        |-- my_project    其中一个自己的项目
            
            |-- 项目资源  :  html/jsp/css/js/image
            |-- WEB-INF    这个目录用户不能访问,存放的是项目的字节码、jar文件、web.xml
                
                 |-- classes   存放项目的所有字节码
                 |-- lib       存放项目用到的所有jar文件
                 |-- web.xml   项目的配置
                               tomcat在启动的时候,会加载自身的web.xml, 以及所有项目的web.xml。

                               配置默认显示的起始页: 
                                <welcome-file-list>
                                    <welcome-file>1.html</welcome-file>
                                    <welcome-file>1.htm</welcome-file>
                                    <welcome-file>index.jsp</welcome-file>
                                </welcome-file-list>
    总结:
        tomcat要求其下所有项目都要按照上面的格式。

5.Tomcat服务器,启动常见错误

    问题1: 启动一闪而过

        F:\>cd F:\apache-tomcat-6.0.16\bin

            F:\apache-tomcat-6.0.16\bin>startup.bat
            Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
            At least one of these environment variable is needed to run this program

        解决:
            配置环境变量, 增加 JAVA_HOME 对应的jdk环境
            (tomcat服务器启动时候,会找这个变量:JAVA_HOME)
            
            JAVA_HOME C:\Program Files\Java\jdk1.6.0


   问题2: 端口被占用
        java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind
        java.net.BindException: Address already in use: JVM_Bind
    

        解决:
            1. 关闭tomcat
                shutdown.bat  调用程序关闭tomcat

            2. 如果项目就要运行2个tomcat
                必须改变访问端口: 8080

                tomcat/conf/server.xml

                哪个端口报错,就该哪个端口,注意不要重复:
                    <Connector port="8000" protocol="HTTP/1.1" 
                       connectionTimeout="20000" 
                       redirectPort="8443" />
发布项目
方式1: 项目直接放到ROOT目录下
    http://localhost:8000/my_project/1.html
    http://www.baidu.com
    http://localhost
    1. 把项目资源直接拷贝到webapps/ROOT目录下,这样访问的时候就不用输入项目名。
    2. 给端口为80
    访问:
        http://localhost    默认访问端口是80, 默认的项目是ROOT目录下项目

方式2: tomacat发布外部项目(非webapps目录下的项目)

 项目路径:C:\myprj
 访问路径:baidu
 访问: http://localhost:8000/baidu/new.html
 发布方式:
       让tomcat关联外部的项目。虚拟路径:baidu
 conf/server.xml    修改配置文件,server.xml
在Host节点下,新增子节点:
<Host name="localhost"  appBase="webapps"
                          unpackWARs="true" autoDeploy="true"
                                xmlValidation="false" xmlNamespaceAware="false">
           在这里添加如下配置:
           path(/xxx):虚拟目录的名称,即作为访问路径的一部分(虚拟路径映射的项目绝对路径)。
           docBase:虚拟目录,映射的真实项目路径(虚拟路径映射的项目绝对路径)。
	<Context path=”/baidu” docBase=”C:\myprj” />
</Host>
访问:
http://localhost:8080/baidu/1.html 项目资源
方式2总结:服务器配置最好不要修改。1.	需要重启。2.修改服务器配置,不便于服务器的维护。

方式3:通过新建文件的形式,实现虚拟目录项目的发布。

   1.新建文件夹,新建文件
           Tomcat-6.0.16\conf\catalina\localhost\baidu.xml
           新建xml,xml名称就是虚拟目录名称(访问路径名称)
   2. baidu.xml
           <Context docBase=”C:\myprj” />
  项目路径:C:\myprj
  发布方式:
新建一个xml文件:  E:\Tomcat-6.0.16\conf\catalina\localhost\baidu.xml
(需要新建catalina与localhost目录)
   访问:
http://localhost:8080/baidu/1.html 项目资源

   好处:
    1.没有修改服务器自身的配置来实现项目的发布
    2.发布后不需要重启;(开闭原则)
   方式3可以取代方式2

方式4:最常用

   项目发布到: E:\Tomcat-6.0.16\webapps\自己的项目
   访问:http://localhost:8000/自己的项目/resource
tomcat下发布多个网站
   tomcat默认的域名:localhost
   localhost:->Tomcat-6.0.16\webapps
新建网站的步骤:
  1.新建网站的站点目录,里面可以放多个项目。
    C:\new_webapps
  2.新建网站
     在tomcat的server.xml中添加
           <Host name="www.baidu.com"  appBase="C:\new_webapps"   地址是一个站点目录,里面可以放多个项目。
                          unpackWARs="true" autoDeploy="true"
                                xmlValidation="false" xmlNamespaceAware="false">
           </host>
  3.本机域名映射
     文件:C:\Windows\System32\drivers\etc\hosts
     内容:
            192.168.0.1      www.baidu.com
  4.访问
            http://www.baidu.com:80/new-project/1.html 
手动发布动态网站项目

静态网站项目:*.html + css + js 开发出的页面
动态网站项目:通过java代码,向浏览器输出内容。

Servlet技术:
用于开发动态网站项目的一种技术。
Servlet程序就是不同的java程序,继承自HttpServlet类。

开发一个servlet程序,步骤:

  1. 新建一个java project
  2. 新建类,继承HttpServlet
    public class HelloWorld extends HttpServlet
    此时,需要添加servlet支持,添加jar文件:
    E:\Tomcat-6.0.16\lib\servlet-api.jar
    把jar文件添加到项目,添加到类路径下。

引入包,import javax.servlet.http.HttpServlet;

  1. 重写方法:
public class HelloWorld extends HttpServlet{

	// 处理访问请求
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		// 向浏览器输出内容
		resp.getWriter().write("Hello World Servlet!");
	}
}

  1. servlet程序必须交给服务器运行。

4.1. 所以,需要把HelloWorld字节码文件,拷贝到服务器项目目录下的classes目录
结果:
%tomcat%\webapps\day08\WEB-INF\classes\cn\itcast\servlet\HelloWorld.class
4.2. 服务器运行字节码文件 (通过访问路径找到sevlet程序)
需要在web.xml中配置:

<servlet>
		要与mapping节点下的名称一致
<servlet-name> hello111</servlet-name>
Servlet类全路径
    <servlet-class> cn.itcast.servlet.HelloWorld</servlet-class>
  </servlet>

<servlet-mapping>
	随便写,但要与servlet节点中光的名称一致
<servlet-name>hello111</servlet-name>
访问路径的配置
    <url-pattern>/hello</url-pattern>
  </servlet-mapping>
  1. 访问:http://localhost:8080/day08/hello

手动开发servlet程序,比较麻烦

  1. 需要手动添加servlet支持.。
  2. 把servlet字节码文件放到Tomcat的项目的WEB-INF下的classes目录,还要配置web.xml。
使用MyEclipse开发动态网站项目(开发servlet程序)
步骤:
  1. 新建Web Project

  2. 新建servlet,输入内容
    response.getWriter().write(“Hello World1!!!”);

  3. 配置MyEclipse与tomcat服务器的关联,可以实现自动发布
    配置步骤:
    Windows->Preferrences->My Eclipse ->Servlets->Tomcat
    选择tomcat路径,关联。

  4. 发布项目

  5. 启动服务器

  6. 访问:
    a) http://localhost:8080/day08_dynamic/servlet/Hello
    总结:

Tomcat 服务器:
    1. Web服务器
        Tomcat 
            可以把本机资源提供给外界访问
            apache 开源基金组织优秀产品
        
        启动:
            startup.bat  启动服务器
        发布:
            tomcat/webapps/project  

            虚拟路径
                方式1: conf/servlet.xml
                    <Context path="虚拟路径" docBase="指向的项目的绝对路径"/>
                方式2:
                        conf/Catalina/localhost/虚拟路径.xml

                        <Context docBase="" />
            多个网站:
                1. 网站站点目录(可以放多个项目)
                2. servlet.xml
                    新建<Host>节点
                3. 本地域名映射
                   127.0.0.1    wwww.baidu.com
    2. 项目目录结构
        |--webapps
            |--prj
                |-- 项目资源 (index.html)
                    
                |-- WEB-INF         用户不能直接访问
                    |-- classes
                    |-- lib
                    |-- web.xml

        注意:
            图片、css、js等资源,不能放到WEB-INF下。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值