文章目录
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常用方法
获取输出流(字符流)
获取输出流(字节流)
响应错误信息