web服务器(Tomcat)、Web应用入门

web服务器:PC机器安装一个具有web服务的软件,称之为web服务器

web服务软件(web容器)的作用:外部浏览器通过http访问本地的资源

Servlet没有main()方法。Servlet必须要受控于另一个Java应用,这个Java应用称为容器。Tomcat就是这样一个容器。如果web服务器应用得到一个指向servlet的请求(而不是其他请求,如请求一个普通的静态HTML),此时服务器不是把这个请求交给servlet本身,而是交给部署该servlet的容器,要由容器调用servlet的方法,如doPost()或doGet()。

------------------------------------服务器------------------------------------------------------------------

市面上常见的web应用服务软件:
WebLogic:BEA公司的产品。 收费。支持JavaEE规范。
WebSphere:IBM公司的产品。收费。支持JavaEE规范
JBoss: Redhat公司的产品。收费。支持JavaEE规范
Tomcat:开源组织Apache的产品。免费。支持部分的JavaEE规范。(servlet、jsp。jdbc,但不支持ejb, rmi)


tomcat使用的常见问题

1)闪退问题
原因:tomcat软件是java语言开发的。 tomcat软件启动时,会默认到系统的环境变量中查找一个名称叫JAVA_HOME的变量。这个变量的作用找到tomcat启动所需的jvm。
解决办法; 到环境变量中设置JAVA_HOME的变量

2)端口占用的错误
原因: tomcat启动所需的端口被其他软件占用了!
解决办法:

  1. 关闭其他软件程序,释放所需端口
  2. 修改tomcat软件所需端口,找到并修改%tomcat%/conf/server.xml文件中配置的端口

3)CATALINA环境变量问题
原因: tomcat软件启动后,除了查找JAVA_HOME后,还会再查找一个叫CATALINA_HOME变量,这个变量的作用是设置tomcat的根目录。
解决办法:建议不要设置CATALINA_HOME变量。检查如果有的话,清除掉!
---------------------------------如何共享资源-------------------------------------------------

webapps目录: tomcat共享目录。需要共享的本地资源放到此目录中(不能放入单独文件,要放入文件夹目录)

8080: tomcat默认的端口
3306:mysql数据库的端口
1521: orace数据库的端口

 

-----------------------------------Tomcat的目录结构--------------------------------------------------------
|-bin:存放tomcat的命令。

catalina.bat 命令:

startup.bat -> catalina.bat start

shutdown.bat - > catalina.bat stop

|- conf: 存放tomcat的配置信息。其中server.xml文件是核心的配置文件。
|-lib:支持tomcat软件运行的jar包。其中还有技术支持包,如servlet,jsp
|-logs:运行过程的日志信息
|-temp: 临时目录
|-webapps: 共享资源目录。web应用目录。(注意不能以单独的文件进行共享)
|-work: tomcat的运行目录。jsp运行时产生的临时文件就存放在这里

 

----------------------------------Web应用的目录结构------------------------------------------------------

|- Webname:  web应用的根目录(放在webapps下)

    |- 静态资源(html+css+js+image+vedio)         可被浏览器直接访问

    |- WEB-INF : 固定写法。                                       不可被浏览器直接访问

        |-classes:   (可选)固定写法。存放class字节码文件
        |-lib:   (可选)固定写法。存放jar包文件。
        |-web.xml:   (可选)配置文件。配置访问路径与欢迎页/Servlet/filter等的映射关系

    |-META-INF:        信息包,用来配置应用程序、扩展程序、类加载器和服务
        |-MANIFEST.MF     可指定main函数入口

注意

  1. WEB-INF目录里面的资源不能通过浏览器直接访问
  2. 如果希望访问到WEB-INF里面的资源,就必须把资源配置到一个叫web.xml的文件中
  3. java应用项目在MANIFEST.MF中指定Main-Class: 后。就可以打包成一个jar,在控制台里输入java -jar test.jar即可以运行这个jar

eclipse中web应用改名后,还需要在properties->Web->context-root中改名


静态资源和动态资源的区别:

静态资源: 当用户多次访问这个资源,资源的源代码永远不会改变的资源。
动态资源:当用户多次访问这个资源,资源的源代码可能会发送改变。
 


 


动态资源的开发技术(java)

java是通过 Servlet来做服务端的

Servlet :用java语言来编写动态资源的开发技术。

Servlet特点:

  1. 普通的java类,继承HttpServlet类,覆盖doXX方法
  2. Servlet类只能交给tomcat服务器运行(开发者自己不能运行!)

 

---------------------------------手动开发-------------------------------------------------------

Servlet手动编写步骤:
   1)编写一个servlet程序,继承HttpServlet
   2)找到编好的Servlet类的class字节码,然后把拷贝到tomcat服务器的一个web应用中的WEB-INF/classes目录下。
   3)在当前web应用下的web.xml文件配置Servlet

<!-- 配置一个servlet程序 -->
  <!-- 1.servlet的配置 -->
<servlet>
        <!-- servlet的内部名称 (可以自定义)-->
        <servlet-name>内部名称</servlet-name>
        <!-- servlet类名(包名+简单类名)-->
        <servlet-class>包名.类名</servlet-class>
</servlet>
  <!-- 2.servlet的映射配置 -->
<servlet-mapping>
        <!-- servlet的内部名称(和上面的名称保持一致)-->
        <servlet-name>内部名称</servlet-name>
        <!-- servlet的映射路径(访问servlet的名称)-->
        <url-pattern>/名称</url-pattern>
</servlet-mapping>

   4)启动tomcat服务器,运行访问servlet: http://url路径 / web应用目录 / 映射路径

 

-----------------------------------工具开发------------------------------------------------------

使用myeclipse工具编写步骤:

   1)创建web project (javaweb工程)
   2)在WebRoot下建立静态资源文件
   3)在src下建立动态资源文件:右击->new -> Servlet( servlet的代码生成器),然后写pacakge 名、class名、mapping url名(/名称)
   4)关联tomcat服务器:window-> Preferences - > MyEcplise -> servers -> Tomcat x.x (注意一定要enable)
   5)部署web project应用。(就是拷贝web应用到tomcat的webapps目录下)
   6)启动tomcat服务器
   7)访问servlet

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xyc1211

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值