JSP,Servlet,JDBC学习

        随着eclipse崩掉了,又开始了配环境之路。

        首先就是如果你的eclipse遇到这种情况,从个人经验来看,是JDK的问题,可能是版本问题,我卸载JDK后重新安装了就好了,因为用IDEA的时候安装了好多东西,导致eclipse不能用了。

        第二点是JSP,记住<% %>为脚本片段,用于写java代码,<%! %>叫做声明,可以用作定义函数,<%= %>为脚本表达式。在其中有几种常用的方法:

    String schema=request.getScheme();//获取协议名称
    String servename=request.getServerName();//获取服务器名称
    int port=request.getServerPort();//获取服务器端口号
    String path=request.getContextPath();//获取工程名 
    String username=request.getParameter("username");//获取参数
    request.getRequestDispatcher("/success.jsp").forward(request, response);//转发 
    response.sendRedirect("/demo2/fail.jsp");//重定向

第三点是Servlet,首先是配置虚拟访问路径,@WebServlet("/MainServlet")

 其次在Servlet中,要重写doGet方法和doPost方法,另外提一下复选框数据的传入和输出

 

 接下来是JDBC,在JDBC的书写上面我就是按照一定的套路来的,初始的增删改查就是这样。

public class UserDaoImpl {
	   @Test
       public void InsertUser() throws Exception  {  //添加
	   //1导入驱动包
       //2加载驱动
    	 Class.forName("com.mysql.jdbc.Driver");
       //3铺管道,建立Java到MySQL链接
    	 Connection conn= DriverManager.getConnection("jdbc:mysql://localhost:3306/login", "root", "root");
       //4创建车
    	 Statement st= conn.createStatement();
       //5将sql装车发送到mysql数据库中去
    	 String sql="INSERT INTO users SET id=2,username='zhang',psw='123'";
    	 int flag=st.executeUpdate(sql);
    	 if(flag>=1)
    		 System.out.println("插入成功");
    	 else {
    		 System.out.println("插入失败");
		}
       //6释放资源
    	 st.close();
    	 conn.close();
    	   
	}
	   @Test
	   public void DeletetUser() throws Exception  {      //删除
		   //1导入驱动包
	       //2加载驱动
	    	 Class.forName("com.mysql.jdbc.Driver");
	       //3铺管道,建立Java到MySQL链接
	    	 Connection conn= DriverManager.getConnection("jdbc:mysql://localhost:3306/login", "root", "root");
	       //4创建车
	    	 Statement st= conn.createStatement();
	       //5将sql装车发送到mysql数据库中去
	    	 String sql="DELETE FROM users WHERE username='zhang'";
	    	 int flag=st.executeUpdate(sql);
	    	 if(flag>=1)//受影响的行数
	    		 System.out.println("删除成功");
	    	 else {
	    		 System.out.println("删除失败");
			}
	       //6释放资源
	    	 st.close();
	    	 conn.close();
	    	   
		}
	   @Test
	   public void UpdateUser() throws Exception  {      //修改
		   //1导入驱动包
	       //2加载驱动
	    	 Class.forName("com.mysql.jdbc.Driver");
	       //3铺管道,建立Java到MySQL链接
	    	 Connection conn= DriverManager.getConnection("jdbc:mysql://localhost:3306/login", "root", "root");
	       //4创建车
	    	 Statement st= conn.createStatement();
	       //5将sql装车发送到mysql数据库中去
	    	 String sql="UPDATE users SET id=3 WHERE username='zhang'";
	    	 int flag=st.executeUpdate(sql);
	    	 if(flag>=1)//受影响的行数
	    		 System.out.println("删除成功");
	    	 else {
	    		 System.out.println("删除失败");
			}
	       //6释放资源
	    	 st.close();
	    	 conn.close();
	    	   
		}
	   @Test
	   public void SelectAll() throws Exception {
		 //1导入驱动包
	       //2加载驱动
		   Class.forName("com.mysql.jdbc.Driver");
		 //3铺管道,建立Java到MySQL链接
		   Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/login", "root", "root");
		 //4创建车
		   Statement st=conn.createStatement();
		 //5将sql装车发送到mysql数据库中去
		   String sql="SELECT * FROM users";
		   ResultSet rs=st.executeQuery(sql);//结果集
		   while(rs.next())
		   {
			   long id=rs.getLong("id");
			   String username=rs.getString("username");
			   String psw=rs.getString("psw");
			   System.out.println(id+" "+username+" "+psw);
		   }
		  //6释放资源
		     rs.close();
	    	 st.close();
	    	 conn.close();
		   
		
	}
}

如果想更规范一些,写成这样更好。

 @Test
	   public void SelectAll2() throws Exception {
		   Connection conn=null;
		   Statement st=null;
		   ResultSet rs=null;
		 //1导入驱动包
		   try {
			 //2加载驱动
			   Class.forName("com.mysql.jdbc.Driver");
			 //3铺管道,建立Java到MySQL链接
			   conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/login?useSSL=false", "root", "root");
			 //4创建车
			   st=conn.createStatement();
			 //5将sql装车发送到mysql数据库中去
			   String sql="SELECT * FROM users";
			    rs=st.executeQuery(sql);//结果集
			   while(rs.next())
			   {
				   long id=rs.getLong("id");
				   String username=rs.getString("username");
				   String psw=rs.getString("psw");
				   System.out.println(id+" "+username+" "+psw);
			   }
		} catch (Exception e) {
			// TODO: handle exception
			System.out.println("发生错误了");
			e.printStackTrace();
		}
	      finally {
	    	//6释放资源
			     rs.close();
		    	 st.close();
		    	 conn.close();
		}
		 
		   
		
	}

如果你在执行时遇到Sat Jan 01 15:12:22 CST 2022 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.这个大概意思就是加载驱动的时候没有配饰SSL配置项,不会影响输出结果,在创建链接时加上就可以了。

conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/login?useSSL=false", "root", "root");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

九磅十五便士°

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值