一个简单的Servlet使用实例
要是您说有struts要servlet干嘛,对不起,本文不适合您。
要说您是JAVA高端编程人员,对不起,不要浪费您的时间,本文很基础。
先简单介绍下Servlet(知道的就知道了,不知道的估计看了也白费,更多详情,大家可以参见百度百科:http://baike.baidu.com/view/25169.htm)
Servlet是一种独立于平台和协议的服务器端的Java应用程序,可以生成动态的Web页面。 它担当Web浏览器或其他HTTP客户程序发出请求,与HTTP服务器上的数据库或应用程序之间的中间层。
Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。
目前就我而言,最常用的地方还是登录验证
首先写个index.html
<form action=”servlet/login” method=”post”>
<input type=”text” name=”userName” />
<input type=”password” name=”uPass” />
<input type=”submit” value=”提交”>
</form>
[/html” line=”1″ escaped=”true]
ok,一个简单的登录表单做完
相信初学者大多会提及到一个jsp页面,由jsp来处理提交数据,事实上,我最开始也是这么干的……
不废话,下面我给大家介绍下,手动创建一个Servlet的过程,新建一个class,名字随便,我起了DoLogin
导包
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;
[/java” line=”1″ escaped=”true]
继承HttpServlet
public class DoLogin extends HttpServlet
[/java” escaped=”true]
主要我们重写doPost与doGet这2个方法就足够了
一般来说我们处理get与post都是一样的
所以在doGet里我们可以这样写
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
[/java” escaped=”true]
下面我们开始写doPost
假设我们现在有个JavaBean User和一个Dao UserDAO,UserDAO中有个getUserByUserName(String userName)静态方法
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String userName = request.getParameter(“userName”);
String userPassword = request.getParameter(“uPass”);
User user = null;
if (userName!=null&&!””.equals(userName)&&userPassword!=null&&!””.equals(userPassword))
{
user = UserDAO.getUserByName(userName);
if (user!=null&&userPassword.equals(user.getUserPassword))
{
request.getRequestDispatcher(“success.jsp”).forward(request, response);
}
else
{
response.sendRedirect(“error.jsp”);
}
}
else
{
response.sendRedirect(“error.jsp”);
}
}
[/java” line=”1″ escaped=”true]
OK,一个简单的servlet我们就写完了(实际使用中,一般还会重写init()方法和destroy()以便于初始化数据和销毁数据)
但是现在这个servlet还不能用
需要我们配置下
打开web.xml
在
那么这里就应该写为servlet/Dologin
[/xml” line=”1″ escaped=”true]
另外servlet可以对应多个url
比如说我还想让他有个/admin/login 的访问地址
那么就再写个
[/xml” line=”1″ escaped=”true]