jsp练习

Dao.java

package com.bdqn.dao;

import java.util.List;

import com.bdqn.entity.Student;

public interface Dao {
    //增加
    int insert(Student stu);
    //删除
    int delete(Student stu);
    //修改
    int update(Student stu);
    //查询
    List<Student> seleteAll();
    //模糊查询
    List<Student> seleteName(Student stu);
}


>>> message = '''interpreter
... prompt'''

DaoBase.java

package com.bdqn.dao;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import com.bdqn.utils.ConfigManager;

public class DaoBase {


    //获取连接
    public static Connection getConnection(){   
        Connection conn = null;
        String driver = ConfigManager.getInstance().getValue("driver");
        String url = ConfigManager.getInstance().getValue("url");
        String user = ConfigManager.getInstance().getValue("user");
        String pwd = ConfigManager.getInstance().getValue("pwd");
        try {
            Class.forName(driver);
            conn = DriverManager.getConnection(url, user, pwd);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }

        return conn;        
    }

    //关闭资源
    public void close(Connection conn, Statement sta, ResultSet rs){
        try {
            if(conn!=null){
                conn.close();
            }
            if(sta!=null){
                sta.close();
            }
            if(rs!=null){
                rs.close();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    //更新数据
    public int execute(String sql, Object[] obj){
        int num=0;
        Connection conn = getConnection();
        PreparedStatement ps = null;
        try {
            ps = conn.prepareStatement(sql);

            for (int i = 0; i < obj.length; i++) {
                ps.setObject(i+1, obj[i]);          
            }
            num = ps.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            close(conn, ps, null);
        }
        return num;
    }

    //查询数据
    public ResultSet selete(String sql){
        ResultSet rs = null;
        Connection conn = getConnection();
        try {
            rs = conn.createStatement().executeQuery(sql);
        } catch (SQLException e) {
            e.printStackTrace();
        }   

        return rs;      
    }


}


>>> message = '''interpreter
... prompt'''

Impl.java

package com.bdqn.dao.impl;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import com.bdqn.dao.Dao;
import com.bdqn.dao.DaoBase;
import com.bdqn.entity.Student;

public class Impl extends DaoBase implements Dao{

    //添加数据
    public int insert(Student stu) {
        String sql = "insert into student values(?,?,?,?,?)";
        Object[] obj = {stu.getSid(),stu.getSname(),stu.getSage(),stu.getShobby(),stu.getGid()};
        int num = super.execute(sql, obj);
        return num;
    }
    //删除
    public int delete(Student stu) {
        String sql = "delete from student where sid = ?";
        Object[] obj = {stu.getSid()};
        int num = super.execute(sql, obj);
        return num;
    }
    //更新
    public int update(Student stu) {
        String sql = "update student set sname=? where sid=?";
        Object[] obj = {stu.getSname(),stu.getSid()};
        int num = super.execute(sql, obj);
        return num;
    }
    //查询
    public List<Student> seleteAll() {
        ArrayList<Student> list = new ArrayList<Student>(); 
        String sql = "select *from student";
        ResultSet rs = super.selete(sql);
        try {
            while(rs.next()){
                Student stu = new Student();
                stu.setSid(rs.getInt("sid"));
                stu.setSname(rs.getString("sname"));
                stu.setSage(rs.getInt("sage"));
                stu.setShobby(rs.getString("shobby"));
                stu.setGid(rs.getInt("gid"));
                list.add(stu);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return list;

    }

    public List<Student> seleteName() {
        ArrayList<Student> list = new ArrayList<Student>(); 
        String  sql = "selete *from student where sname like '%2%'";
        ResultSet rs = super.selete(sql);
        try {
            while(rs.next()){
                Student stu = new Student();
                stu.setSid(rs.getInt("sid"));
                stu.setSname(rs.getString("sname"));
                stu.setSage(rs.getInt("sage"));
                stu.setShobby(rs.getString("shobby"));
                stu.setGid(rs.getInt("gid"));
                list.add(stu);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return list;

    }
    public List<Student> seleteName(Student stu) {
        return null;
    }




}


>>> message = '''interpreter
... prompt'''

Student.java

package com.bdqn.entity;

public class Student {
private int sid;
private String sname;
private int sage;
private String shobby;
private int gid;
public int getSid() {
    return sid;
}
public void setSid(int sid) {
    this.sid = sid;
}
public String getSname() {
    return sname;
}
public void setSname(String sname) {
    this.sname = sname;
}
public int getSage() {
    return sage;
}
public void setSage(int sage) {
    this.sage = sage;
}
public String getShobby() {
    return shobby;
}
public void setShobby(String shobby) {
    this.shobby = shobby;
}
public int getGid() {
    return gid;
}
public void setGid(int gid) {
    this.gid = gid;
}

public Student(int sid, String sname, int sage, String shobby, int gid) {
    this.sid = sid;
    this.sname = sname;
    this.sage = sage;
    this.shobby = shobby;
    this.gid = gid;
}

public Student() {

}
@Override
public String toString() {
    return "Student [sid=" + sid + ", sname=" + sname + ", sage=" + sage
            + ", shobby=" + shobby + ", gid=" + gid + "]";
}







}


>>> message = '''interpreter
... prompt'''

Test.java

package com.bdqn.entity;

import java.util.List;

import com.bdqn.dao.impl.Impl;

public class Test {
    public static void main(String[] args) {
        Impl impl =new Impl();
        int num =0;



    impl.insert(new Student(1, "01", 20, "01", 1));
        impl.insert(new Student(2, "02", 20, "02", 1));
        impl.insert(new Student(3, "03", 20, "03", 2));

        /*List<Student> list = impl.seleteAll();
        for (int i = 0; i < list.size(); i++) {         
            System.out.println(list.get(i).toString());
        }

        Student stu1 = new Student();
        stu1.setSid(1);
        num = impl.delete(stu1);
        System.out.println(num);

        Student stu2 = new Student();
        stu2.setSname("修改名字");
        stu2.setSid(2);
        System.out.println(impl.update(stu2));

        List<Student> list2 = impl.seleteName();
        for (int i = 0; i < list2.size(); i++) {            
            System.out.println(list.get(i).toString());
        }*/

    }
}

>>> message = '''interpreter
... prompt'''

Server.java

package com.bdqn.server;

import java.io.Serializable;
import java.util.List;

import com.bdqn.entity.Student;

public interface Server extends Serializable{

    public List<Student> findAll();
}


>>> message = '''interpreter
... prompt'''

ServerImpl.java

package com.bdqn.server.impl;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import com.bdqn.dao.DaoBase;
import com.bdqn.entity.Student;
import com.bdqn.server.Server;


public class ServerImpl implements Server{

    public List<Student> findAll() {
        DaoBase db = new DaoBase();
        List<Student> list = new ArrayList<Student>();
        String sql = "select *from student";
        ResultSet rs = db.selete(sql);
        try {
            while(rs.next()){
                Student stu = new Student();
                stu.setGid(rs.getInt("gid"));
                stu.setSage(rs.getInt("sage"));
                stu.setShobby(rs.getString("shobby"));
                stu.setSid(rs.getInt("sid"));
                stu.setSname(rs.getString("sname"));
                list.add(stu);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return list;
    }


}


>>> message = '''interpreter
... prompt'''

ConfigManager.java

package com.bdqn.utils;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

public  class ConfigManager {
    private static Properties prop;
    private static ConfigManager config;
    InputStream is;

    //私有构造
    private ConfigManager(){
        prop = new Properties();
        try {
            is = ConfigManager.class.getClassLoader().getResourceAsStream("database.properties");
            prop.load(is);
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if(is!=null){
                    is.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

    //获得ConfigManager对象
    public static synchronized ConfigManager getInstance(){
        if(config==null){
        synchronized (ConfigManager.class) {
            if(config==null){
                config = new ConfigManager();
            }           
        }
        }
        return config;
    }

    //获取配置文件的值
    public String getValue(String key){
        String value = prop.getProperty(key);
        return value;

    }
}


>>> message = '''interpreter
... prompt'''

database.properties

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/student
user=root
pwd=root

>>> message = '''interpreter
... prompt'''

findAll.jsp

<%@ page import="com.bdqn.entity.*" %>
<%@ page import="com.bdqn.server.*" %>
<%@ page import="com.bdqn.server.impl.*" %>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">

    <title>My JSP 'index.jsp' starting page</title>
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
  </head>

  <body>
    <% Server si = new ServerImpl(); %>
    <% List<Student> list = si.findAll();  %>
  <table border=1>
  <tr>
  <td>年级编号</td>
  <td>学号</td>
  <td>姓名</td>
  <td>年龄</td>
  <td>兴趣</td>
  </tr>

  <% for(Student stu:list){ %>
  <tr>
  <td><%=stu %></td>
  <td><%=stu.getSid() %></td>
  <td><%=stu.getSname() %></td>
  <td><%=stu.getSage() %></td>
  <td><%=stu.getShobby() %></td>

  </tr>
  <%} %>
  </table>
  </body>
</html>


>>> message = '''interpreter
... prompt'''
JSP100选择题 适合考前练习 1 J2EE 中,()类的()方法用于创建对话。(选择一项) a) HttpServletRequest、getSession b) HttpServletResponse、newSession c) HtttpSession、newInstance d) HttpSession、getSession 2 给定一个 Servlet 的doGet方法中的代码片段,如下: request.setAttribute(“name”,”zhang”); response.sendRedirect(“http://localhost:8080/servlet/MyServlt”); 那么在 MyServlet 中可以使用()方法把属性 name的取出来。(选择一项) a) String str=request.getAttribute(“name”); b) String str=(String)request.getAttribute(“name”); c) Object str=request.getAttribute(“name”); d) 无法取出来 3.在Servlet里,能实现重定向的方法有()。(选择两项) A.运用javax.servlet.http.HttpServletRequest接口的sendRedirect方法 B.运用javax.servlet.http.HttpServletResponse接口的sendRedirect方法 C.运用javax.servlet.RequestDispatcher接口的forward方法 D.运用javax.servlet.ResponseDispatcher接口的forward方法 4.利用MyEclipse开发Servlet,下列说法正确的是( )。(只选两项) A. MyEclipse可自动产生web.xml B. MyEclipse不能自动产生web.xml,需要手工编写 C.可利用MyEclipse自带的Tomcat作为Servlet容器 D. MyEclipse没有自带Tomcat,需要自己安装配置。 5.编写Servlet 的doPost方法时,需要抛出异常为()。(只选一项) A.ServletException, IOException B.ServletException, RemoteException C.HttpServletException, IOException D.HttpServletException, RemoteException 6.有关会话跟踪技术描述正确的是()。(选择三项) A.Cookie是Web服务器发送给客户端的一小段信息,客户端请求时,可以读取该信息发送到服务器端 B.关闭浏览器意味着会话ID丢失,但所有与原会话关联的会话数据仍保留在服务器上,直至会话过期 C.在禁用Cookie时可以使用URL重写技术跟踪会话 D.隐藏表单域将字段添加到HTML表单并在客户端浏览器中示 …………
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值