Servlet快速入门
一、tomcat 目录
Servlet顾名思义,是服务器上运行的小程序。小程序的运行需要一定的运行环境,也就是WEB服务器,web容器多种多样,但目前比较常用的是tomcat。所以首先要下载tomcat。 http://tomcat.apache.org/.
将tomcat解压可以看到以下目录:
每个目录的作用:
Bin :目录下存放的主要是一些脚本程序,包括tomcat的启动与关闭程序
Conf :目录下存放的是tomcat的配置文件包括:web.xml,server.xml等
lib :目录下存放的是tomcat通用的一些jar包
logs:存放的是日志文件
temp:则存放tomcat的一些临时文件
webapp: 主要存放web应用程序,我们的应用程序基本都要放在这个目录下。
Work :存放的是将jsp文件转化为servlet之所存放的目录。
二、配置环境变量
解压完tomcat之后就要进行环境变量的设置,如果没有设置JDK的话首先要设置JDK。如果已经设置好JDK,直接进行tomcat环境变量的设置。
1、 设置JDK,需要设置一下几个变量
JAVA_HOME : C:\Program Files\Java\jdk1.8.0_45
classpath : %JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
path: %JAVA_HOME%\bin
注意用分号隔开。
2、 设置tomcat,需要设置一下几个变量
CATALINA_HOME:D:\tomcat8
CATALINA_BASE:D:\tomcat8
Path: %CATALINA_HOME %\bin
classpath: %CATALINA_HOME%\lib\servlet-api.jar
三、Servlet
Servlet是服务器端运行程序,JSP从根本上来说就是Servlet,当我们写好一个JSP页面之后,tomcat会将JSP转化成Servlet然后再运行。Servlet作为一个接口包含一下几种方法:
init() 初始化
service() 处理方法
getServletConfig() 获取方法
getServletInfo() 获取信息
destroy() 当servlet需要被清除时调用该方法
当客户端发送来请求时,服务器会将请求封装成一个ServletRequest类传递给Service进行处理,同时传递给Service一个ServletResponse类。
GenericServlet实现了Servlet类,同时HttpServlet继承了GenericServlet类。
四、web应用目录结构
|WEBAPPNAME
|WEB_INF
|classes
|lib
| web.xml
|html文档
其中WEB_INF是无法通过外部进行访问的。
五、举个例子
1、编写servlet
这是一个Servlet的例子,利用javac将其编译成.class文件。
importjavax.servlet.servletException;
import java.io.*;
import javax.servlet.http.*;
public class Hello extendsHttpServlet{
public void doGet(HttpServletRequest request, HttpServetResponse response){
String name = request.getParameter("user");//获取前台页面传输过来的参数
String password = request.getParameter("password");
PrintWriter pw = response.getWriter();//获取写出流
pw.write(name);
pw.write(password);
}
public void doPost(HttpServletRequest request, HttpServletResponse response){
doGet(request,response);
}
}
将编译好的class文件放在classes里面。
编译好.class之后需要对web.xml
2、配置web.xml
<?xml version="1.0"encoding="ISO-8859-1"?>
<web-appxmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1"
metadata-complete="true">
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>Hello</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/Hello</url-pattern>
</servlet-mapping>
</web-app>
其中<url-pattern>是对Servlet进行访问是的url地址
<servlet-name>必须和<servlet>中的<servlet-name>相对应。<servlet-class>则是放在class里的类名。
3、index.html文档
<html>
<head>
</head>
<body>
<form action="Hello" method ="get">
<label>姓名:</label>
<inputtype="input" name = "user"></input>
<label>密码:</label>
<inputtype="password" name = "password"/>
<inputtype="submit" value="提交"/>
</form>
</body>
</html>
根据上面的URL地址访问index.html,填好姓名与密码传递给servlet进行处理。
Servlet通过getParameter(“”)方法获得参数值。然后进行相应的处理。