Servlet 学习(一)

Servlet简介

1、Servlet是运行在Web服务器或者应用服务器上的Java程序,接收并响应来自Web客户端的请求。
2、它是一个中间层负责连接客户端请求与HTTP服务器上的数据库或者应用程序。
3、Servlet 是一个特殊的类,它实现了javax.servlet.Servlet 接口。

Servlet 功能
1、读取客户发送的显式数据。
2、读取客户发送的隐式数据。
3、生成结果。
4、向客户发送显式数据。
5、发送隐式的HTTP 请求数据。

Servlet 开发环境

1、下载并解压Tomcat(Tomcat 是由 Apache 开发的一个 Servlet 容器,实现了对 Servlet 和 JSP 的支持,并提供了作为Web服务器的一些特有功能)

2、Tomcat 的目录结构

  • bin目录:存放操纵tomcat 的命令
  • conf目录:存放配置文件
  • lib目录:存放一些jar 文件
  • logs目录:用于存放tomcat 的日志信息
  • webapps目录:存放web 应用后面会看到,我们的应用程序就放在这里
  • work目录:存放编译好的class文件等信息
  • temp目录:临时产生的文件,即缓存

3、启动tomcat

  • 进入命令提示符找到apache-tomcat-8.0.38/bin 目录
  • Windows 输入catalina.bat run ,回车,启动tomcat, Linux 输入catalina.sh run ,回车,启动tomcat
  • 或者Windows 输入startup.bat ,回车,启动tomcat Linux 输入startup.sh ,回车,启动tomcat
  • 区别:catalina 方式便于程序调试,只打开一个命令窗口,startup 方式则会在当前窗口基础上,再打开一个窗口

 

 4、启动后,可以通过在浏览器地址栏输入 http://localhost:8080/ 访问 Tomcat 中的默认应用程序,修改apache-tomcat-8.0.38\conf\tomcat-users.xml配置文件就可以进入Tomcat的Server Status、Manager App和Host Manager。

 5、关闭tomcat

  • 在已经启动tomcat 的命令行(终端)窗口中按Ctrl + C 或者Ctrl + Z 或者Ctrl + D [视操作系统而言]Windows 下使用Ctrl + C。
  • 程序会进入下面的提示,这时输入y ,回车即可。

6、 将 Tomcat 和 Eclipse 相关联

选择菜单栏Windows-->preferences,弹出如下界面:

上图中,点击"add"的添加按钮,弹出如下界面:

在选项中,我们选择对应的 Tomcat 版本,接着点击 "Next",选择 Tomcat 的安装目录,并选择我们安装的 Java 环境:

编写Servlet

1、创建一个动态的web工程

上图中,点击"next"的添加按钮,弹出如下界面:

接着点击 "Next",修改默认输出路径为WebContent\WEB-INF\classes:

 点next,打钩,动态web工程创建完成。

2、新建一个servlet类

package ecut.servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public class RegistServlet implements Servlet {

    @Override
    public void init(ServletConfig config) throws ServletException {
    }

    @Override
    public void service( ServletRequest req , ServletResponse resp ) throws ServletException, IOException {
        req.setCharacterEncoding( "UTF-8" );
        resp.setCharacterEncoding( "UTF-8" ); // 设置响应体的编码
        resp.setContentType( "text/html;charset=UTF-8" );
        
        String username = req.getParameter( "username" );
        System.out.println( "username : " + username );
        
        PrintWriter w = resp.getWriter();
        w.println( "<h1 style='text-align:center' >恭喜" + username + ",你已注册成功!</h1>" );
    }
    
    @Override
    public void destroy() {
    }

    @Override
    public ServletConfig getServletConfig() {
        return null;
    }
    
    @Override
    public String getServletInfo() {
        return null;
    }

}

3、修改web.xml(Web 部署描述符)

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
    id="WebApp_ID" version="3.1">
    
    <!-- servlet -->
    <servlet>
        <servlet-name>RegistServlet</servlet-name>
        <servlet-class>ecut.servlet.RegistServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>RegistServlet</servlet-name>
        <url-pattern>/regist</url-pattern>
    </servlet-mapping>
    
</web-app>

注册Servlet 类: 告诉Web 服务器有这么个类存在
<servlet>
<servlet-name>名字随便取和下面名称一致</servlet-name>
<servlet-class>包名.类名</servlet-class>
</servlet>
映射servlet : 告诉Web 服务器当Web 客户端访问某个路径时请求那个servlet
<servlet-mapping>
<servlet-name>名字上面名称一致</servlet-name>
<url-pattern>虚拟路径</url-pattern>
</servlet-mapping>

4、写一个HTML页面

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>注册</title>
</head>
<body>

    <!-- 约定: 所有的路径一律从 当前的WEB应用的路径开始 -->

    <form action="/Servlet/regist" method="post">
        <input type="text" name="username" placeholder="用户名">
        <input type="password" name="password" placeholder="密码">
        <input type="password" name="confirm" placeholder="确认密码">
        <input type="submit" value="注册">
    </form>

</body>
</html>

5、添加server

6、修改配置,将复制目录改为自己新建的目录

7、启动tomcat,输入http://localhost:8080/Servlet/pages/servlet/regist.html

URL : 统一资源定位器( 协议://主机:端口/资源名称)Apache Tomcat 的默认端口是8080
http://localhost:8080/WEB 应用名称(工程名)/

转载请于明显处标明出处

http://www.cnblogs.com/AmyZheng/p/8735170.html

posted @ 2018-04-07 22:28  AmyZheng  阅读(241)  评论(0编辑  收藏  举报