• 大小: 4.11MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-09-16
  • 语言: Java
  • 标签: Eclipse  JSP  servlet  Mysql  

资源简介

基于JSP+servlet的水果购物系统,基本把所学的servlet所用到的知识点都用上了,代码简洁易懂,适合初学者

资源截图

代码片段和文件信息

package com.common;

import java.lang.reflect.Method;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;

public class DBConn {

//连接字符串

                                      

private final static  String USER = “root“;

private final static  String PWD = “root“;//这里修改数据库连接密码

private final static  String DRIVER = “com.mysql.jdbc.Driver“;

private final static  String URL = “jdbc:mysql://127.0.0.1:3306/gwwz?characterEncoding=utf8“;




/**
 * 
 * 使用了Tomcat的连接池
 * 
 * @return

public static Connection GetConn() {

try {
//获取Tomcat中的连接,需要使用JNDI这个服务
     //通过JNDI找到Tomcat的连接池
     Context ctx = new InitialContext();
    
     DataSource ds = (DataSource)ctx.lookup(“java:comp/env/myPool“);
    
     Connection conn = ds.getConnection();//连接来自于连接池
    
     return conn;
    
} catch (Exception e) {

e.printStackTrace();

}

     return null;
}
 */
//关闭连接
public static void CloseConn(ResultSet rsPreparedStatement pstmtConnection conn) {
try {

if(rs!=null){
rs.close();
}

if(pstmt!=null){
pstmt.close();
}
if (conn != null && conn.isClosed() == false) {
conn.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}


/**
 * 
 * 
 * 查询的封装
 * @param sql
 * @param obj
 * @return
 */


@SuppressWarnings(“unchecked“)
public static ArrayListject> ExecuteQuery(String sqlobject obj){

//获取数据库连接
Connection conn = DBConn.getConn();
PreparedStatement pstmt = null;
ResultSet rs = null;
ArrayList list = new ArrayList();

try {
//创建执行SQL语句的pstmt对象
pstmt = conn.prepareStatement(sql);

//执行SQL语句并且返回结果集
rs = pstmt.executeQuery();

while(rs.next()){ //遍历结果集

//使用Java反射机制,获取对象信息,根据对象的方法,动态调用类中的所有set方法,完成对象的赋值
Class cla = Class.forName(obj.getClass().getName());//动态加载类
Method [] ms = cla.getMethods();//获取类的方法
object currentobj  = cla.newInstance();//创建该类的实例

for(int i=0;i if(ms[i].getName().startsWith(“set“)){//获取以set开头的方法
Class[] cc = ms[i].getParameterTypes();//获取当前方法的参数

if(cc.length>0){//判断参数的个数,是否大于0
if(“int“.equals(cc[0].getName().toLowerCase())){//获取参数的类型,int类型
ms[i].invoke(currentobjrs.getInt(ms[i].getName().substring(3)));
}
else if(“float“.equals(cc[0].getName().toLowerCase())){//获取参数的类型,float类型
ms[i].invoke(currentobjrs.getFloat(ms[i].getName().substring(3)));
}
else if(“double“.equals(cc[0].getName().toLowerCase())){//获取参数的类型,double类型
ms[i].invoke(currentobjrs.getDouble(ms[i].getName().substring(3)));
}
else if(“char“.e

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-05-22 18:57  webservlet\
     目录           0  2019-04-26 16:52  webservlet\20190522\
     目录           0  2019-04-26 16:52  webservlet\20190522\gwwz\
     文件        1852  2019-03-29 17:55  webservlet\20190522\gwwz\.classpath
     目录           0  2019-05-22 18:58  webservlet\20190522\gwwz\.myeclipse\
     文件         286  2019-03-29 17:55  webservlet\20190522\gwwz\.mymetadata
     文件        3075  2019-03-29 17:55  webservlet\20190522\gwwz\.project
     目录           0  2019-04-26 16:52  webservlet\20190522\gwwz\.settings\
     文件         500  2019-03-29 17:55  webservlet\20190522\gwwz\.settings\.jsdtscope
     文件         276  2019-03-29 17:55  webservlet\20190522\gwwz\.settings\com.genuitec.eclipse.core.prefs
     文件        1040  2019-03-29 17:55  webservlet\20190522\gwwz\.settings\com.genuitec.eclipse.j2eedt.core.prefs
     文件         247  2019-03-29 17:55  webservlet\20190522\gwwz\.settings\com.genuitec.eclipse.migration.prefs
     文件         122  2019-03-29 17:55  webservlet\20190522\gwwz\.settings\org.eclipse.core.resources.prefs
     文件         629  2019-03-29 17:55  webservlet\20190522\gwwz\.settings\org.eclipse.jdt.core.prefs
     文件         537  2019-03-29 17:55  webservlet\20190522\gwwz\.settings\org.eclipse.wst.common.component
     文件         303  2019-03-29 17:55  webservlet\20190522\gwwz\.settings\org.eclipse.wst.common.project.facet.core.xml
     文件          49  2019-03-29 17:55  webservlet\20190522\gwwz\.settings\org.eclipse.wst.jsdt.ui.superType.container
     文件           6  2019-03-29 17:55  webservlet\20190522\gwwz\.settings\org.eclipse.wst.jsdt.ui.superType.name
     文件        1603  2019-03-29 17:55  webservlet\20190522\gwwz\.settings\org.eclipse.wst.validation.prefs
     目录           0  2019-05-20 19:41  webservlet\20190522\gwwz\WebRoot\
     目录           0  2019-04-26 16:52  webservlet\20190522\gwwz\WebRoot\meta-INF\
     文件          36  2019-03-29 17:55  webservlet\20190522\gwwz\WebRoot\meta-INF\MANIFEST.MF
     目录           0  2019-04-26 16:52  webservlet\20190522\gwwz\WebRoot\My97DatePicker\
     文件        1389  2019-03-29 17:55  webservlet\20190522\gwwz\WebRoot\My97DatePicker\My97DatePicker.htm
     文件        8367  2019-03-29 17:55  webservlet\20190522\gwwz\WebRoot\My97DatePicker\WdatePicker.js
     文件       20471  2019-03-29 17:55  webservlet\20190522\gwwz\WebRoot\My97DatePicker\calendar.js
     文件         223  2019-03-29 17:55  webservlet\20190522\gwwz\WebRoot\My97DatePicker\config.js
     目录           0  2019-04-26 16:52  webservlet\20190522\gwwz\WebRoot\My97DatePicker\lang\
     文件         644  2019-03-29 17:55  webservlet\20190522\gwwz\WebRoot\My97DatePicker\lang\en.js
     文件        1089  2019-03-29 17:55  webservlet\20190522\gwwz\WebRoot\My97DatePicker\lang\zh-cn.js
     文件        1088  2019-03-29 17:55  webservlet\20190522\gwwz\WebRoot\My97DatePicker\lang\zh-tw.js
............此处省略635个文件信息

评论

共有 条评论