一、tomcat热部署插件Jrebel
- 说明和介绍:
1).JRebel是一套JavaEE开发工具。
2). JRebel是收费软件,用户可以参照以下方式获得:限期每周7天的免费激活使用。
3). Jrebel 可快速实现热部署,节省了大量重启时间,提高了个人开发效率。
4). JRebel是一款JAVA虚拟机插件,它使得JAVA程序员能在不进行重部署的情况下,即时看到代码的改变对一个应用程序带来的影响。
5). JRebel使你能即时分别看到代码、类和资源的变化,你可以一个个地上传而不是一次性全部部署。当程序员在开发环境中对任何一个类或者资源作出修改的时候,这个变化会直接反应在部署好的应用程序上,从而跳过了构建和部署的过程,每年可以省去部署用的时间花费高达5.25个星期。 - 安装及激活:
1). 首先,在idea软件的File——Settings——Plugins内搜索Jrebel
2). 安装完成后我们在搜索框在便可以找到JRebel了,如下图所示。由于JRebel插件只有14天的免费试用期,因此安装成功后会提示我们激活,如果可以通过一些途径获取到激活码我们可以点击Activate now按钮,如下图所示。插件安装成功后需要重启IntelliJ IDEA,我们关掉重新打开即可。
激活网址:https://jrebel.qekang.com/
3). 在激活页面输入邮箱和激活网址的激活码,即可完成激活。
4). 勾选热配置,另外在Tomcat服务器配置自动更新源代码
二、查询用户列表
查询用户列表:
/* 针对用户列表的Servlet*/
Controller:
@WebServlet("/ulist")
public class FindUserListServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//调用AdminService里面的功能进行查询
AdminService adminService = new AdminServiceImpl() ;
List<User> userList = adminService.findUserList();
//将userList存储到request域中
request.setAttribute("userList",userList);
//请求转发到ulist.jsp
request.getRequestDispatcher("/admin/ulist.jsp").forward(request,response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request,response);
}
}
Service:
/* 针对管理员操作业务接口层*/
public interface AdminService {
//定义功能
//根据用户名查询用户
boolean isLogin(String username,String password) ;
/**
* 查询用户列表
* @return
*/
List<User> findUserList() ;
}
/* 针对管理员用户业务接口实现层*/
public class AdminServiceImpl implements AdminService {
@Override
public boolean isLogin(String username,String password) {
//调用dao层:完成数据的查询
AdminDao ad = new AdminDaoImpl() ;
AdminUser adminUser = ad.selectUserByName(username);
//逻辑判断
//获取查询到的用户的密码
if(adminUser.getAdminPassword().equals(password)){
//一致
return true ;
}
return false ;
}
/*查询用户列表
* @return
*/
@Override
public List<User> findUserList() {
//调用AdminDao
AdminDao ad = new AdminDaoImpl() ;
List<User> list = ad.selectAllUser();
//可以加入逻辑:防止NullPointerException
if(list!=null){
return list ;
}
return null ;
}
}
Dao:
/* 针对管理员操作的数据库访问接口层*/
public interface AdminDao {
//根据用户名查询用户
AdminUser selectUserByName(String username) ;
/*
* 查询用户列表
* */
List<User> selectAllUser() ;
}
/* 针对管理用户的数据库访问接口实现层*/
public class AdminDaoImpl implements AdminDao {
/*根据用户名查询用户*/
* @param username
* @return
*/
@Override
public AdminUser selectUserByName(String username){
//common-dbutils工具类
//创建QueryRunner对象
try {
QueryRunner qr = new QueryRunner(MyJdbcUtils.getDataSource()) ;
//准备sql
String sql = "select * from admin_user where adminName= ? " ;
//执行查询
AdminUser adminUser = qr.query(sql, new BeanHandler<AdminUser>(AdminUser.class), username);
System.out.println(adminUser);
return adminUser;
} catch (SQLException e) {
e.printStackTrace();
}
return null ;
}
/**
* 查询用户列表
* @return
*/
@Override
public List<User> selectAllUser() {
//创建QueryRunner
try {
QueryRunner qr = new QueryRunner(MyJdbcUtils.getDataSource()) ;
//准备sql
String sql = "select * from user" ; //开发中*(不要出现,全表字段)
List<User> list = qr.query(sql, new BeanListHandler<User>(User.class));
return list ;
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
三、修改的后台业务分析
四、Maven项目管理工具
五、使用idea创建Maven项目