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. datagridview 用法

        标签:c# datagridview 用法 拖一个datagridview控件 初始的名字叫dataGridView1 准备工作: 点击控件右上角的三角,选择“添加列”添加表头的项 基本操作: ...

  2. ie6双边距解决

    这个bug是ie6有名的双边距bug:同时为一个元素设置向一个方向偏移和对这个方向进行外边距设置,比如float:left,margin-left:45px;在其他浏览器下是显示正常的,在ie6下这个 ...

  3. JAVA中extends 与implements区别

    JAVA中extends 与implements有啥区别?1. 在类的声明中,通过关键字extends来创建一个类的子类.一个类通过关键字implements声明自己使用一个或者多个接口.extend ...

  4. 记linux下使用create_ap 创建热点失败及解决(涉及rfkill)

    先介绍一下 create_ap. 这是一个在linux中创建热点用的脚本, 托管在github中, https://github.com/oblique/create_ap/ 正文开始: 习惯了win ...

  5. 为什么DIY报价----走出软件作坊:三五个人十来条枪 如何成为开发正规军(十二)[转]

    前段时间,写了一个开发.实施.服务费用计算三部曲. 水清则无鱼--走出软件作坊:三五个人十来条枪 如何成为开发正规军(八) 实施费用也能DIY--走出软件作坊:三五个人十来条枪 如何成为开发正规军(九 ...

  6. UIView属性及方法

    @property(nonatomic) CGFloat alpha //设置视图的透明度 //透明度的设置从最小0.0到1.0 ,1.0为完全不透明, //其中这个属性只影响当前视图,并不会影响其子 ...

  7. jenkins相关

    1. jenkins maven tomcat做持续集成的时候几个关键配置:http://my.oschina.net/congqian/blog/112782?fromerr=PmIDbLs5 2. ...

  8. python随机数的使用记录

    一.random模块简介 Python标准库中的random函数,可以生成随机浮点数.整数.字符串,甚至帮助你随机选择列表序列中的一个元素,打乱一组数据等. 二.random模块重要函数 1 ).ra ...

  9. After install XAMPP

    1. configure mysql and phpmyadmin 1.1 mysql $ /Applications/XAMPP/xamppfiles/bin/mysql -uroot $ mysq ...

  10. jdk8飞行记录器配置

    jdk8提供了jmc工具,应该比visualvm厉害吧 下面贴一份tomcat的配置,自己留个备份,把下面的内容粘贴到tomcat setenv.sh就可以了 nowday=`date +%Y%m%d ...