servlet简单用法和配置示例及说明

学习原因和目的:

我如今所接触的项目都是bs模式的web应用,而里边基本上都是用的spring MVC和前台交互,servlet貌似用的很少。

但是即便是用spring和spring MVC,项目中依旧是少不了web.xml文件,而这里边的配置看来看去根本就是servlet的配置。

因此为了更好的理解这些配置,我想还是需要从servlet入手。

servlet在百度中的解释是:

用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。

 

学习和理解:

据我所知,编写servlet有多种方式,而现在比较常见的是集成httpservlet类,然后重写doget和dopost等方法。因此我在理解的过程中也就以这个为基础。

这种简单的实现,需要在项目中导入servlet的jar包。

要验证自己写的servlet以及配置是否正确,就需要涉及到简单的页面,jsp或者html,如下:

[html] view plain copy

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. </head>
  6. <body>
  7. <form action="./cookieServlet" method="post">
  8. <input type="text" name="userName"/>
  9. <input type="password" name="password"/>
  10. <input type="submit" value="login"/>
  11. </form>
  12. </body>
  13. </html>

页面只是个非常简单的form表单,包含了username和password两个文本输入框,和表单提交按钮。需要注意的是,input中不能少了name属性,这个属性是和后台交互的关键,有了它,后台才能用request.getParameter()方法正确获取文本框中输入的内容。这一点有经验的朋友肯定都知道,但刚进入软件开发的时候我因为不知道这个问题而遇到过困难,想来对初学者大概有用。

在这个页面中,填好用户名和密码后,点击提交,浏览器会向服务器发送一个cookieServlet请求,同时把页面填好的userName和password传入后台。后台就可以通过相应的方法获取数据进行一定的逻辑处理,对应的servlet代码如下:

[java] view plain copy

  1. package servletTest;
  2. import java.io.IOException;
  3. import javax.servlet.ServletException;
  4. import javax.servlet.http.Cookie;
  5. import javax.servlet.http.HttpServlet;
  6. import javax.servlet.http.HttpServletRequest;
  7. import javax.servlet.http.HttpServletResponse;
  8. import javax.servlet.http.HttpSession;
  9. public class CookieServlet extends HttpServlet {
  10. @Override
  11. protected void doGet(HttpServletRequest req, HttpServletResponse resp)
  12. throws ServletException, IOException {
  13. super.doGet(req, resp);
  14. }
  15. @Override
  16. protected void doPost(HttpServletRequest req, HttpServletResponse resp)
  17. throws ServletException, IOException {
  18. String userName = req.getParameter("userName");
  19. String password = req.getParameter("password");
  20. }
  21. }

在这个代码中,自己新建了一个CookieServlet类,集成了httpservlet并重写doPost方法,在方法里获取userName和password。

截止到这里,看起来都非常的简单,不论是页面还是java代码都不难理解。但是如果只是这样的话,实际上是不行的,还需要配置web.xml文件才能让前后台联系起来,成功的实现交互。web.xml如下:

[html] view plain copy

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
  4. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
  5. id="WebApp_ID" version="2.5">
  6. <display-name>cookieTest</display-name>
  7. <servlet>
  8. <servlet-name>login</servlet-name>
  9. <servlet-class>servletTest.CookieServlet</servlet-class>
  10. </servlet>
  11. <servlet-mapping>
  12. <servlet-name>login</servlet-name>
  13. <url-pattern>/cookieServlet</url-pattern>
  14. </servlet-mapping>
  15. <welcome-file-list>
  16. <welcome-file>index.html</welcome-file>
  17. </welcome-file-list>
  18. </web-app>

这里边,首先要注册一个servlet,也就是下边这个:

<servlet>

<servlet-name>login</servlet-name>

<servlet-class>servletTest.CookieServlet</servlet-class>

</servlet>

然后是对应的映射:

<servlet-mapping>

<servlet-name>login</servlet-name>

<url-pattern>/cookieServlet</url-pattern>

</servlet-mapping>

那么有了这两个配置后,当页面向服务器发送cookieServlet请求后,web.xml就会找到url-pattern>/cookieServlet</url-pattern>这里,然后根据这个找个他所在的<servlet-mapping>里的<servlet-name>是什么。

可以看到在我这里,对应的<servlet-name>是login,于是web.xml在根据这个login去寻找含有<servlet-name>login</servlet-name>的<servlet>。

当找到这个<servlet>以后,便能获取到其中的<servlet-class>servletTest.CookieServlet</servlet-class>,这里<servlet-class>里边写的就是我们编写的后台servlet类的全路径,也就是完整的包名加上类名。

于是乎,有了这个配置,我们的程序就知道了相应的请求应该去走哪个后台代码,从而实现关联和交互。

时间: 2024-11-04 11:14:29

servlet简单用法和配置示例及说明的相关文章

tinc vpn简单配置示例扩展(一)——跨越三层网络

tinc vpn简单配置示例扩展(一)--跨越三层网络 在tinc vpn简单配置示例(http://watertoeast.blog.51cto.com/8489855/1711649)一文中,构建tinc VPN的两台机器同属一个局域网(如图一),这样的场景基本与实际应用情况不符.今天对简单示例进行扩展,使构建vpn的两台主机跨越三层网络边界(如图二). 图一 tinc vpn in lan 图二 tinc VPN跨越三层网络边界 如图二所示,PC02的IP地址变成了172.16.1.6,与

Servlet简单总结(一)

一.Servlet简单总结 1.1. 什么是Servlet Servlet是JavaEE三大组建之一,是使用Java语言编写服务器端的程序,主要用来处理Web应用程序中的请求-响应.Servlet并没有main之类的执行方法,当用户访问服务器的时候,Tomcat是通过调用Servlet的某些方法来完成整个处理过程的.Servlet是运行在Tomcat服务器提供的Servlet容器中的,所以Servlet是不用程序指定调用的. 1.2. Tomcat与JavaEE JavaEE的版本与Tomcat

Android网络(3):HttpClient作客户端,Tomcat Servlet作服务器的交互示例

前面相继介绍了Android网络编程里的Socket传输图片.HttpURLConnection,今天看HttpClient. 第一部分:JavaEE版的Eclipse配置Tomcat [备注:开发后台服务器用Eclipse的JavaEE版最好的,但单就Tomcat来说(不写jsp之类的),本文下面的服务器方面操作在普通版的Eclipse也是可以的.我这里为了和ADT-bundle分开,特意重新安个JavaEE版的Eclipse.] 1.下载Eclipse的Tomcat插件:http://www

DB2 HADR 配置示例

介绍 DB2的HA可以在OS级别使用专门的HA来实现,也可使用DB2内置的HADR来实现,且配置和管理很简单. 一个HADR环境需要两台数据库服务器:主数据库服务器(primary)和备用数据库服务器(standby,处于standby角色的数据库不能够被访问).当主数据库中发生事务操作时,会同时将日志文件通过TCP/IP协议传送到备用数据库服务器,然后备用数据库对接受到的日志文件进行重放(Replay),从而保持与主数据库的一致性.当主数据库发生故障时,备用数据库服务器可以接管主数据库服务器的

LVS DR模型配置示例

要让路由知道哪台主机是Director,进行选择: 1.VIP:MAC(Director VIP) -- MAC绑定,但未必可行,例如路由是运营商的. 2.arptables 3.kernel parameter(常用此配置): arp_ignore:定义接收到ARP请求时的响应级别: 0:默认级别,只要本机配置有相应的地址,就给予响应: 1:只有当请求目标地址是请求到达接口上配置的地址,才给予响应: arp_announce:定义将自己的地址向外通告时的通告级别: 0:默认级别,将本机任何接口

SharePoint 2013 工作流之使用Designer配置示例篇

原文:SharePoint 2013 工作流之使用Designer配置示例篇 在SharePoint 2013中,支持SharePoint Designer 2013(以下简称SPD)配置简单的工作流,完成我们的业务需要.下面,我们就举一个小例子,实现SPD配置工作流. 1. 首先,打开SPD,打开SharePoint站点,在Ribbon菜单上,选择列表工作流,选择需要配置的列表,如下图: 2.弹出对话框,如下图,填写工作流名称.说明及平台类型: 3.进入工作流设计器,如下图: 4.在Ribbo

Tomcat6.0下的jsp、servlet和javabean的配置

第一步:下载jdk和tomcat: 第二步:安装和配置你的jdk和tomcat:执行jdk和tomcat的安装程序,然后设置按照路径进行安装即可.1.安装jdk以后,需要配置一下环境变量,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的jdk安装在C:\Program Files\Java): JAVA_HOME=C:\Program Files\Java\jdk1.6.0_10 classpath=.;%JAVA_HOME%\lib\dt.jar;%

[转]Intellij idea创建javaWeb以及Servlet简单实现

准备:1. 安装jdk1.72. 安装tomcat1.8 一.创建并设置javaweb工程 1.创建javaweb工程File --> New --> Project... 设置工程名字: 创建完成后工程结构如下: 2. Web工程设置2.1 在WEB-INF 目录下点击右键,New --> Directory,创建 classes 和 lib 两个目录classes目录用于存放编译后的class文件,lib用于存放依赖的jar包 2.2 File --> Project Stru

Intellij idea创建javaWeb以及Servlet简单实现

准备: 1. 安装jdk1.7 2. 安装tomcat1.8 一.创建并设置javaweb工程 1.创建javaweb工程 File --> New --> Project... 设置工程名字: 创建完成后工程结构如下: 2. Web工程设置 2.1 在WEB-INF 目录下点击右键,New --> Directory,创建 classes 和 lib 两个目录 classes目录用于存放编译后的class文件,lib用于存放依赖的jar包 2.2 File --> Project