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同级配置 , 

 
   
       encoding
       utf-8
   

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

获取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很多次   多线程-> 线程安全问题    最好不要用全局变量!




 
  Web001
 
 
    index.html
    index.htm
    index.jsp
    default.html
    default.htm
    default.jsp
 

  
 
 
 
 
  loginServlet
 
  com.czm.servlet.LoginServlet
 

 
 
 
  loginServlet
 
  /login.do
 

  
 
 
  registerServlet
  com.czm.servlet.RegisterServlet
 

 
  registerServlet
  /register.do
 

  
 
 
  login2Servlet
  com.czm.servlet.Login2Servlet
 

 
  login2Servlet
  /login2.do
 

  


你可能感兴趣的:(Web基础)