servlet中Java连接数据库后的基本操作

  1. 在eclipse中新建一个工程:login
  2. 在Server中新建一个服务器,基本的操作不用说了,在前两天的笔记中可以找到;
  3. 需要知道数据库的用户名和密码:用户名:user.密码:yufei
  4. 需要改变的地方:

地方一:web.xml

<?xml version="1.0"     encoding="UTF-8"?>

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     xmlns="http://java.sun.com/xml/ns/javaee"     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">

<display-name>login</display-name>

<welcome-file-list>

<welcome-file>login.html</welcome-file>

</welcome-file-list>

<!-- 注册servlet -->

<servlet>

<!-- servlet的名字 (名字可以随便取)但是约定俗成的名字是开发的servlet的名字 -->

<servlet-name>LoginServlet</servlet-name>

<!-- 配置servlet的包名 (不要带上后缀) -->

<servlet-class>login.com.LoginServlet</servlet-class>

</servlet>

<!-- 映射servlet -->

<servlet-mapping>

<!-- 映射servlet的名字     必须和你注册的servlet的名字一样 -->

<servlet-name>LoginServlet</servlet-name>

<!-- 配置servlet处理的路径(路径可以随便取)但是约定俗成的名字是开发的servlet的名字 -->

<url-pattern>/LoginServlet</url-pattern>

</servlet-mapping>

</web-app>

地方二:在Java Resources 里面新建包和html文件比如:login.com(包),LoginServlet.java文件

下面是:LoginServlet.java里面的内容:

package     login.com;

import     java.io.IOException;

import     java.io.PrintWriter;

import java.sql.Connection;

import     java.sql.DriverManager;

import     java.sql.PreparedStatement;

import     java.sql.ResultSet;

import     java.sql.SQLException;

import     java.util.ArrayList;

import     java.util.List;

import     javax.servlet.ServletException;

import     javax.servlet.http.HttpServlet;

import     javax.servlet.http.HttpServletRequest;

import     javax.servlet.http.HttpServletResponse;

public class     LoginServlet extends HttpServlet{

@Override

protected void     doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException,     IOException {

// TODO     Auto-generated method stub

//处理中文的乱码

resp.setContentType("text/html;charset=utf-8");//响应

req.setCharacterEncoding("utf-8");     //请求

String name =     req.getParameter("username"); //username是输入框对应的name                          String pwd =     req.getParameter("pwd");                          try {

try {

//表单填写的都是字符串

Class.forName("com.mysql.jdbc.Driver");

Connection     connection =     DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/login",     "root", "yufei");

//                                             System.out.println(connection);

String     sql = "select * from conn where name=? and pwd=? ;";

PreparedStatement     preparedStatement = connection.prepareStatement(sql);

System.out.println("name:"+name+"============"     +"pwd" + pwd);

preparedStatement.setString(1,     name);

preparedStatement.setString(2,     pwd);

ResultSet     re = preparedStatement.executeQuery();

PrintWriter     out = resp.getWriter();

out.print("<h1>==========</h1>");

String     sql1 = "select * from student";

PreparedStatement     sprint = connection.prepareStatement(sql1);

ResultSet     studinf = sprint.executeQuery();

while(re.next()){

out.print("<h1>登录成功</h1>");

out.print("<h5>学生的信息是:</h5>");

while(studinf.next()){

out.print("<p>学生的姓名是:"+     studinf.getString("name")+"===id号:"+studinf.getString("id")+"===性别是:"+studinf.getString("gender")+"===年龄是:"+studinf.getString("age")+"</p>");

}

return;//终止程序

}

out.print("<h1>登录失败</h1>");

} catch     (SQLException e) {

//     TODO Auto-generated catch block

e.printStackTrace();

}

} catch     (ClassNotFoundException e) {

// TODO     Auto-generated catch block

e.printStackTrace();

}

}

//form默认的提交方式是get

@Override

protected void doGet(HttpServletRequest     req, HttpServletResponse resp) throws ServletException, IOException {

// TODO     Auto-generated method stub

doPost(req,resp);

}

}

地方三:在文件WebContent里面新建一个html文件,比如:login.html

下面是:login.html内容:

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>login</title>

</head>

<body>

<h1>&nbsp;welcome to login</h1>

<div style='outline:1px black solid;width:340px;  text-align: center;'>

<h1>登录页面</h1>

<!--   <a href='HelloServer'>获得连接</a>     -->

<!-- <%=request.getContextPath()%>/ -->

<form action='LoginServlet' method='post'>

<p>用户名:<input type='text'     name='username'/></p>

<p>密码: <input type='password'     name='pwd'/></p>

<button>login</button>

</form>

</div>

</body>

</html>

地方四:添加夹包-在文件夹WEB-INF的lib里面加上夹包Server和mysql

servlet中Java连接数据库后的基本操作的更多相关文章

  1. jsp九大内置对象与servlet中java对象

    jsp九大内置对象 request对象 :  getParameter(String name)获取表单提交的数据 getParamegerNames() 获取客户端提交的所有参数名 getAttri ...

  2. 在IDEA中已经配置postgis数据库驱动并且能在Java类中连接数据库,但在servlet中无法连接数据库且导致Tomcat自动断开连接的解决方案

    最近在IDEA中用JDBC连接PostgreSQL数据库时遇到了这样一个奇怪的事情: 从PostgreSQL JDBC Driver官网下载好JDBC驱动之后,在IDEA的Project Struct ...

  3. JAVA连接数据库后,对数据库进行增删改查

    1.Statement 增删改: 方法:execute(String SQL) String url="jdbc:Access:///E://A//shop.mdb"; Conne ...

  4. servlet中 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver异常

    解决方法:将mysql-connector-java-xxx-bin.jar包,复制到项目下WebContent/WEB-INF/lib目录下,刷新重启tomcat运行即可.

  5. 【Java框架型项目从入门到装逼】第五节 - 在Servlet中接收和返回数据

    在上一节的程序中,我们可以看到HttpServletRequest, HttpServletResponse这两个对象.可以说,这是JavaWeb中至关重要的两个对象.接下来,我们来做一个简短的说明: ...

  6. Java第三阶段学习(十一、Servlet基础、servlet中的方法、servlet的配置、ServletContext对象)

    一.Servlet简介  1.什么是servlet: sun公司提供的一套规范(接口),用来处理客户端请求.响应给浏览器的动态资源.但servlet的实质就是java代码,通过java的API动态的向 ...

  7. Java Web之Servlet中response、request乱码问题解决

    Java Web之Servlet中response.request乱码问题解决   一.request请求参数出现的乱码问题 get请求: get请求的参数是在url后面提交过来的,也就是在请求行中, ...

  8. java基础77 Http协议及Servlet中的GET、POST提交方式

    本文知识点(目录): 1.什么是http协议    2.查看http协议的工具    3.http协议的内容    4.请求方式    5.请求头和响应头(以及获取请求头信息的方法)    6.实体内 ...

  9. Java之通过反射机制选择servlet中的对应的方法

    此方法用于在对Javaee开发中的通过对应的名称而选择servlet中的对应的方法 注:主要代码如下 protected void doGet(HttpServletRequest req, Http ...

随机推荐

  1. weiphp---------图灵机器人存在的bug。

    1.很多人下载下来weiphp源码以后,配置好了图灵机器人却不能使用.原因是因为他源码里面存在一个小bug 上图红色框框内是他的源码,问题就出在这里. 修改方法: if($result ['code' ...

  2. STL lower_bound upper_bound binary-search

    STL中的二分查找——lower_bound .upper_bound .binary_search 二分查找很简单,原理就不说了.STL中关于二分查找的函数有三个lower_bound .upper ...

  3. Java基础(39):数据的四舍五入、去整、产生随机数---Math类的应用

    使用 Math 类操作数据 Math 类位于 java.lang 包中,包含用于执行基本数学运算的方法, Math 类的所有方法都是静态方法,所以使用该类中的方法时,可以直接使用类名.方法名,如: M ...

  4. bzoj 4237稻草人

    按x轴进行分治,将[l,r]分成[l,mid]和[mid+1,r],左下角点x值在[l,mid]中,右上角点x值在[mid+1,r],然后将[l,r]中的所有点按y轴排序,按顺序扫描,若扫描到左下角点 ...

  5. CCF考前注意几点

    1.数组最好保持初始化习惯,且检查数组初始化在循环内还是循环外,若在循环内需要对数组进行处理,则数组初始化必须放在for循环内. 2.for循环保持好习惯,用括号括起来,以免粗心. 3.if条件判断要 ...

  6. c#经典俄罗斯方块 vs2012开发

    把网上两个开源的俄罗斯方块,整合到一起了,开发环境vs2012+.net 4.0,有问题.建议可以加群沟通哦 复古的 c#写的一个俄罗斯方块小游戏,友好的人机交互,具体功能如下: 1.游戏分七个关卡, ...

  7. 夺命雷公狗jquery---3普通选择器

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  8. linux系统的时间调整

    以centos为例,其它系统应该是一样或者类似的. 需要用到两个命令: date 和 hwclock 其中 date 命令由 coreutils 这个包提供, hwclock 命令由 util-lin ...

  9. zw版【转发·台湾nvp系列Delphi例程】HALCON ObjToInteger1-4

    zw版[转发·台湾nvp系列Delphi例程]HALCON ObjToInteger1 procedure TForm1.Button1Click(Sender: TObject);var img, ...

  10. 累加两个php数组,键相同的累加,不同的合并

    1. $arr1=array('name'=>33,'type'=>1); $arr2=array('name'=>33,'price'=>200); $res=array() ...