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 应用名称(工程名)/
转载请于明显处标明出处