1.打开myeclipse,创建一个web项目。
2.在index.jsp (在WebRoot下面)页面的body里面加入 如下代码:
账号: |
密码: |
3.创建servlet。
(1)点击src——右键——new——package——输入包名字
(2)点击刚创建的包—右键——new——servlet——输入名字—finish。
打开WebRoot——WEB——INF——打开web.xml,可以看见如下信息,myeclipse自动为我们生成了servlet的配置
我的index.jsp里面表单
和这个配置里面的蓝色部分一致。把你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("");
out.println("");
out.println("
注意红色部分,上面2句可以防止乱码,一定要加上,下面2句红色,就是用来获取我们传过来的数据,userName和表单里面的
userName要一一对应,就是要一模一样,接收后显示在网页上。
一般这里接收到数据,我们就可以对接受到的数据进行处理,比如把数据写入数据库什么的。
好了,一个简单的servler使用就完成了,部署到tomcat,浏览器访问打开,在表单填入信息,点击登录,就会在另外一个页面显示你填入的信息了。
继续完善:把接收到的数据写入数据库
1.下载安装mysql数据库(安装网上很多,搜搜看)
2.你可以用命令来完成数据的各项操作,也可以用图形界面工具,很方便。比如:Navicat for MySQL。安装好mysql后,点击开始菜单,找到它,点击,出现一个黑窗口
输入密码(你安装的时候后让你设置的),进入后输入 create database mytest; 回车,mytest是数据库名字,你可以自己取
创建表:输入 use mytest; 回车
在输入:
create table user(name varchar(20),password varchar(20)); 回车
数据库创建完毕,转到项目,把链接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下面,是否报错,包什么错
具体demo下载地址,有详细说明的:http://download.csdn.net/detail/hhhccckkk/5378107