前言
在这篇文章中,荔枝会介绍如何配置Java后端开发环境并借助一个Java web项目简单介绍一下Java的后端开发逻辑。与python的后端开发逻辑是类似的,Java的后端开发其实也是通过一个个类来实现的。对于像荔枝这种小白白来说,入门的第一个练手Java后端项目一般都是选择基于Tomcat Web应用服务器的JSP开发比较友好哈哈哈哈。
文章目录
前言
一、JDK下载配置和Tomcat的下载
1.1 Java的JDK选择与下载
1.2 Tomcat的下载使用
1.3 配置Tomcat的环境变量
1.4 IDEA中Tomcat的配置
二、一个Java web开发下项目
2.1 工程目录:
2.2 一个例子:
2.2.1 servlet
2.2.2 service层:
2.2.3 pojo:
2.2.4 DAO
总结
一、JDK下载配置和Tomcat的下载
1.1 Java的JDK选择与下载
现在Java语言的JDK版本的选择有很多,使用较多的就是JDK17和JDK8。“你发任你发,我用版本8”,JDK8自从发布以来就热度不减,但是未来的趋势可能更多地去偏向于使用JDK17,毕竟垃圾回收器可以有效的提升项目的性能,荔枝在下面整理了两种JDK包的下载和配置:
JDK8下载安装
https://www.oracle.com/cn/java/technologies/downloads/
百度网盘:
链接:https://pan.baidu.com/s/1iOhPInWh2l3VNqEbQ8j0fQ
提取码:6666
首先直接到ORACLE的官网,直接找到下载的地方选择合适的版本
下载到指定的目录下面即可,注意地址不要带有中文,jre可以不安装。
之后就可以配置环境变量啦,以荔枝的win10为例,点开设置——系统——关于,下拉到到最下面选择高级系统设置
点击环境变量并在系统变量中添加JAVA_HOME的配置,变量值就是你自己的JDK包下载的路径,双击path,添加%JAVA_HOME%\bin
这样基本的JDK环境就配置完成啦!
JDK17下载安装
百度网盘
链接:https://pan.baidu.com/s/1mFl221lbGBp6SPNc_qycOw
提取码:6666
官网下载同样根据自己电脑的配置来选择合适的JDK版本,或者直接在荔枝的百度网盘链接下载
其余的操作都是一样的,需要注意的是安装完JDK17之后再环境变量哪里会默认有路径的配置,这时候我们也是仅仅需要配置好JAVA_HOME即可。
1.2 Tomcat的下载使用
首先我们需要直到Tomcat的概念:Tomcat是由Apache公司开源的一个轻量级的网络应用服务器,简单的去理解就是Tomcat其实就是提供一个服务让别人也能够访问到你本机上运行的HTML网页。
下载地址:
https://tomcat.apache.org/download-80.cgi
选择合适的版本下载安装即可,记住在安装Tomcat之前必须要保证前面Java的JDK已经下载并配置好JAVA_HOME了,Tomcat下载下来之后就是一个压缩包,解压之后就可以
接着在命令行工具中测试一下环境安装的有没有问题,启动Tomcat:首先cd进入Tomcat下载的路径输入startup,会看到弹出Tomcat窗口证明一切正常,安装成功。
1.3 配置Tomcat的环境变量
Tomcat在系统变量中的配置还是更上面配置JDK的方法是一样的,首先将安装的根路径命名为·一个变量CATALINA HOME,之后再在path变量中去配置真实的系统环境变量。
这样子系统的Tomcat就配置完毕了
1.4 IDEA中Tomcat的配置
点击Edit Configurations编辑,
之前没有配置过的可以点击Configiure来选择Tomcat的安装地址, 之后可以改变一下下面Tomcat的运行端口8080,荔枝因为之前8080端口被占用了,所以我改了一个端口。
配置好后运行一下项目,项目也就可以正常跑起来了。
二、一个Java web开发下项目
2.1 工程目录:
- src:后台代码目录接口
- dao:持久层代码
- pojo:实体类
- service:业务层代码,接口和impl
- servlet:控制器
- util:工具类
2.2 一个例子:
2.2.1 servlet
路由入口
package com.atm.servlet;
import...
/**
*管理员登录
*/
@WebServlet("/login")
public class AdminLoginServlet extends HttpServlet{
protected void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
//1,获得请求参数
String name = request.getParameter("name");
String password = request.getParameter("password");
//2.调用业务层代码处理
AdminUserService adminUserService = new AdminUserServiceImpl();
try{
Manager manager = adminUserService.findManager(name,password);
if(manager =null){
//登录失败
request.setAttribute(s:"error",o:"用户登录失败");
request.getRequestDispatcher(s:"changepage/login.jsp").forward(request,response);
}else{
//登录成功跳转到后台用户列表页
response.sendRedirect(s:"list");
}
}catch(Exception e){
e.printStackTrace();
}
}
protected void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
doPost(request,response);
}
}
注意在调用业务层的代码逻辑时使用的是 AdminUserServiceImpl 的构造函数创建了一个对象,并将该对象赋值给 adminUserService。由于 AdminUserServiceImpl 类实现了 AdminUserService 接口,因此可以将 AdminUserServiceImpl 对象赋值给 AdminUserService 类型的变量。
2.2.2 service层:
业务接口
package com.atm.service;
/**
*管理员业务接口
*/
public interface AdminUserService{
/**
*根据账户密码查询管理员
*@aparam name
*@aparam name
*@aparam name
*@return
*/
public Manager findManager(String name,String password) throws Exception;
}
impl
接口的实现类,实现接口的所有抽象方法。接口中只定义了接口的签名,并没有具体的实现逻辑,因此需要一个接口实现类来实现具体的接口逻辑。
package com.atm.service.impl;
import com.atm.pojo.Manager;
import com.atm.service.AdminUserService;
public class AdminUserServiceImpl implements AdminUserService{
@Override
public Manager findManager(String name,String password) throws Exception {
return adminUserDao.findManager(name,password);
}
}
2.2.3 pojo:
封装实体类,主要是来操作相关的数据库代码
package com.atm.pojo;
public class Manager{
private Integer id;
private String name;
private string password;
public Integer getId(){
return id;
}
public void setId(Integer id)
this.id = id;
}
public String getName(){
return name;
}
}
2.2.4 DAO
完成管理员用户的持久层操作,dao层主要是实现业务的基础逻辑,像这里的查询数据库并将查询到的数据封装在一个Manager对象里面并返回。
public class AdminUserDao{
/**
*根据用户名和密码查询用川
*@param name
*@param password
*@return
*@throws Exception
*/
public Manager findMananger(String name,String password)throws Exception{
Connection connection = DBUtils.getConnection();
PreparedStatement preparedStatement = connection.prepareStatement(sql:"select * from manage where name=?and password=?");
preparedstatement.setstring(parameterIndex:1,name);
preparedstatement.setstring(parameterIndex:2,password);
ResultSet resultSet = preparedStatement.executeQuery();
Manager manager = null;
if(resultSet.next()){
manager = new Manager();
manager.setId(resultSet.getInt(columnIndex:1));
manager.setName(resultSet.getstring(columnIndex:2));
manager.setPassword(resultSet.getstring(columnIndex:3));
}
return manager;
}
}
总结
在这篇文章中,荔枝主要简单记录了一下Java后端开发的基本配置以及相应的一个小项目中一个登录功能的代码,荔枝也是想通过这个小的项目来帮助自己回顾一下相应的基础Java后端开发知识,希望能帮助到小伙伴们~~~
今朝已然成为过去,明日依然向往未来!我是小荔枝,在技术成长的路上与你相伴,码文不易,麻烦举起小爪爪点个赞吧哈哈哈~~~ 比心心♥~~~