servlet交互案例分析及终极实现 使用jdbc连接数据库实现
2015-06-18 15:18
736 查看
@SuppressWarnings("serial") public class Registration extends HttpServlet { @SuppressWarnings("serial") public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String mysqlUrl = "jdbc:mysql://localhost:3306/attendance"; String mysqlUserName = "root"; String mysqlPassword = "cqut"; // 连接到数据库 Connection conn; conn = getConnection(mysqlUrl, mysqlUserName, mysqlPassword); String roleName = correctMessycode(request,request.getParameter("roleID")); String sql0 = "SELECT roleID from role where name='" + roleName + "'"; String roleID = ""; try { // 数据操作 PreparedStatement preparedStatement0 = conn.prepareStatement(sql0); ResultSet _rs = preparedStatement0.executeQuery(); while (_rs.next()) { roleID = _rs.getString("roleID"); } } catch (Exception e) { System.out.println(e.toString()); } String userID = EntityIDFactory.createId(); String loginName = request.getParameter("loginName"); String phoneNumber = request.getParameter("phoneNumber"); String qqnumber = request.getParameter("qqNumber"); String email = request.getParameter("email"); String userName = request.getParameter("userName"); String password = request.getParameter("password"); String surePassword = request.getParameter("surePassword"); String sql = "insert into user (userID,loginName,phoneNumber,QQ,email,userName,password,roleID)" + "values ('" + userID + "','" + loginName + "','" + phoneNumber + "','" + qqnumber + "','" + email + "','" + userName + "','" + password + "','" + roleID + "')"; System.out.println("sql:" + sql); try { // 数据操作 PreparedStatement preparedStatement = conn.prepareStatement(sql); int i = preparedStatement.executeUpdate(); System.out.print(i); } catch (SQLException e) { e.printStackTrace(); } finally { try { // 关闭数据库连接 conn.close(); } catch (SQLException e) { e.printStackTrace(); } } // 访问后台之后返回字符串“true” response.setContentType("text/html"); response.setCharacterEncoding("utf-8"); PrintWriter out = response.getWriter(); out.println("true"); out.flush(); out.close(); } private static final String DRIVERNAME = "com.mysql.jdbc.Driver"; // 连接数据库方法 public static Connection getConnection(String url, String userName, String password) { Connection conn = null; try { Class.forName(DRIVERNAME); conn = DriverManager.getConnection(url, userName, password); System.out.print(conn.toString()); } catch (ClassNotFoundException e) { // 检查驱动不可用,执行此语句 e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return conn; } //纠正乱码情况 public String correctMessycode(HttpServletRequest request,String param) throws UnsupportedEncodingException{ /* * 在地址栏输入默认是gbk,而get传参数是要先编码为iso8859-1再传的, * 所以要先用iso-8859-1来解码,再用utf-8编码为一个新字符串 * */ String str = ""; boolean isIE = request.getHeader( "USER-AGENT" ).toLowerCase().indexOf( "msie" ) > 0 ? true : false ; if(isIE){ str = new String(request.getParameter("qq").getBytes("iso-8859-1"),"gbk"); // IE }else{ str = new String(request.getParameter("qq").getBytes("iso-8859-1"),"utf-8");// FF, Chrome } return str; } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
相关文章推荐
- jdbc中的Statement和PreparedStatement接口对象
- asp下连接数据库 ASP链接数据库字符串大全总结第1/2页
- JDBC 数据库常用连接 链接字符串
- ASP编程中连接数据库和数据库操作的常用代码
- JDBC连接Access数据库的几种方式介绍
- Servlet与JSP间的两种传值情况
- JSP、Servlet中get请求和post请求的区别总结
- jsp和servlet的区别探讨
- php连接数据库代码应用分析
- JDBC 程序的常见错误及调试方法
- Struts2访问servlet分享
- java中Servlet处理乱码的方法
- Servlet 过滤器详细介绍
- Java加载JDBC驱动程序实例详解
- servlet中session简介和使用例子
- 在Jsp Servlet中页面重新定向总汇
- Servlet动态网页技术详解
- JSP中使用JDBC访问SQL Server 2008数据库示例
- 解析jdbc处理oracle的clob字段的详解