我很想知道,servlet到底是做什么的 怎么用?

我看到很多网页上面都说 servlet处理后台,我很想知道 servlet处理后台的表现是什么?什么效果是servlet处理的表现呢?最好能给个例子啊!!

Servlet(Server Applet),全称Java Servlet,未有中文译文。是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。

狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。

扩展资料

servlet特性

1、Servlet 线程不再需要一直阻塞,直到业务处理完毕才能再输出响应,最后才结束该 Servlet 线程。在接收到请求之后,Servlet 线程可以将耗时的操作委派给另一个线程来完成,自己在不生成响应的情况下返回至容器。

2、Servlet使用传统 CGI 程序很难完成的任务都可以轻松地完成。Servlet 能够直接和 Web服务器交互,而普通的 CGI 程序不能。Servlet 还可以在各个程序之间共享数据,使得数据库连接池之类的功能很容易实现。

参考资料来源:百度百科—servlet

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-23
servlet主要就是处理页面传过来的表单数据,页面上的form的action指向到web.xml中,然后在XML中对称节点中找到对应的servlet类去执行你的处理方法.
servlet中使用HttpServletRequest和HttpServletResponse来接受和返回数据
这个类要继承一个HttpServlet类然后重写他的doGet和doPost方法,一般在doGet里this.doPost(req,resp);然后具体的代码在doPost()方法中执行.

一个登陆的小例子,这个是Servlet.
package com.wangchao.action;

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

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.wangchao.bo.AdminBO;
import com.wangchao.service.SfInfoService;
import com.wangchao.service.SfInfoServiceImpl;

public class LoginAction extends HttpServlet{

/**
*
*/
private static final long serialVersionUID = 1L;

String name = "";
String pass = "";
SfInfoService loginser;
AdminBO bo;
boolean istrun;
PrintWriter pw;

public LoginAction(){
loginser = new SfInfoServiceImpl();
bo = new AdminBO();
}

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
this.doPost(req, resp);
}

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {

req.setCharacterEncoding("UTF-8");
resp.setContentType("text/html;charset=utf-8");

name = req.getParameter("username");
pass = req.getParameter("password");
bo.setName(name);
bo.setPassword(pass);
istrun = loginser.userLogin(bo);
pw = resp.getWriter();
if(istrun){
req.setAttribute("name", name);
req.setAttribute("pass", pass);
req.getRequestDispatcher("admin/user_info.jsp").forward(req, resp);
// resp.sendRedirect("admin/MyJsp.jsp");
}else{
pw.print("<h3>用户名或密码错误,点击<a href='admin/index.jsp'>返回</a></h3>");
pw.flush();
}

}
}

下面是web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

<servlet>
<servlet-name>login</servlet-name>
<servlet-class>com.wangchao.action.LoginAction</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/login.do</url-pattern>
</servlet-mapping>

</web-app>

以下为JSP页面:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>

<body>
<div align="center">
<form action="login.do" method="post">
用户名:<input type="text" name="username" style="color: red"><br><br>
密  码:<input type="password" name="password" style="color: green"><br><br>
<div align="center">
<input type="submit" value="登陆"> <input type="reset" value="重填">
</div>
</form>
</div>

</body>
</html>本回答被提问者采纳
第2个回答  2010-06-03
比如说,一个表单里里面,你点击按钮提交之后,数据会根绝form里面的action属性指向一个servlet,然后servlet会对这些数据进行处理。返回登陆成功或者操作成功的页面。servlet处理前台后台的能力都很强力的。后台主要就是数据库的JDBC操作了。前台的话是也是jdbc的操作。就像我们项目经理说的,servlet和JDBC是狼狈为奸的。因为他们在一起很无敌的存在的。
第3个回答  2010-06-03
比如说,填写注册提交后,你输入的数据会被提交到servlet中,然后在servlet把你提交的数据插入到数据库中,然后再跳转到提示注册成功的页面。
或者,比如你要查询一些数据,当你点“查询”时,会把你的查询条件提交到servlet,在servlet中从数据库中读取数据,然后返回到显示页面。等等。。你是大学生么?是的话,到你们学校图书馆你借几本JSP的书回来看就知道了。
第4个回答  2010-06-04
简单的说一下:
Servlet容器(容器在web服务程序里面)是一个Java Web 服务的接口,通过它实现web。
Servlet容器里面,当然是执行Servlet的。
jsp也是Servlet,说到这里提两点就行了。
第一点
Servlet有两种作用。
一、实现成生html语言,返回给服务程序。
二、管理控制客户的请求。(这里你可以去看一下ejb+serlvet+jsp(mvc)的概念。)
第二点
使用jsp支持到底用什么框架?
我理解就是如果数据部署的初衷是提供企业级的应用(不止提供web的数据供应,也提供其它的[应用程序])的话,用ejb+struts(这里就代替servlet,当然servlet就在它里面)+jsp,如果不是的话,struts+spring+hibernate(+jsp)。
相似回答