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. Leetcode: Data Stream as Disjoint Intervals && Summary of TreeMap

    Given a data stream input of non-negative integers a1, a2, ..., an, ..., summarize the numbers seen ...

  2. 显示和隐藏Mac下的 隐藏文件

    显示:defaults write com.apple.finder AppleShowAllFiles -bool true隐藏:defaults write com.apple.finder Ap ...

  3. Mac 下 FlashBuilder的快捷键

    Option + 上/下  当前行上下调整位置 Shift + Command + 左/右  选择当前行 Option + Command + 左/右 查看上一个类

  4. Maven教程(转载)

    转载自:http://www.yiibai.com/maven/ Apache Maven是一个软件项目管理和综合工具.基于项目对象模型(POM)的概念,Maven可以从一个中心资料片管理项目构建,报 ...

  5. android中的权限(转)

    Android权限系统非常庞大,我们在Android系统中做任何操作都需要首先获取Android系统权限,本文记录了所有的Android权限问题,整理一下分享给大家. 访问登记属性 android.p ...

  6. ACdream 1104 瑶瑶想找回文串(SplayTree + Hash + 二分)

    Problem Description 刚学完后缀数组求回文串的瑶瑶(tsyao)想到了另一个问题:如果能够对字符串做一些修改,怎么在每次询问时知道以某个字符为中心的最长回文串长度呢?因为瑶瑶整天只知 ...

  7. OpenGl And 视图

    OpenGl And 视图 标签(空格分隔): game 简介 本文主要介绍坐标系的观念, 以及在openGL中的视图及其相关的变换. 大纲 视图.模型.投影变换概念 Opengl中对各种变换的支持 ...

  8. SQL 中常见的系统存储过程

    -- 来源于网络 -- 更详细的介结参考联机帮助文档 xp_cmdshell --*执行DOS各种命令,结果以文本行返回. xp_fixeddrives --*查询各磁盘/分区可用空间 xp_logi ...

  9. Hadoop之TaskAttemptContext类和TaskAttemptID类

    先来看看TaskAttemptContext的类图 : Figure1:TaskAttemptContext类图 用户向Hadoop提交Job(作业),Job在JobTracker对象的控制下执行.J ...

  10. 清除Cookie、获取指定Cookie的值、添加一个Cookie(24小时过期)、添加一个Cookie

    MXS&Vincene  ─╄OvЁ  &0000007 ─╄OvЁ  MXS&Vincene MXS&Vincene  ─╄OvЁ:今天很残酷,明天更残酷,后天很美好 ...