Javaweb相关

117 阅读2分钟

背景

之前学习的javaweb知识,反反复复的忘记,本次记录下,防止忘记。

1. 名词解释

  • javaweb: Java Web应用由一组ServletHTML页、、以及其它可以被绑定的资源构成。它可以在各种供应商提供的实现Servlet规范的 Servlet容器中运行。

  • javaweb的组成

    • Servlet
    • JSP
    • 实用类
    • 静态文档如HTML、图片、js、css
    • 描述Web应用的信息(web.xml)
  • Servlet容器 / JavaWeb应用容器:是web服务器的一部分(动态部分),负责Servlet和客户的通信,提供基于请求/响应发送模型的网络服务。解码基于 MIME 的请求并且格式化基于MIME的响应。还管理servlet的生命周期.以及调用Servlet的方法

  • servlet: 平台无关的服务器端组件,创建并返回基于客户请求的动态HTML页面,创建可嵌入到现有HTML 页面中的部分HTML 页面(HTML 片段),与其它服务器资源(如数据库或基于Java的应用程序)进行通信。

  • Tomcat: Servlet容器的一种实现

2. Tomcat的配置使用方法

  • Tomcat的目录结构

image.png

  • 启动

1. 配置 java_home 或 jre_home 
2. 双击 bin 目录下的 startup.bat 文件
3. 在地址栏中输入 http://localhost:8080/
4. 双击 bin 目录下的 shutdown.bat
  • 修改tomcat的默认端口号

打开 conf 目录下的 server.xml 文件 image.png

  • 任意目录启动tomcat

添加系统路径CATALINA_HOME,指定到tomcat的安装根目录

  • 文档和示例:\apache-tomcat-8.0.50\conf

    <role rolename="manager-gui"/>
    <user username="tomcat" password="s3cret" roles="manager-gui"/>

3. web程序的部署目录结构

image.png

4. 手动部署程序

  1. 创建好目录结构(创建好web.xml和index.jsp)
  2. 配置web.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                      http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
  version="3.1"
  metadata-complete="true">
  <display-name>deploy test</display-name>
  <description>
     Welcome to test
  </description>
</web-app>
  1. src的目录中创建Persion类
package com.hytz.tms;

public class Persion {
	
	public String getInfo(){
		return "user infos...";
	}
}
  1. 在index.jsp中调用
<%@page import="com.hytz.tms.Persion"%>
<%
    Persion p = new Persion();
    System.out.printf("%s","eclpse console show: "+p.getInfo());
%>
  1. 把workspcae中新建的项目复制到apache-tomcat-8.0.50\webapps吗目录中
  2. 进入apache-tomcat-8.0.50\webapps\复制文件夹,把bin目录(不包含bin目录)复制到apache-tomcat-8.0.50\webapps\test\WEB-INF\classes目录中
  3. 重新启动tomcat,在浏览其中输入http://localhost:8080/test/

ps:修改编译目录到WEB-INF的classes目录下

在Package explore面板中单击项目右键,选择buildpath

image.png 选择browse,选择目录即可

5. 任意目录部署

  • 名词解释 Context:是一个Web 应用程序访问入口(虚拟的地址),例如:启动test服务,http://localhost:8080/test 中的/test就是test服务的上下文。

上下文描述符: 是一个XML文件,描述web应用的命名资源、会话管理器配置等。

  • 配置方法

    1. Context是Host的子类,早期版本的 Tomcat 中,上下文描述符配置的内容通常存储在 Tomcat 的主配置文件 server.xml。其中,path是虚拟路径(也就是我们常说的上下文),docBase是真实的项目地址
    <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
        <Context path="/test" docBase="D:\\workspace\\test"  reloadable="true" />
    </Host>
    
  1. 现在是配置在$CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml。tomcat 5.5之后使用webappname作为web应用的上下文路径,即:不用再context中配置path属性。