java 知识点 4(tomcat、javaweb、servlet)

1、tomcat

Tomcat 是一个免费的开放源代码的Web 应用服务器

1.1、下载

tomcat下载地址:https://tomcat.apache.org/

进入官网

在这里插入图片描述
下载zip压缩包
在这里插入图片描述
直接解压(记住这个解压目录)
在这里插入图片描述

1.2、安装与配置

这里我们仅进行eclipse里的配置,如果需要在系统环境下配置,参考:

https://www.cnblogs.com/limn/p/9358657.html

如果需要在idae下配置,参考:

https://www.cnblogs.com/weixinyu98/p/9822048.html

打开Eclipse,单击“Window”菜单,选择下方的“Preferences”,看是否存在“Server”选项
在这里插入图片描述
选择对应版本
在这里插入图片描述
这里的tomcat目录就是我们解压那个目录
在这里插入图片描述
将server添加到快捷栏
在这里插入图片描述
然后添加对应的项目到server中
在这里插入图片描述
也可以在快捷栏中右击server

在这里插入图片描述

1.3、启动与测试

启动
在这里插入图片描述
在浏览器中访问:http://localhost:8080
在这里插入图片描述

1.4、步骤总结

1、去官网下载tomcat的zip包解压
2、到eclipse里配置tomcat路径
3、将项目添加到server
4、启动运行、访问http://localhost:8080

2、javaWeb

2.1、我的第一个web项目

javaWeb运行在tomcat之上

在这里插入图片描述
在这里插入图片描述

2.1.1、新建项目

新建web项目
在这里插入图片描述
输入web,选择动态web项目
在这里插入图片描述
输入用户名,然后直接点完成(后面我建的项目名叫javaweb02)
在这里插入图片描述
创建好项目之后
生成web.xml:右击项目名-java se Tools- 第二个
在这里插入图片描述
生成的web.xml 文件在 WEB-INF里面
在这里插入图片描述
然后可以把项目添加到tomcat的server里,运行、访问:http://localhost:8080
在这里插入图片描述

2.1.2、目录结构

在这里插入图片描述

2.1.3、初识web.xml

web.xml文件修改
在这里插入图片描述
添加webcome的路径
在这里插入图片描述

2.1.4、新建html

在webcome下,新建html文件夹,新建NewfFile.html
在这里插入图片描述
启动tomcat就可以访问到
在这里插入图片描述

2.1.5、初识Servlet

注:这里建的项目名叫web01

src下,新建一个包com.web01,包下新建类LoginServlet
在这里插入图片描述

继承自HttpServlet,并复写其销毁、服务、初始化方法,再加一个构造方法

package com.web01;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class LoginServlet extends HttpServlet {
	public LoginServlet() {
		super();
		System.out.println("实例化方法");
	}
	public void init() throws ServletException{
		System.out.println("初始化servlet");
	}
	public void service(HttpServletRequest request, HttpServletResponse response) 
	throws ServletException,IOException{
		//以后接触的主要是这个方法,接收、处理get、post都是它
		
		//返回配置信息
		ServletConfig config=getServletConfig();
		System.out.println("servlet名称:"+config.getServletName());
	}
	public void destroy() {
		super.destroy();
		System.out.println("结束servlet时服务器调用");
	}
	@Override
	public String getServletInfo() {
		return "这个方法返回描述信息";
	}
}

把这个servlet添加到web.xml里
在这里插入图片描述
如下代码写到web.xml里面的web-app标签里就可以了

<servlet>
         <!-- servlet的内部名称,自定义 -->
        <servlet-name>LoginServlet</servlet-name>
        <!-- servlet的类全名:包名+类名 -->
        <servlet-class>com.web01.LoginServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
</servlet>
<!-- servlet的映射配置 -->
<servlet-mapping>
        <!-- servlet的内部名称,一定要和上面的内部名称保持一致 -->
        <servlet-name>LoginServlet</servlet-name>
        <!-- servlet的映射路径(访问serclet的名称 -->
        <url-pattern>/demo</url-pattern>
</servlet-mapping>

然后运行并访问:http://localhost:8080/javaweb02/demo

2.2、Servlet及工作流程

servlet类详解
在这里插入图片描述
servlet工作流程

在这里插入图片描述
实例实行顺序
在这里插入图片描述

2.3、前、后端传递数据

2.3.1、Servlet获取web配置里的键值对

web.xml
在这里插入图片描述

        <init-param>
        	<param-name>k1</param-name>
        	<param-value>v1</param-value>
        </init-param>
        <init-param>
        	<param-name>k2</param-name>
        	<param-value>v2</param-value>
        </init-param>

servlet (service方法里)
在这里插入图片描述

		Enumeration<String> enu=config.getInitParameterNames();
		while(enu.hasMoreElements()) {
			String key=enu.nextElement();
			System.out.println(config.getInitParameter(key));
		}

启动
在这里插入图片描述
浏览器访问
在这里插入图片描述
后端输出
在这里插入图片描述

2.3.2、网页路径与传值

html
在这里插入图片描述
web.xml
在这里插入图片描述
运行并提交表单后
在这里插入图片描述
servlet获取网页传的值
在这里插入图片描述

在html中写base标签可以定位相对路径
在这里插入图片描述

2.3.3、servlet的get、post

httpservlet提供有doget和dopost方法:
doGet (接收get请求)
在这里插入图片描述
doPost (接收post请求)
在这里插入图片描述

但是,如果重写了service方法,则优先调用service(service可以接收get或post请求),doGet\doPost就不执行。原因:service方法重写了父类的doGet\doPost。

2.3.4、servlet请求常用方法

在这里插入图片描述
获取url、资源路径、工程名、路径信息
在这里插入图片描述
如果参数中有中文,需要先设置编码(post提交)
在这里插入图片描述
如果参数中有中文,需要先设置编码(get提交)
在这里插入图片描述
取多个值的两种方法
在这里插入图片描述
获取请求头信息
在这里插入图片描述
HttpServletResponse常用方法
在这里插入图片描述
获取输出流(字符流)
在这里插入图片描述
获取输出流(字节流)
在这里插入图片描述
响应错误信息
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值