1.打开myeclipse,创建一个web项目。

2.在index.jsp   (在WebRoot下面)页面的body里面加入 如下代码:

<div align="center">
     <form action="servlet/LoginServlet" method="post">   <!--处理表单的servlet ,需要替换成自己的servlet,在下面创建的 -->
    <table>
     <tr>
     <td>账号:<input name="userName" type="text"/></td>
     </tr>
     <tr><td>密码:<input name="userPassword" type="password"/></td></tr>
      <tr>
     <td ><input type="submit" value="登陆"/>
     <input type="reset" value="取消"/></td>
     </tr>
     </table>
     </form>
     </div>

 

3.创建servlet。

(1)点击src——右键——new——package——输入包名字

  (2)点击刚创建的包—右键——new——servlet——输入名字—finish。

打开WebRoot——WEB——INF——打开web.xml,可以看见如下信息,myeclipse自动为我们生成了servlet的配置

<servlet>
     <description>This is the description of my J2EE component</description>
     <display-name>This is the display name of my J2EE component</display-name>
     <servlet-name>LoginServlet</servlet-name>
     <servlet-class>com.hck.LoginServlet</servlet-class>
   </servlet>  <servlet-mapping>
     <servlet-name>LoginServlet</servlet-name>
    servlet/LoginServlet</url-pattern>

我的index.jsp里面表单<form action="servlet/LoginServlet" method="post">   action里面的值就是和

和这个配置里面的蓝色部分一致。把你index.jsp里面action的值,换成你web.xml里面对应的servlet


4.在servlt类里面,接收我们表单传过去的数据,并显示出来。

打开刚创建的servlet,在doPost方法里面,添加如下代码:

response.setContentType("text/html;charset=UTF-8");    
   request.setCharacterEncoding("UTF-8");
  PrintWriter out = response.getWriter();
   out
     .println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
   out.println("<HTML>");
   out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");
   out.println("  <BODY>");
   out.println("账号:"+request.getParameter("userName")+"<br>");
   out.println("密码:"+request.getParameter("userPassword")+"<br>");
  out.print("    This is ");
   out.print(this.getClass());
   out.println(", using the POST method");
   out.println("  </BODY>");
   out.println("</HTML>");
   out.flush();
   out.close();

注意红色部分,上面2句可以防止乱码,一定要加上,下面2句红色,就是用来获取我们传过来的数据,userName和表单里面的

userName要一一对应,就是要一模一样,接收后显示在网页上。

 

一般这里接收到数据,我们就可以对接受到的数据进行处理,比如把数据写入数据库什么的。

好了,一个简单的servler使用就完成了,部署到tomcat,浏览器访问打开,在表单填入信息,点击登录,就会在另外一个页面显示你填入的信息了。

 

 

 

继续完善:把接收到的数据写入数据库

1.下载安装mysql数据库(安装网上很多,搜搜看)

2.你可以用命令来完成数据的各项操作,也可以用图形界面工具,很方便。比如:Navicat for MySQL。安装好mysql后,点击开始菜单,找到它,点击,出现一个黑窗口

输入密码(你安装的时候后让你设置的),进入后输入 create database mytest;    回车,mytest是数据库名字,你可以自己取

java workbook增加sheet javaweb添加数据_数据库

 

创建表:输入     use mytest;   回车

在输入:

 create table user(name varchar(20),password varchar(20));   回车

java workbook增加sheet javaweb添加数据_数据库_02

 

数据库创建完毕,转到项目,把链接mysql数据库的包放入lib文件夹里面。

在项目的包里面创建一个类—DB.java

package com.hck;
import java.sql.Connection;
 import java.sql.DriverManager;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;
 public class DB { public static Connection getcon(Connection con)
  {
   String dbname="mytest";   //你创建的数据库名字
   String username="root";    //登陆数据库的账号,默认为root
   String password="111111";  //登陆密码
   String url="jdbc:mysql://127.0.0.1:3306/"+dbname+"?user="+username+"&password="+password+"";
  
      try {
    Class.forName("com.mysql.jdbc.Driver").newInstance();  //反射加载包
   } catch (InstantiationException e) {
  
    e.printStackTrace();
   } catch (IllegalAccessException e) {
   
    e.printStackTrace();
   } catch (ClassNotFoundException e) {
  
    e.printStackTrace();
   }
   try {
    con=DriverManager.getConnection(url);
   } catch (SQLException e) {
   
    e.printStackTrace();
   }
   return con;
   }
   
  public static void closecon(Connection con)
  {
   if(con!=null)
   {
    try {
     con.close();
    } catch (SQLException e) {
     e.printStackTrace();
    }
    con=null;
   }
  }
  public static Statement getsta(Connection con)
  {
   Statement sta=null;
   try {
    sta=con.createStatement();
   } catch (SQLException e) {
    e.printStackTrace();
   }
   return sta;
  }
  public static void closesta(Statement sta)
  {
   if(sta!=null)
   {
    try {
     sta.close();
    } catch (SQLException e) {    e.printStackTrace();
    }
    sta=null;
   }
  }
  public static PreparedStatement getpsta(Connection con,String sql)
  
  {
   PreparedStatement psta=null;
   try {
    psta=con.prepareStatement(sql);
   } catch (SQLException e) {   e.printStackTrace();
   }
   return psta;
   
  }
  public static ResultSet getrs(Statement sta,String sql)
  
  {
   ResultSet rs=null;
   try {
    rs=sta.executeQuery(sql);
   } catch (SQLException e) {
    e.printStackTrace();
   }
   return rs;
  }
  public static void closers(ResultSet rs)
  {
   if(rs!=null)
   {
    try {
     rs.close();
    } catch (SQLException e) {
     e.printStackTrace();
    }
    rs=null;
   }
  }
 public static void executeUpdate(Connection con,String sql)
 {
  Statement sta=null;
  try {
   sta=con.createStatement();
   sta.executeUpdate(sql);
  } catch (SQLException e) {
   e.printStackTrace();
  }
 }}

在你的那个servlet里面添加代码,把doPost 方法里面的数据替换如下: 新增方法private void insertDate(),如下

private String userName;    //接收表单提交过来的账户
  private String passWord;     //密码public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {  response.setContentType("text/html;charset=UTF-8");  //设置格式编码
   request.setCharacterEncoding("UTF-8");            //设置格式编码
   userName = request.getParameter("userName");     //接收表单传过来的用户账号
   passWord = request.getParameter("userPassword");  //用户密码
   insertDate();    //下面方法,把数据插入数据库 }
  private void insertDate() {
   Connection con = null;  //一个连接对象
   con = (Connection) DB.getcon(con);   //得到一个连接
   PreparedStatement ps = null;    //用于插入数据
   //sql语句,向表user里面,插入name和pass的值
   String sql = "insert into user(name,password) values(?,?)";   
   ps = (PreparedStatement) DB.getpsta(con, sql);
   try {
    ps.setString(1, userName);
    ps.setString(2, passWord);
    ps.executeUpdate();
    ps.close();
   } catch (SQLException e) {   e.printStackTrace();
   }
  }

好了,重新启动tomcat,浏览器输入地址访问,填入数据,登陆,打开数据库,那个黑窗体,在里面输入

user mytest;   回车

select * from user;  回车

看表里面是否有数据了,如果有,那恭喜你,成功,如果没有,请检查数据库是否创建正确,表是否创建好,mysql包是否放入项目lib目录,看myeclipse下面,是否报错,包什么错