java的servlet注册案例_一个简单的Servlet注册实例

我们在利用Servlet进行web开发的时候 ,运行的不是 JSP页面 而实际上是一个  Java类的对象  。这个类的对象从

javax.sevlet.http.HttpServlet ;这个类是基于HTTP的 Servlet类 我们自己写的 Servlet应该从 这个类派生而来 .

通过我们自己编写的类 以及对web.xml的部署  ,进行web的流程控制 ,实现用户与服务器的交互 。

要注意在 编写Servlet进行相应客户端的时候 我们在调用  Response.setContenType("text/html;charset=gb2312");的时候一定要放在其他函数调用的前面 因为这是设置 相应给客户端页面的 MIME类型 ,设置真个页面的属性。  这个和JSP页面的  意义是一样的 ,如果我们不设置

那么 页面中的交互文本将是乱码 。。。。

下面是一个简单的 Servlet注册代码

运行 Tomcat的时候输入如下提交

web工程的web.xml编写如下代码

firstServlet    //实例名字

me.RServlet  //类

firstServlet    //实例名字

/firstServlet   //URL访问的时候相对于 WEB应用的 逻辑路径

ch08

       //这是一个默认主页的配置

index.html

index.htm

index.jsp

default.html

default.htm

default.jsp

Servlet代码 ,将生成的  RServlet.class复制到 WEB-INF下的 classes目录下

package me;

import javax.servlet.*;

import javax.servlet.http.*;  //基于http的 HttpServlet类在此包中

import java.io.*;

import java.sql.*;

public class RServlet extends HttpServlet     //从HttpServlet类派生而来 至少实现以下一个函数

{

String user  ;

String password;

PrintWriter out ;//输出流

public void init(ServletConfig config) throws ServletException

{

super.init(config) ;//调用基类的构造函数进行初始化

}

public  void service(ServletRequest req, ServletResponse res) //重写Service来对客户端的请求进行相应

{

res.setContentType("text/html;charset=GB2312");//设置相应页面的格式 如果不设置那么将会导致出现乱码

//设置 MIME类型应该在 获取PrintWriter之前

this.getPrintWriter(res);//获得输出流

if((user=req.getParameter("user"))==null||(password=req.getParameter("password"))==null)//数据不合理就返回

{

out.print("非法数据提交!
");

return ;

}

else

{

this.addUserToDB(this.user, this.password)   ;//增加用户到数据库

}

}

public  void  getPrintWriter(ServletResponse res)

{

try

{

this.out=res.getWriter() ;

}

catch(Exception e)

{

}

}

public  void addUserToDB(String user,String pass)//增加用户数据到数据库

{

try

{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ;

Connection cn=DriverManager.getConnection("jdbc:odbc:testDatabase","sa","7603835");//构造一个Connection对象表示和一个数据库的链接

Statement s=cn.createStatement() ;//创建Statement对象

String sql="insert into info(username,password) values('"+user+"','"+pass+"')";

s.executeUpdate(sql) ;//执行SQL语句

cn.close() ;

}

catch(Exception e)

{

out.print("Error");

}

out.print("数据添加成功!");

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值