• Web的服务器和Javaweb结构


    上一节介绍了Eclipse中集成Tomcat环境搭建及javaweb项目的创建,下面说说什么是web服务器及javaweb的结构。

    1.web应用的演变

    1.1 b/s与c/s模式

    B/S:Browser/Server或浏览器/服务器模式
    优点是用户使用简单只要有浏览器和网络即可
    常见的程序:淘宝网、京东网等

    C/S:Client/Server或客户端/服务器模式
    C/S的优点是能充分发挥客户端PC的处理能力
    缺点是对用户的电脑配置要求较高
    常见的CS程序:LOL、穿越火线、QQ

    1.2 web服务器简介

    web服务器有多种只需要知道下面三个就行

    tomcat开源免费 轻量级 能运行jsp和servlet

    2 javaweb项目的结构

    2.1Javaweb项目结构讲解

    关于目录

    Java web工程下的webapp或WebContent就是工程的发布文件夹,发布时会把该文件夹发布到tomcat的webapps里。

    开发时classes文件存放路径:

    buildpath:在eclipse中项目的右键java build path-source中指定工程中class文件的编译路径,一般为:test/build/classes。(test是工程名)

    发布时classes文件存放路径:

    发布到tomcat时(在eclipse里启动tomcat),src文件夹里的java文件经过编译后,会把.class文件放在WEB-INF文件夹里的classes文件夹中。

    有一些配置文件需要放到WEB-INF的classes文件夹下,所以,通常的做法是手动在工程的WEB-INF文件夹下建立classes文件夹。如果不在工程的WEB-INF下手动建立classes,发布到tomcat时tomcat里的WEB-INF中也会有classes文件夹。

    2.2 web的jar

    Web App Libraries:一般是指web工程的web-inf/lib下的包(可以将此包cope到此目录下 然后刷新工程 加入的包一般能自动找到 如果找不到 右键|Properties | java Build Path | Libraries | Add Jars 可以加入)

    build path中add jar可以引用工程以外的jar,如果引用了工程以外的jar,在.classpath文件中会添加(如java的jar包jre和tomcat的jar包):<classpathentry kind="lib" path="D:/workspace/ojdbc14.jar"/>web-info/lib中的jar不会往.classpath文件中会添加, 其余两者没有区别,编译的时候先找classpath中的jar如果没有则找web-info/lib中的jar。

    web工程参照了很多文件,因此发布的时候要打成war包,使其变成单独的个体,放到web容器里。开发环境中eclipse会将工程打包放到tomcat下,进行关联。

    2.3 web.xml

    2.3.1.Web 应用名称:提供GUI工具可能会用来标记这个特定的Web应用的一个名称

    <display-name>Tomcat Example</display-name>

    2.3.2.Web 应用描述:给出于此相关的说明性文本

    <desciption>Tomcat Example servlets and JSP pages.</desciption>

    2.3.3.上下文参数:声明应用范围内的初始化参数

       1      <context-param>

    2      <param-name>参数名</para-name>
    3     <param-value>参数值</param-value>
    4     <description>参数描述</description>
    5 </context-param>

    在servlet里面可以通过 getServletContext().getInitParameter(“context/param”)得到

    2.3.4.过滤器配置:将一个名字与一个实现javaxs.servlet.Filter接口的类相关联

     1 <filter>
    2     <filter-name>setCharacterEncoding</filter-name>
    3     <filter-class>com.myTest.setCharacterEncodingFilter</filter-class>
    4     <init-param>
    5         <param-name>encoding</param-name>
    6         <param-value>GB2312</param-value>
    7     </init-param>
    8 </filter>
    9 <filter-mapping>
    10     <filter-name>setCharacterEncoding</filter-name>
    11     <url-pattern>/*</url-pattern>
    12 </filter-mapping>

    2.3.5.监听器配置

    1 <listener>
    2      <listerner-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    3  </listener>

    2.3.6 Servlet配置

    1 <servlet>
     2    <servlet-name>servlet名称</servlet-name>
     3    <servlet-class>servlet类全路径</servlet-class>
     4    <init-param>
     5        <param-name>参数名</param-name>
     6        <param-value>参数值</param-value>
     7    </init-param>
     8    <run-as>
     9        <description>Security role for anonymous access</description>
    10        <role-name>tomcat</role-name>
    11    </run-as>
    12   <load-on-startup>指定当Web应用启动时,装载Servlet的次序</load-on-startup>
    13 </servlet>
    14 <servlet-mapping>
    15   <servlet-name>servlet名称</servlet-name>
    16   <url-pattern>映射路径</url-pattern>
    17 </servlet-mapping>

    2.3.7.会话超时配置(单位为分钟)


    1 <session-config>
    2     <session-timeout>120</session-timeout>
    3 </session-config>

    2.3.8.MIME类型配置

    1 <mime-mapping>
    2     <extension>htm</extension>
    3     <mime-type>text/html</mime-type>
    4 </mime-mapping>

    2.3.9.指定欢迎文件页配置


    1 <welcome-file-list>
    2     <welcome-file>index.jsp</welcome-file>
    3     <welcome-file>index.html</welcome-file>
    4     <welcome-file>index.htm</welcome-file>
    5 </welcome-file-list>

    2.3.10.配置错误页面

      (1).通过错误码来配置error-page

    1 <!--配置了当系统发生404错误时,跳转到错误处理页面NotFound.jsp-->
    2 <error-page>
    3       <error-code>404</error-code>
    4       <location>/NotFound.jsp</location>
    5  </error-page>

     (2).通过异常的类型配置error-page


    1 <!--配置了当系统发生java.lang.NullException(即空指针异常)时,跳转到错误处理页面error.jsp-->
    2 <error-page>
    3       <exception-type>java.lang.NullException</exception-type>
    4       <location>/error.jsp</location>
    5 </error-page>

    2.3.11.TLD配置

    1 <taglib>
    2     <taglib-uri>http://jakarta.apache.org/tomcat/debug-taglib</taglib-uri>
    3     <taglib-location>/WEB-INF/jsp/debug-taglib.tld</taglib-location>
    4 </taglib>

    如果开发工具一直在报错,应该把<taglib> 放到 <jsp-config>中

    1 <jsp-config>
    2     <taglib>
    3         <taglib-uri>http://jakarta.apache.org/tomcat/debug-taglib</taglib-uri>
    4         <taglib-location>/WEB-INF/pager-taglib.tld</taglib-location>
    5     </taglib>
    6 </jsp-config>
  • 相关阅读:
    10_树基础部分
    11_多线程
    14_JUC
    Servlet代码实例
    关于JSP引用资源路径
    Struts2代码实例
    hadoop三大核心组件介绍
    presto自定义函数开发
    git使用
    hive优化总结
  • 原文地址:https://www.cnblogs.com/wanghuaying/p/9534854.html
Copyright © 2020-2023  润新知