目录
Apache Maven是个项目管理和自动构建工具,基于项目对象模型(POM)的概念。
作用:完成项目的相关操作,如:编译,构建,单元测试,安装,网站生成和基于Maven部署项目。
1、下载maven安装包,解压即可使用(http://maven.apache.org/download.cgi)
2 、配置maven环境变量
第一步:打开电脑的环境变量,双击高级系统设置

第二步:选择系统变量的新建,添加MAVEN_HOME
变量名:MAVEN_HOME
变量值:maven安装路径

第三步:在PATH环境变量里加入“%MAVEN_HOME%\bin;”即可;

第四步: 验证 doc窗口执行命令“mvn –version”

第一步:找到maven安装的目录里conf里的setting.xml文件并打开它

第二步:ctrl+F查找到localRepository ,并将其复制一份到下面,把里面的内容改为与maven安装包同目录的一个文件夹(自己建的文件夹)的路径,方便贮存;
注意:填写路径的时候,“E:\”改为“E:/”

第三步:同样在setting.xml文件里查找到mirror ,并在里面填写仓库url

第一步:将下载好的maven加到里面

第二步:将setting.xml配置过来
②:选择setting.xml的路径
③:是在setting.xml里填写的localRepository的路径(它会自动修改)

第三步:建项目


第四步:选择项目,右键build Path,将勾去掉,在项目里就会出现几个文件夹
第五步:选择pom.xml,配置maven-compiler-plugin插件,配置jar包依赖
什么是POM
Project Object Model,项目对象模型。
通过xml格式保存的pom.xml文件。作用类似ant的build.xml文件,功能更强大。
该文件用于管理:源代码、配置文件、开发者的信息和角色、问题追踪系统、组织信息、项目授权、项目的url、项目的依赖关系等等。
最后,根据你的项目需要更新您的pom.xml
- <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0modelVersion>
- <groupId>csgroupId>
- <artifactId>test_mavenartifactId>
- <packaging>warpackaging>
- <version>0.0.1-SNAPSHOTversion>
- <name>test_maven Maven Webappname>
- <url>http://maven.apache.orgurl>
- <dependencies>
- <dependency>
- <groupId>junitgroupId>
- <artifactId>junitartifactId>
- <version>4.12version>
- <scope>testscope>
- dependency>
-
- <dependency>
- <groupId>mysqlgroupId>
- <artifactId>mysql-connector-javaartifactId>
- <version>5.1.44version>
- dependency>
-
- <dependency>
- <groupId>javax.servletgroupId>
- <artifactId>javax.servlet-apiartifactId>
- <version>4.0.1version>
- <scope>providedscope>
- dependency>
- dependencies>
- <build>
- <finalName>test_mavenfinalName>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.pluginsgroupId>
- <artifactId>maven-compiler-pluginartifactId>
- <version>3.7.0version>
- <configuration>
- <source>1.8source>
- <target>1.8target>
- <encoding>UTF-8encoding>
- configuration>
- plugin>
- plugins>
- build>
- project>
第六步:修改web.xml文件
- <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
- version="3.1">
- <display-name>Archetype Created Web Applicationdisplay-name>
- web-app>
-
第七步:修改

第八步:选择项目,右键找打maven,选择update project ,点击ok即可

最后错误解决

案例
DBAccess.java
- package com.cxy.util;
-
- import java.io.InputStream;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.sql.Statement;
- import java.util.Properties;
-
- import com.mysql.jdbc.Driver;
-
-
- /**
- * 提供了一组获得或关闭数据库对象的方法
- *
- */
- public class DBAccess {
-
- private static String driver;
- private static String url;
- private static String user;
- private static String password;
-
- static {// 静态块执行一次,加载 驱动一次
- try {
- InputStream is = DBAccess.class
- .getResourceAsStream("config.properties");
-
- Properties properties = new Properties();
- properties.load(is);
-
- /*driver = properties.getProperty("driver");*/
- url = properties.getProperty("url");
- user = properties.getProperty("user");
- password = properties.getProperty("pwd");
-
- System.out.println(driver);
- Class.forName(driver);
- } catch (Exception e) {
- e.printStackTrace();
- throw new RuntimeException(e);
- }
- }
-
- /**
- * 获得数据连接对象
- *
- * @return
- */
- public static Connection getConnection() {
- try {
- Connection conn = DriverManager.getConnection(url, user, password);
- return conn;
- } catch (SQLException e) {
- e.printStackTrace();
- throw new RuntimeException(e);
- }
- }
-
- public static void close(ResultSet rs) {
- if (null != rs) {
- try {
- rs.close();
- } catch (SQLException e) {
- e.printStackTrace();
- throw new RuntimeException(e);
- }
- }
- }
-
- public static void close(Statement stmt) {
- if (null != stmt) {
- try {
- stmt.close();
- } catch (SQLException e) {
- e.printStackTrace();
- throw new RuntimeException(e);
- }
- }
- }
-
- public static void close(Connection conn) {
- if (null != conn) {
- try {
- conn.close();
- } catch (SQLException e) {
- e.printStackTrace();
- throw new RuntimeException(e);
- }
- }
- }
-
- public static void close(Connection conn, Statement stmt, ResultSet rs) {
- close(rs);
- close(stmt);
- close(conn);
- }
-
- public static boolean isOracle() {
- return "oracle.jdbc.driver.OracleDriver".equals(driver);
- }
-
- public static boolean isSQLServer() {
- return "com.microsoft.sqlserver.jdbc.SQLServerDriver".equals(driver);
- }
-
- public static boolean isMysql() {
- return "com.mysql.jdbc.Driver".equals(driver);
- }
-
-
- public static void main(String[] args) {
- Connection conn = DBAccess.getConnection();
- System.out.println(conn);
- DBAccess.close(conn);
- System.out.println("isOracle:" + isOracle());
- System.out.println("isSQLServer:" + isSQLServer());
- System.out.println("isMysql:" + isMysql());
- System.out.println("数据库连接(关闭)成功");
- }
- }
config.properties
-
- #mysql8
- driver=com.mysql.jdbc.Driver
- url=jdbc:mysql://127.0.0.1:3306/mysql?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT&useSSL=true
- user=root
- pwd=123456
-
-
User.java
- package com.cxy.entity;
-
- public class User {
-
- private long id;
- private String name;
- private String loginName;
- private String pwd;
- private long rid;
- public long getId() {
- return id;
- }
- public void setId(long id) {
- this.id = id;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public String getLoginName() {
- return loginName;
- }
- public void setLoginName(String loginName) {
- this.loginName = loginName;
- }
- public String getPwd() {
- return pwd;
- }
- public void setPwd(String pwd) {
- this.pwd = pwd;
- }
- public long getRid() {
- return rid;
- }
- public void setRid(long rid) {
- this.rid = rid;
- }
-
-
- public User() {
- // TODO Auto-generated constructor stub
- }
- public User(long id, String name, String loginName, String pwd, long rid) {
- this.id = id;
- this.name = name;
- this.loginName = loginName;
- this.pwd = pwd;
- this.rid = rid;
- }
-
- public User(String loginName, String pwd) {
- this.loginName = loginName;
- this.pwd = pwd;
- }
-
-
- @Override
- public String toString() {
- return "User [id=" + id + ", name=" + name + ", loginName=" + loginName + ", pwd=" + pwd + ", rid=" + rid + "]";
- }
-
-
-
-
- }
UserDao.java
- package com.cxy.dao;
-
- import java.sql.Connection;
- import java.sql.ResultSet;
- import java.sql.Statement;
-
- import com.cxy.entity.User;
- import com.cxy.util.DBAccess;
-
- public class UserDao{
-
-
- Statement stmt = null;
- Connection conn = null;
- ResultSet rs = null;
-
-
- //登陆
- public boolean login(User u) {
- boolean f = true;
- try {
- //创建连接
- conn = DBAccess.getConnection();
- //定义sql语句
- String sql = "select * from t_oa_user where loginName=? and pwd=?";
- //执行sql语句
- stmt = conn.prepareStatement(sql);
- //获得结果集
- rs = stmt.executeQuery(sql);
- if(rs==null) {
- return !f;
- }
- else{
- //遍历结果集
- while(rs.next()) {
- u.setId(rs.getLong(1));
- u.setName(rs.getString(2));
- u.setLoginName(rs.getString(3));
- u.setPwd(rs.getString(4));
- u.setRid(rs.getLong(5));
- }
- }
-
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- DBAccess.close(conn, stmt, rs);
- }
-
- return f;
- }
-
-
- }
UserAction.java
- package com.cxy.web;
-
- import java.io.IOException;
- import java.io.PrintWriter;
-
- import javax.servlet.ServletException;
- import javax.servlet.annotation.WebServlet;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
-
- import com.cxy.dao.UserDao;
- import com.cxy.entity.User;
-
-
- @WebServlet("/login.do")
- public class UserAction extends HttpServlet{
-
-
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- doPost(request, response);
- }
-
- protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
-
- //设置编码方式
- request.setCharacterEncoding("utf-8");
- response.setCharacterEncoding("utf-8");
- response.setContentType("text/html; charset=UTF-8");
-
- //out
- PrintWriter out = response.getWriter();
-
-
- //获取表单提交过来的值
- String name = request.getParameter("name");
- String pwd = request.getParameter("pwd");
-
- //实例化
- User user = new User(name,pwd);
- UserDao userdao = new UserDao();
-
- //调用dao方法
- boolean login = userdao.login(user);
-
- if(login==true) {
- request.getRequestDispatcher("index.jsp").forward(request, response);
- }
- else {
- out.print("");
- }
-
-
- }
-
- }
login.jsp
- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
- html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>登陆界面title>
- head>
- <body>
- <center>
- <form action="login.do" method="post">
- 登陆名:<input type="text" name="name"><br/>
- 密 码:<input type="text" name="pwd"><br/>
- <input type="submit" value="登录">
- <input type="reset" value="清空">
- form>
- center>
-
- body>
- html>
