目录先连接数据库:新建DBTest类代码如下:...................................................错误!未定义书签。导入web.xml文件放在WEB-INF文件夹下,修改其内部代码:................错误!未定义书签。导入mysql.jar包放在lib文件夹下.................................................................错误!未定义书签。编写context.xml文件放入META-INF文件夹下,并修改内部代码:.........错误!未定义书签。新建一个com.ambow.myweb.util的包...........................................................错误!未定义书签。新建DBUtil类:...............................................................................................错误!未定义书签。新建一个com.ambow.myweb.pojo的包.........................................................错误!未定义书签。新建一个VIP的类:根据数据库表中的列名,声明私有变量名(与列名相同,数据类型与数据库中数据类型相同),并同时生命get,set方法:部分代码:..............错误!未定义书签。新建一个com.ambow.myweb.dao的包..........................................................错误!未定义书签。新建一个名为BaseDao的接口,具体代码如下:........................................错误!未定义书签。在com.ambow.myweb.dao中另新建一个名为VIPDao的接口,并继承BaseDao接口,具体代码如下:............................................................................................................错误!未定义书签。新建一个包名为com.ambow.dao.impl;........................................................错误!未定义书签。在此包中新建一个BaseDaoImpl抽象类去实现BaseDao的方法;.............错误!未定义书签。在com.ambow.dao.impl;包中新建一个VIPDAOImpl的类..........................错误!未定义书签。在WebContent的文件下新建一个名为login的jsp文件。作为起始页:.错误!未定义书签。新建一个名为com.ambow.myweb.servlet的包;.........................................错误!未定义书签。新建一个LoginServlet的类。..........................................................................错误!未定义书签。新建com.ambow.myweb.factory;新建一个DAOFactory类............................错误!未定义书签。新建一个server包;创建一个VIPServer接口..............................................错误!未定义书签。新建一个server.impl包创建一个VIPServerImpl类.....................................错误!未定义书签。在factory包中新建一个ServerFactory的类。..............................................错误!未定义书签。在loginservlet中写进入主页代码...................................................................错误!未定义书签。先连接数据库:新建DBTest类代码如下:packagecom.ambow.myweb.test;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.SQLException;publicclassDBTest{publicstaticvoidmain(String[]args){try{Class.forName(com.mysql.jdbc.Driver);Connectionconn=DriverManager.getConnection(jdbc:mysql://localhost:3306/test,root,);System.out.println(conn);}catch(ClassNotFoundExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}catch(SQLExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}}导入web.xml文件放在WEB-INF文件夹下,修改其内部代码:?xmlversion=1.0encoding=UTF-8?web-appxmlns:xsi==:web=:schemaLocation=://java.sun.com/xml/ns/javaee/web-app_3_0.xsdversion=3.0servlet最后配置servlet-namelogin/servlet-nameservlet-classcom.ambow.bbs.servlet.LoginServlet/servlet-class/servletservlet-mappingservlet-namelogin/servlet-nameurl-pattern/login/url-pattern/servlet-mapping/web-app导入mysql.jar包放在lib文件夹下编写context.xml文件放入META-INF文件夹下,并修改内部代码:?xmlversion=1.0encoding=UTF-8?ContextResourcename=jdbc/myweb//myweb为工程名auth=Containertype=javax.sql.DataSourcedriverClassName=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/myweb//myweb为工程名username=rootpassword=rootmaxWait=-1maxActive=30maxIdle=10//Context新建一个com.ambow.myweb.util的包新建DBUtil类:packagecom.ambow.myweb.util;importjava.sql.Connection;importjava.sql.SQLException;importjavax.naming.Context;importjavax.naming.InitialContext;importjavax.naming.NamingException;importjavax.sql.DataSource;publicclassDBUtil{privatestaticDataSourcedataSource;//获取连接池static{try{//找到本地Java命名服务(JNDI)的根Contextcontext=(Context)newInitialContext().lookup(java:comp/env);//从JNDI根上查找目标数据库连接池dataSource=(DataSource)context.lookup(jdbc/bbs);}catch(NamingExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}publicstaticConnectiongetConnection(){Connectionconn=null;try{//从连接池中取一个连接conn=dataSource.getConnection();}catch(SQLExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}returnconn;}publicstaticvoidclose(Connectionconn){if(conn!=null){try{//将连接还回连接池中conn.close();}catch(SQLExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}}}新建一个com.ambow.myweb.pojo的包新建一个VIP的类:根据数据库表中的列名,声明私有变量名(与列名相同,数据类型与数据库中数据类型相同),并同时生命get,set方法:部分代码:publicclassVIP{privateStringusername;privateStringpassword;privateintexperience;publicStringgetUsername(){returnusername;}publicvoidsetUsername(Stringusername){this.username=username;}publicStringgetPassword(){returnpassword;}publicvoidsetPassword(Stringpassword){this.password=password;}publicintgetExperience(){returnexperience;}publicvoidsetExperience(intexperience){this.experience=experience;}新建一个com.ambow.myweb.dao的包新建一个名为BaseDao的接口,具体代码如下:packagecom.ambow.myweb.dao;importjava.util.List;/**泛型接口,用于定义DAO层所有表的CRUD*T:表的类型*ID:表的主键类型*此接口的所有CRUD行为都是基于对象的*/publicinterfaceBaseDAOT,ID{//增删改voidadd(Tt);voidupdate(Tt);voiddelete(Tt);//根据主键查找一个对象TgetObject(IDid);//查所有对象ListTgetObjectsAll();//根据sql语句查询对象ListTgetOb