javaWeb使⽤servlet并且连接数据库向数据库插⼊数据
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——打开l,可以看见如下信息,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>
<url-pattern>/servlet/LoginServlet</url-pattern>
</servlet-mapping>
我的index.jsp⾥⾯表单<form action="servlet/LoginServlet" method="post"> action⾥⾯的值就是和
和这个配置⾥⾯的蓝⾊部分⼀致。把你index.jsp⾥⾯action的值,换成你l⾥⾯对应的servlet
4.在servlt类⾥⾯,接收我们表单传过去的数据,并显⽰出来。
打开刚创建的servlet,在doPost⽅法⾥⾯,添加如下代码:
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("UTF-8");
PrintWriter out = Writer();
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("账号:"+Parameter("userName")+"<br>");
out.println("密码:"+Parameter("userPassword")+"<br>");
out.print(" This is ");
out.Class());
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是数据库名字,你可以⾃⼰取
创建表:输⼊ 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("sql.jdbc.Driver").newInstance(); //反射加载包
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
try {
Connection(url);
} catch (SQLException e) {
e.printStackTrace();
}
return con;
}
public static void closecon(Connection 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;
java的jdbc连接数据库
try {
ateStatement();
} 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 {
uteQuery(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 {
ateStatement();
} 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 = Parameter("userName"); //接收表单传过来的⽤户账号
passWord = Parameter("userPassword"); //⽤户密码
insertDate(); //下⾯⽅法,把数据插⼊数据库
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论