servlet中Java连接数据库后的基本操作
servlet中Java连接数据库后的基本操作
- 在eclipse中新建一个工程:login
- 在Server中新建一个服务器,基本的操作不用说了,在前两天的笔记中可以找到;
- 需要知道数据库的用户名和密码:用户名:user.密码:yufei
- 需要改变的地方:
地方一: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> 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连接数据库后的基本操作的更多相关文章
- jsp九大内置对象与servlet中java对象
jsp九大内置对象 request对象 : getParameter(String name)获取表单提交的数据 getParamegerNames() 获取客户端提交的所有参数名 getAttri ...
- 在IDEA中已经配置postgis数据库驱动并且能在Java类中连接数据库,但在servlet中无法连接数据库且导致Tomcat自动断开连接的解决方案
最近在IDEA中用JDBC连接PostgreSQL数据库时遇到了这样一个奇怪的事情: 从PostgreSQL JDBC Driver官网下载好JDBC驱动之后,在IDEA的Project Struct ...
- JAVA连接数据库后,对数据库进行增删改查
1.Statement 增删改: 方法:execute(String SQL) String url="jdbc:Access:///E://A//shop.mdb"; Conne ...
- servlet中 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver异常
解决方法:将mysql-connector-java-xxx-bin.jar包,复制到项目下WebContent/WEB-INF/lib目录下,刷新重启tomcat运行即可.
- 【Java框架型项目从入门到装逼】第五节 - 在Servlet中接收和返回数据
在上一节的程序中,我们可以看到HttpServletRequest, HttpServletResponse这两个对象.可以说,这是JavaWeb中至关重要的两个对象.接下来,我们来做一个简短的说明: ...
- Java第三阶段学习(十一、Servlet基础、servlet中的方法、servlet的配置、ServletContext对象)
一.Servlet简介 1.什么是servlet: sun公司提供的一套规范(接口),用来处理客户端请求.响应给浏览器的动态资源.但servlet的实质就是java代码,通过java的API动态的向 ...
- Java Web之Servlet中response、request乱码问题解决
Java Web之Servlet中response.request乱码问题解决 一.request请求参数出现的乱码问题 get请求: get请求的参数是在url后面提交过来的,也就是在请求行中, ...
- java基础77 Http协议及Servlet中的GET、POST提交方式
本文知识点(目录): 1.什么是http协议 2.查看http协议的工具 3.http协议的内容 4.请求方式 5.请求头和响应头(以及获取请求头信息的方法) 6.实体内 ...
- Java之通过反射机制选择servlet中的对应的方法
此方法用于在对Javaee开发中的通过对应的名称而选择servlet中的对应的方法 注:主要代码如下 protected void doGet(HttpServletRequest req, Http ...
随机推荐
- bzoj1758 [Wc2010]重建计划 & bzoj2599 [IOI2011]Race
两题都是树分治. 1758这题可以二分答案avgvalue,因为avgvalue=Σv(e)/s,因此二分后只需要判断Σv(e)-s*avgvalue是否大于等于0,若大于等于0则调整二分下界,否则调 ...
- springday04-go2
练习:计算一个人的bmi指数.算法如下: 身高 单位是米 比如1.70 体重 单位是公斤 比如90 bmi指数 = 体重/身高/身高 如果bmi>24过重,否则正常.视图需要两个,一个是bmi_ ...
- windows namedPipe 命名管道clent and server
1.client: #include "iostream" #include "windows.h" using namespace std; void mai ...
- angular form 验证
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 夺命雷公狗---node.js---2node.js中的npm的常用命令
npm install <name> 安装nodejs的依赖包 例如npm install express 就会默认安装express的最新版本,也可以通过在后面加版本号的方式安装指定版本 ...
- [转]Delphi多线程编程入门(一)
最近Ken在比较系统地学习Delphi多线程编程方面的知识,在网络上查阅了很多资料.现在Ken将对这些资料进行整理和修改,以便收藏和分享.内容基本上是复制粘贴,拼拼凑凑,再加上一些修改而来.各个素材的 ...
- 如何修复损坏的MySQL数据表
id=164 由于断电或非正常关机而导致MySQL数据库出现错误是非常常见的问题.有两种方法,一种方法使用mysql的check table和repair table 的sql语句,另一种方法是使用M ...
- ant 使用指南---java模块化编译【转】
转自:http://www.cnblogs.com/hoojo/archive/2013/06/14/java_ant_project_target_task_run.html 一.概述 ant 是一 ...
- Dynamics AX 2012 R2 切换环境后项目导入报错
Reinhard重装了服务器.重装后,导入项目A报错,错误提示如下: A table, Extended Data Type, Base Enum or class called ???? a ...
- 【jqGrid for ASP.NET MVC Documentation】.学习笔记.4.性能
1 HTML / ViewState 大小 1.1 HTML 大小 jqGrid for ASP.NET MVC 使用最佳的客户端渲染,意味着 HTML gird 的 尺寸是最小的.事实上,只有 gr ...