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

2024-12-21 12:20:08
推荐回答(5个)
回答1:

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

回答2:

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("

用户名或密码错误,点击返回

");
pw.flush();
}

}
}

下面是web.xml

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">


login
com.wangchao.action.LoginAction



login
/login.do




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






My JSP 'index.jsp' starting page











用户名:


密  码:









回答3:

比如说,一个表单里里面,你点击按钮提交之后,数据会根绝form里面的action属性指向一个servlet,然后servlet会对这些数据进行处理。返回登陆成功或者操作成功的页面。servlet处理前台后台的能力都很强力的。后台主要就是数据库的JDBC操作了。前台的话是也是jdbc的操作。就像我们项目经理说的,servlet和JDBC是狼狈为奸的。因为他们在一起很无敌的存在的。

回答4:

比如说,填写注册提交后,你输入的数据会被提交到servlet中,然后在servlet把你提交的数据插入到数据库中,然后再跳转到提示注册成功的页面。
或者,比如你要查询一些数据,当你点“查询”时,会把你的查询条件提交到servlet,在servlet中从数据库中读取数据,然后返回到显示页面。等等。。你是大学生么?是的话,到你们学校图书馆你借几本JSP的书回来看就知道了。

回答5:

简单的说一下:
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)。