Tomcat与Servlet

什么是Servlet:

Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。

Tomcat服务器:

 下载: http://tomcat.apache.org/  —>apache-tomcat-7.0.82-windows-x64.zip

启动:apache-tomcat-7.0.82 —> bin —> startup.bat

浏览器中测试: http://localhost:8080/   或   http://127.0.0.1:8080/

关闭: apache-tomcat-7.0.82 —> bin —> shutdown.bat  或 Ctrl+C  或直接关闭

闪退:  java环境变量没有配置

查看是否配置java环境变量: cmd中 —> java -version

 java环境变量配置:  这台电脑 —> 属性 —> 高级系统设置 —> 环境变量 —>  变量名: JAVA_HOME     

变量值: C:\ProgramFiles\Java\jdk1.8.0_45  —> 变量名: Path    变量值的最后面写:   ;%JAVA_HOME%\bin

esc键:  退出焦点,继续执行

 webapps:存放web项目的,  静态资源(html、css、js、img...),  META-INF(项目配置信息),  WEB-INF(项目内层,不能直接被访问) —> classes(java代码存放处)、lib(项目依赖内裤jar)、web.xml(核心配置文件)

更改端口号: apache-tomcat-7.0.82 —> conf —>   server.xml中的第71行    port: 8005/8080/8009

查看已经占用的端口号:  cmd ->  netstat -ano

查看8080端口是否被占用:  cmd  ->  netstat -ano | find "8080"

eclipse配置:

1、保存时自动格式化行:  Window  —>  Preferences  —>  Sava Action  —>  勾选前三项

2、工作空间utf-8编码: Window  —>  Preferences  —>  workspace  —>  utf-8

3、自动提示功能:  Window  —>  Preferences  —>  Content AssistWindow  —>  Preferences  —>  Auto action ...

4、jsp文件utf-8编码: Window  —>  Preferences  —>  JSP Files  —>  Encoding:   ISO 10646/Unicode(UTF-8)

5、配置快捷键:  Window  —>  Preferences  —>  keys  —>  debug  —>  Debug on server设置Alt+Q;  Debug Java Application设置Alt+E;  Debug JUnit Test设置

6、选择外部浏览器:  Window  —>  Preferences  —>  Browser  —>  use external web browser  —>  Chrome

7、自定义模板代码:  Window  —>  Preferences  —>  java Templates  —>  New...

8、字体大小:  Window  —>  Preferences  —>  General  —>  Appearance  —>  colors and Fonts  —>  Basic  —>  Text Font

9、web项目小图标:  Window  —>  Preferences  —>  Perspective  —>  Customize Perspective  —>  shortcuts  —>  web  —>  Dynamic Web Project


Eclipse和tomcat关联:

Window  —>  Show view  —>  Other  —>  server  —>  双击  Tomcat v7.0 Server at localhost[Stopped,Republish]  —>  Server Locations中选择第二个(Use Tomcat installation...)  —>  Deploy path中改为: webapps  —>  保存
  —>  开启  —>  浏览器中测试: http://localhost:8080/   或   http://127.0.0.1:8080/

新建web项目:    —>  new  —>  Dynamic Web Project  —>  Project name:  xxx    Target runtime:  Apache Tomcat v7.0    Dynamic Web module version:  2.5(手动)


Servlet 接口,抽象方法

init 初始化方法

destroy 销货方法

service 核心方法

getServletConfig() 获取servlet配置

getServletInfo() 获取servlet信息


Servlet生命周期:  

init(ServletConfig config)方法 初始化servlet调用的方法 、 tomcat执行 、 一次 、 默认第一次访问时

service(ServletRequest req, ServletResponse res)方法      核心服务方法 、 执行者是tomcat 、 执行次数是每次访问都执行 、 执行时机是每次请求

destroy()方法  销毁方法 、 tomcat 、 1次 、 tomcat正常关闭活着项目移除

关联源码:  ctrl+左键添加源码,选择文件

ServletConfig:


String getInitParameter(String name) 获取servlet初始化参数 T02_Constractor com.hx.web1.web.T02_Constractor encoding utf-8
getInitParameterNames() 获取初始化所有参数的名字
getServletName() 获取servlet配置名
getServletContext() 获取整个应用的app,上下文

ServletContext

整个项目全局配置参数  , 在servlet同级配置 , 

<!-- context 上下文-参数   app参数 -->  
   <context-param>
       <param-name>encoding</param-name>
       <param-value>utf-8</param-value>
   </context-param>

四大域对象之一(最大),作用在整个应用

获取mimeType

 String fileName = "xx.jpg"; // js -> text/javascript zip txt

 String mimeType = servletContext.getMimeType(fileName);

 System.out.println(mimeType);

 String fileName2 = "txt"; // js -> text/javascript zip txt

 String mimeType2 = servletContext.getMimeType(fileName2);

 System.out.println(mimeType2);//null

获取项目真实路径(文件上传)    上传图片,保存在tomcat下面

String realPath = servletContext.getRealPath("/upload");
     System.out.println(realPath);
     String realPath2 = servletContext.getRealPath("upload");
     System.out.println(realPath2);

servlet单实例,多线程  service很多次   多线程-> 线程安全问题    最好不要用全局变量!


<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <!-- 展示项目名 -->
  <display-name>Web001</display-name>
  <!-- 欢迎界面 -->
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  
  <!-- 暴露 login servlet alt+/ 提示 -->
  <!-- 暴露具体配置的哪一个servlet -->
  <servlet>
  <!-- 当前servlet在xml中的名字  id -->
  <servlet-name>loginServlet</servlet-name>
  <!-- 具体的类的全路径 -->
  <servlet-class>com.czm.servlet.LoginServlet</servlet-class>
  </servlet>
  <!-- 真正的外界访问路径 -->
  <servlet-mapping>
  <!-- 对应的哪一个servlet配置路径 -->
  <servlet-name>loginServlet</servlet-name>
  <!-- 路径  /  http://localhost/Web001/login.do -->
  <url-pattern>/login.do</url-pattern>
  </servlet-mapping>
  
  <!-- 暴露register -->
  <servlet>
  <servlet-name>registerServlet</servlet-name>
  <servlet-class>com.czm.servlet.RegisterServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  <servlet-name>registerServlet</servlet-name>
  <url-pattern>/register.do</url-pattern>
  </servlet-mapping>
  
  <!-- 暴露login2 -->
  <servlet>
  <servlet-name>login2Servlet</servlet-name>
  <servlet-class>com.czm.servlet.Login2Servlet</servlet-class>
  </servlet>
  <servlet-mapping>
  <servlet-name>login2Servlet</servlet-name>
  <url-pattern>/login2.do</url-pattern>
  </servlet-mapping>
  
</web-app>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值