Servlet学习系列(一)-----Tomcat 安装与配置

1 、什么是 Servlet?

1.1Servlet 就是服务器端的 java 程序,基于 http 协义
1.2Servlet 一定要实现 javax.servlet.Servlet 接口
1.3Servlet 没有 main 方法,它的生命周期由 Servlet 容器(Tomcat)来管理
1.4 Servlet 就是 Java 程序,符合所有的 java 规范

2、Tomcat 安装与配置

2.1 什么是 Tomcat
Apache 的一个 servlet 容器,传统的 web 服务器软件 iis、httpd,这些软件只支持 html、css、js 这些静态内容,Servlet 是一个 web 服务器软件的组件,它可以支持 java,我们早期一般前端用 httpd+tomcat,随
着后来 tomcat 不断完善,tomcat 慢慢地变成了一个独立的 WEB 服务器软件,而且支持 Servlet(java).

2.2 、安装配置 tomcat
下载:http://www.apache.org
2.2.1Tomcat core.zip 精简版
2.2.2Tomcat service 的版本 .zip
2.2.3****.msi
2.2.4 32_64
绿色版,解压开就可以使用

2.3Tomcat 的目录结构
2.3.1Bin 下放了启动和停止 tomcat 服务的脚本
2.3.2 Conf 放了相关的配置文件
2.3.3 Lib 放了 tomcat 用到的 java 库 *.jar
2.3.4 Logs 放所有日志
2.3.5Temp 临时目录
2.3.6 Webapps 布署 web 应用(网站)的目录
2.3.7 Work 工作目录,jsp 将来生成 java 文件都放在此目录

2.4 启动运行 tomcat
要求:
2.4.1 已安装 jdk
2.4.2 配置 path 和 classpath
Step1:配置 java_home 配到 jdk 的安装目录就可以
Step2:运行%tomcat_home%/bin/startup.bat
Step3:打开浏览器 http://localhost:8080

2.5 更改 t tomcat 监听端口 http 默认端口 80
http://www.baidu.com:80 http://www.baidu.com
Step1:打开%tomcat_home%/conf/server.xml
Step2:大约在 70 行,把 8080 改为 80
Step3:保存,重启服务器
查端口:netstat -nao |find “80”
杀:taskkill /f /pid 1902

2.6 在 t tomcat 中布署我们的网站
Webapps/ROOT 是根目录

2.7 虚拟主机
多个虚拟主机共享 80 端口
www.baidu.com www.google.com
一个 web 服务器,可以运行多个网站
Step1:在 d 盘新建两个目录 baidu 和 google
Step2:在 C:\Windows\System32\drivers\etc\hosts 文件中增加
127.0.0.1 www.baidu.com
127.0.0.1 www.google.com
Step3:配置%tomcat_home%/conf/server.xml

1. <server>
2. <service>
3. <engine>
4. <Host name="www.baidu.com" appBase="d:\baidu"
5. unpackWARs="true" autoDeploy="true">
6. <Context path="" docBase="." />
7.
8. <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
9. prefix="baidu_access_log." suffix=".txt"
10. pattern="%h %l %u %t &quot;%r&quot; %s %b" />
11. </Host>
12. <Host name="www.google.com" appBase="d:\google"
13. unpackWARs="true" autoDeploy="true">1
14. <Context path="" docBase="." />
15.
16. <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
17. prefix="google_access_log." suffix=".txt"
18. pattern="%h %l %u %t &quot;%r&quot; %s %b" />
19. </Host>
20. </Engine>
21. </Service>
22. </Server>

Step4: 重启服务器

2.8 发现的问题
1、运行 startup.bat 一闪而过,就是你的 java_home 没有配对
2、版本问题,如果你的 jdk 是 1.8 那么要用 8.0 的 tomcat 8.x 运行,500,不能编译 jsp
3、端口,如果实在冲空不好解决就用 8080 端口

2.9 将 t tomcat 做为一个服务
Step1:下载带服务版的 tomcat
Step2:%tomcat_home%/bin/service.bat install tomcat
我们用 jsvc 来启动 tomcat

3 、 记事本第一个 Servlet 程序

Step1: 在 %tomcat_home%/webapps/ 录 下新建一个目录 www
Step2: 在 www 中新建 index.html

3<!DOCTYPE html>
4<html>
5<head>
6<meta charset="utf-8">
7<title>第一个 Servlet</title>
8</head>
9<body>
10<h1>第一个请求:</h1>
11<center>
12<form action="welcome" method="get">
13、 姓名:<input type="text" name="uname"/>
14<input type="radio" name="sex" checked value="M"/>15<input type="radio" name="sex" value="F"/>16<input type="submit" value="提交"/>
17</form>
18</center>
19</body>
20</html>

Step3:在 www 中新建 s WEB-INF/classes 录 目录 此目录中放 java 的字节码文件
Step4: 在 www/WEB-INF/classes/WelcomeServlet.java

package com.oracle;
import javax.servlet.*;
import java.io.*;
public class WelcomeServlet extends GenericServlet
{
/**
* 就是接收用户的请求,并给客户响应数据
*@param req 接收用户请求,把 http 请求封装的一个对象
* 封装了对客户的输入流用于读取客户发来的数据
*@param res 把 http 的响应封装的一个象
* 封装了对客户的输出流,用于给客户写数据
*/
public void service(ServletRequest req,ServletResponse res)throws ServletException,
java.io.IOException
{
//给客户端的据是 html
res.setContentType("text/html;charset=gbk");
PrintWrite out=res.getWriter();//得到对客户端的输出流
//从客户端读取两个参数
String uname=null!=req.getParameter("uname")?req.getParameter("uname"):"";
String sex=null!=req.getParameter("sex")?req.getParameter("sex"):"";
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<meta charset='utf-8'>");
out.println("<title>Welcome,"+uname+"</title>");
out.println("</head>");
out.println("<body>");
String inf="女士";
if("M".equals(sex))
{
inf="先生";
}
out.println("<h1>Welcome,"+uname+","+inf+"</h1>");
out.println("<center><a href='index.html'>返回</a><center>");
out.println("</body>");
out.println("</html>");
}
}

Step5: 将 %tomcat_home%/lib/servlet-api.jar 加入 classpath
Step6: 编译 Servlet

%tomcat_home%webapps/www/WEB-INF/classes> javac -d . WelcomeServlet.java

Step7: 映射 L URL 和 和 t Servlet 的对应关系
1、复制%tomcat_home%webapps/ROOT/WEB-INF/web.xml 文件到
%tomcat_home%webapps/www/WEB-INF/web.xml

1<web-app>
2<servlet>
3<servlet-name>firstservlet</servlet-name> <!--就是给字节码取了个名字,随边取-->
4<servlet-class>com.oracle.WelcomeServlet</servlet-class><!--以 WEB-INF/classes/目录为起始目录-->
5</servlet>
6<servlet-mapping>
7<servlet-name>firstservlet</servlet-name>
8<url-pattern>/welcome</url-pattern> <!--自定义一个 url,为 servlet 匹配-->
9</servlet-mapping>
10</web-app>

Step8: 重启 tomcat 服务

http://localhost/www
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值