知识屋:更实用的电脑技术知识网站
所在位置:首页 > 教育

完成一个JavaWeb项目的全过程(从软件安装到代码)

发表时间:2022-03-24来源:网络

内容目录:

一、软件安装教程

二、抬头看路:前辈们的经验

三、最近的一个程序展示

四、近期学习总结与体会

 

第一大步骤:软件安装教程;

 

1.eclipse安装

 

https://www.cnblogs.com/ForestDeer/p/6647402.html

 

2.tomcat安装

 

https://blog.csdn.net/u014543872/article/details/79568712

 

3.数据库安装

 

http://www.cnblogs.com/sshoub/p/4321640.html

 

4.Sqlyang破解版下载

 

http://www.onlinedown.net/soft/24926.htm

 

第二大步骤:抬头看路

 

1.如何利用eclipse创建一个java web项目?

 

https://blog.csdn.net/qq_25646191/article/details/78776136

 

2.根据教程实现一个完整的javaweb项目

 

https://www.cnblogs.com/optblogs/p/7880996.html

 

3.javaweb学习路线

 

https://www.cnblogs.com/aishangJava/p/5970576.html

 

https://blog.csdn.net/yl1712725180/article/details/79329865

Javaweb学习总结

http://www.cnblogs.com/xdp-gacl/p/3729033.html

Java Web项目开发到底需要掌握哪些技术?

https://blog.csdn.net/javaniuniu/article/details/51880901

零基础如何系统学习Java Web?

https://www.zhihu.com//31151832

 

 

安利代码:

1 package com.hjf.dao; 2 3 import java.sql.Connection; 4 import java.sql.ResultSet; 5 import java.sql.S; 6 import java.sql.Statement; 7 import java.util.ArrayList; 8 import java.util.List; 9 10 import com.hjf.entity.Course; 11 import com.hjf.util.DBUtil; 12 13 /** 14 * 课程Dao 15 * Dao层操作数据 16 * @author Hu 17 * 18 */ 19 public class CourseDao { 20 21 /** 22 * 添加 23 * @param course 24 * @return 25 */ 26 public boolean add(Course course) { 27 String sql = "insert into course(name, teacher, classroom) values('" + course.getName() + "','" + course.getTeacher() + "','" + course.getClassroom() + "')"; 28 //创建数据库链接 29 Connection conn = DBUtil.getConn(); 30 Statement state = null; 31 boolean f = false; 32 int a = 0; 33 34 try { 35 state = conn.createStatement(); 36 state.executeUpdate(sql); 37 } catch (Exception e) { 38 e.printStackTrace(); 39 } finally { 40 //关闭连接 41 DBUtil.close(state, conn); 42 } 43 44 if (a > 0) { 45 f = true; 46 } 47 return f; 48 } 49 50 /** 51 * 删除 52 * 53 * @param id 54 * @return 55 */ 56 public boolean delete (int id) { 57 boolean f = false; 58 String sql = "delete from course where id='" + id + "'"; 59 60 Connection conn = DBUtil.getConn(); 61 Statement state = null; 62 int a = 0; 63 64 try { 65 state = conn.createStatement(); 66 a = state.executeUpdate(sql); 67 } catch (S e) { 68 e.printStackTrace(); 69 } finally { 70 DBUtil.close(state, conn); 71 } 72 73 if (a > 0) { 74 f = true; 75 } 76 return f; 77 } 78 79 /** 80 * 修改 81 * @param name 82 * @param pass 83 */ 84 public boolean update(Course course) { 85 String sql = "update course set name='" + course.getName() + "', teacher='" + course.getTeacher() + "', classroom='" + course.getClassroom() 86 + "' where id='" + course.getId() + "'"; 87 Connection conn = DBUtil.getConn(); 88 Statement state = null; 89 boolean f = false; 90 int a = 0; 91 92 try { 93 state = conn.createStatement(); 94 a = state.executeUpdate(sql); 95 } catch (S e) { 96 e.printStackTrace(); 97 } finally { 98 DBUtil.close(state, conn); 99 } 100 101 if (a > 0) { 102 f = true; 103 } 104 return f; 105 } 106 107 /** 108 * 验证课程名称是否唯一 109 * true --- 不唯一 110 * @param name 111 * @return 112 */ 113 public boolean name(String name) { 114 boolean flag = false; 115 String sql = "select name from course where name = '" + name + "'"; 116 Connection conn = DBUtil.getConn(); 117 Statement state = null; 118 ResultSet rs = null; 119 120 try { 121 state = conn.createStatement(); 122 rs = state.executeQuery(sql); 123 while (rs.next()) { 124 flag = true; 125 } 126 } catch (S e) { 127 e.printStackTrace(); 128 } finally { 129 DBUtil.close(rs, state, conn); 130 } 131 return flag; 132 } 133 134 /** 135 * 通过ID得到课程信息 136 * @param id 137 * @return 138 */ 139 public Course getCourseById(int id) { 140 String sql = "select * from course where id ='" + id + "'"; 141 Connection conn = DBUtil.getConn(); 142 Statement state = null; 143 ResultSet rs = null; 144 Course course = null; 145 146 try { 147 state = conn.createStatement(); 148 rs = state.executeQuery(sql); 149 while (rs.next()) { 150 String name = rs.getString("name"); 151 String teacher = rs.getString("teacher"); 152 String classroom = rs.getString("classroom"); 153 course = new Course(id, name, teacher, classroom); 154 } 155 } catch (Exception e) { 156 e.printStackTrace(); 157 } finally { 158 DBUtil.close(rs, state, conn); 159 } 160 161 return course; 162 } 163 164 /** 165 * 通过name得到Course 166 * @param name 167 * @return 168 */ 169 public Course getCourseByName(String name) { 170 String sql = "select * from course where name ='" + name + "'"; 171 Connection conn = DBUtil.getConn(); 172 Statement state = null; 173 ResultSet rs = null; 174 Course course = null; 175 176 try { 177 state = conn.createStatement(); 178 rs = state.executeQuery(sql); 179 while (rs.next()) { 180 int id = rs.getInt("id"); 181 String teacher = rs.getString("teacher"); 182 String classroom = rs.getString("classroom"); 183 course = new Course(id, name, teacher, classroom); 184 } 185 } catch (Exception e) { 186 e.printStackTrace(); 187 } finally { 188 DBUtil.close(rs, state, conn); 189 } 190 191 return course; 192 } 193 194 /** 195 * 查找 196 * @param name 197 * @param teacher 198 * @param classroom 199 * @return 200 */ 201 public List search(String name, String teacher, String classroom) { 202 String sql = "select * from course where "; 203 if (name != "") { 204 sql += "name like '%" + name + "%'"; 205 } 206 if (teacher != "") { 207 sql += "teacher like '%" + teacher + "%'"; 208 } 209 if (classroom != "") { 210 sql += "classroom like '%" + classroom + "%'"; 211 } 212 List list = new ArrayList(); 213 Connection conn = DBUtil.getConn(); 214 Statement state = null; 215 ResultSet rs = null; 216 217 try { 218 state = conn.createStatement(); 219 rs = state.executeQuery(sql); 220 Course bean = null; 221 while (rs.next()) { 222 int id = rs.getInt("id"); 223 String name2 = rs.getString("name"); 224 String teacher2 = rs.getString("teacher"); 225 String classroom2 = rs.getString("classroom"); 226 bean = new Course(id, name2, teacher2, classroom2); 227 list.add(bean); 228 } 229 } catch (S e) { 230 e.printStackTrace(); 231 } finally { 232 DBUtil.close(rs, state, conn); 233 } 234 235 return list; 236 } 237 238 /** 239 * 全部数据 240 * @param name 241 * @param teacher 242 * @param classroom 243 * @return 244 */ 245 public List list() { 246 String sql = "select * from course"; 247 List list = new ArrayList(); 248 Connection conn = DBUtil.getConn(); 249 Statement state = null; 250 ResultSet rs = null; 251 252 try { 253 state = conn.createStatement(); 254 rs = state.executeQuery(sql); 255 Course bean = null; 256 while (rs.next()) { 257 int id = rs.getInt("id"); 258 String name2 = rs.getString("name"); 259 String teacher2 = rs.getString("teacher"); 260 String classroom2 = rs.getString("classroom"); 261 bean = new Course(id, name2, teacher2, classroom2); 262 list.add(bean); 263 } 264 } catch (S e) { 265 e.printStackTrace(); 266 } finally { 267 DBUtil.close(rs, state, conn); 268 } 269 270 return list; 271 } 272 273 } CourseDao。java 1 package com.hjf.entity; 2 3 public class Course { 4 5 private int id; 6 private String name; 7 private String teacher; 8 private String classroom; 9 10 public int getId() { 11 return id; 12 } 13 public void setId(int id) { 14 this.id = id; 15 } 16 public String getName() { 17 return name; 18 } 19 public void setName(String name) { 20 this.name = name; 21 } 22 public String getTeacher() { 23 return teacher; 24 } 25 public void setTeacher(String teacher) { 26 this.teacher = teacher; 27 } 28 public String getClassroom() { 29 return classroom; 30 } 31 public void setClassroom(String classroom) { 32 this.classroom = classroom; 33 } 34 35 public Course() {} 36 37 public Course(int id, String name, String teacher, String classroom) { 38 this.id = id; 39 this.name = name; 40 this.teacher = teacher; 41 this.classroom = classroom; 42 } 43 44 public Course(String name, String teacher, String classroom) { 45 this.name = name; 46 this.teacher = teacher; 47 this.classroom = classroom; 48 } 49 } Course.java 1 package com.hjf.service; 2 3 import java.util.List; 4 5 import com.hjf.dao.CourseDao; 6 import com.hjf.entity.Course; 7 8 /** 9 * CourseService 10 * 服务层 11 * @author Hu 12 * 13 */ 14 public class CourseService { 15 16 CourseDao cDao = new CourseDao(); 17 18 /** 19 * 添加 20 * @param course 21 * @return 22 */ 23 public boolean add(Course course) { 24 boolean f = false; 25 if(!cDao.name(course.getName())) { 26 cDao.add(course); 27 f = true; 28 } 29 return f; 30 } 31 32 /** 33 * 删除 34 */ 35 public void del(int id) { 36 cDao.delete(id); 37 } 38 39 /** 40 * 修改 41 * @return 42 */ 43 public void update(Course course) { 44 cDao.update(course); 45 } 46 47 /** 48 * 通过ID得到一个Course 49 * @return 50 */ 51 public Course getCourseById(int id) { 52 return cDao.getCourseById(id); 53 } 54 55 /** 56 * 通过Name得到一个Course 57 * @return 58 */ 59 public Course getCourseByName(String name) { 60 return cDao.getCourseByName(name); 61 } 62 63 /** 64 * 查找 65 * @return 66 */ 67 public List search(String name, String teacher, String classroom) { 68 return cDao.search(name, teacher, classroom); 69 } 70 71 /** 72 * 全部数据 73 * @return 74 */ 75 public List list() { 76 return cDao.list(); 77 } 78 } CourseService.java 1 package com.hjf.servlet; 2 3 import java.io.IOException; 4 import java.util.List; 5 import javax.servlet.ServletException; 6 import javax.servlet.annotation.WebServlet; 7 import javax.servlet.http.HttpServlet; 8 import javax.servlet.http.HttpServletRequest; 9 import javax.servlet.http.HttpServletResponse; 10 11 import com.hjf.entity.Course; 12 import com.hjf.service.CourseService; 13 14 @WebServlet("/CourseServlet") 15 public class CourseServlet extends HttpServlet { 16 17 private static final long serialVersionUID = 1L; 18 19 CourseService service = new CourseService(); 20 21 /** 22 * 方法选择 23 */ 24 protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 25 req.setCharacterEncoding("utf-8"); 26 String method = req.getParameter("method"); 27 28 if ("add".equals(method)) { 29 add(req, resp); 30 } else if ("del".equals(method)) { 31 del(req, resp); 32 } else if ("update".equals(method)) { 33 update(req, resp); 34 } else if ("search".equals(method)) { 35 search(req, resp); 36 } else if ("getcoursebyid".equals(method)) { 37 getCourseById(req, resp); 38 } else if ("getcoursebyname".equals(method)) { 39 getCourseByName(req, resp); 40 } else if ("list".equals(method)) { 41 list(req, resp); 42 } 43 } 44 45 /** 46 * 添加 47 * @param req 48 * @param resp 49 * @throws IOException 50 * @throws ServletException 51 */ 52 private void add(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException { 53 req.setCharacterEncoding("utf-8"); 54 //获取数据 55 String name = req.getParameter("name"); 56 String teacher = req.getParameter("teacher"); 57 String classroom = req.getParameter("classroom"); 58 Course course = new Course(name, teacher, classroom); 59 60 //添加后消息显示 61 if(service.add(course)) { 62 req.setAttribute("message", "添加成功"); 63 req.getRe("add.jsp").forward(req,resp); 64 } else { 65 req.setAttribute("message", "课程名称重复,请重新录入"); 66 req.getRe("add.jsp").forward(req,resp); 67 } 68 } 69 70 /** 71 * 全部 72 * @param req 73 * @param resp 74 * @throws ServletException 75 */ 76 private void list(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{ 77 req.setCharacterEncoding("utf-8"); 78 79 List courses = service.list(); 80 req.setAttribute("courses", courses); 81 req.getRe("list.jsp").forward(req,resp); 82 } 83 84 /** 85 * 通过ID得到Course 86 * @param req 87 * @param resp 88 * @throws ServletException 89 */ 90 private void getCourseById(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{ 91 req.setCharacterEncoding("utf-8"); 92 int id = Integer.parseInt(req.getParameter("id")); 93 Course course = service.getCourseById(id); 94 req.setAttribute("course", course); 95 req.getRe("detail2.jsp").forward(req,resp); 96 } 97 98 /** 99 * 通过名字查找 100 * 跳转至删除 101 * @param req 102 * @param resp 103 * @throws IOException 104 * @throws ServletException 105 */ 106 private void getCourseByName(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{ 107 req.setCharacterEncoding("utf-8"); 108 String name = req.getParameter("name"); 109 Course course = service.getCourseByName(name); 110 if(course == null) { 111 req.setAttribute("message", "查无此课程!"); 112 req.getRe("del.jsp").forward(req,resp); 113 } else { 114 req.setAttribute("course", course); 115 req.getRe("detail.jsp").forward(req,resp); 116 } 117 } 118 119 /** 120 * 删除 121 * @param req 122 * @param resp 123 * @throws IOException 124 * @throws ServletException 125 */ 126 private void del(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{ 127 req.setCharacterEncoding("utf-8"); 128 int id = Integer.parseInt(req.getParameter("id")); 129 service.del(id); 130 req.setAttribute("message", "删除成功!"); 131 req.getRe("del.jsp").forward(req,resp); 132 } 133 134 /** 135 * 修改 136 * @param req 137 * @param resp 138 * @throws IOException 139 * @throws ServletException 140 */ 141 private void update(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{ 142 req.setCharacterEncoding("utf-8"); 143 int id = Integer.parseInt(req.getParameter("id")); 144 String name = req.getParameter("name"); 145 String teacher = req.getParameter("teacher"); 146 String classroom = req.getParameter("classroom"); 147 Course course = new Course(id, name, teacher, classroom); 148 149 service.update(course); 150 req.setAttribute("message", "修改成功"); 151 req.getRe("CourseServlet?method=list").forward(req,resp); 152 } 153 154 /** 155 * 查找 156 * @param req 157 * @param resp 158 * @throws ServletException 159 */ 160 private void search(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{ 161 req.setCharacterEncoding("utf-8"); 162 String name = req.getParameter("name"); 163 String teacher = req.getParameter("teacher"); 164 String classroom = req.getParameter("classroom"); 165 List courses = service.search(name, teacher, classroom); 166 req.setAttribute("courses", courses); 167 req.getRe("searchlist.jsp").forward(req,resp); 168 } 169 } CourseServlet.java 1 package com.hjf.util; 2 3 import java.sql.Connection; 4 import java.sql.DriverManager; 5 import java.sql.PreparedStatement; 6 import java.sql.ResultSet; 7 import java.sql.S; 8 import java.sql.Statement; 9 10 /** 11 * 数据库连接工具 12 * @author Hu 13 * 14 */ 15 public class DBUtil { 16 17 public static String db_url = "jdbc:mysql://localhost:3306/course"; 18 public static String db_user = "root"; 19 public static String db_pass = "root"; 20 21 public static Connection getConn () { 22 Connection conn = null; 23 24 try { 25 Class.forName("com.mysql.jdbc.Driver");//加载驱动 26 conn = DriverManager.getConnection(db_url, db_user, db_pass); 27 } catch (Exception e) { 28 e.printStackTrace(); 29 } 30 31 return conn; 32 } 33 34 /** 35 * 关闭连接 36 * @param state 37 * @param conn 38 */ 39 public static void close (Statement state, Connection conn) { 40 if (state != null) { 41 try { 42 state.close(); 43 } catch (S e) { 44 e.printStackTrace(); 45 } 46 } 47 48 if (conn != null) { 49 try { 50 conn.close(); 51 } catch (S e) { 52 e.printStackTrace(); 53 } 54 } 55 } 56 57 public static void close (ResultSet rs, Statement state, Connection conn) { 58 if (rs != null) { 59 try { 60 rs.close(); 61 } catch (S e) { 62 e.printStackTrace(); 63 } 64 } 65 66 if (state != null) { 67 try { 68 state.close(); 69 } catch (S e) { 70 e.printStackTrace(); 71 } 72 } 73 74 if (conn != null) { 75 try { 76 conn.close(); 77 } catch (S e) { 78 e.printStackTrace(); 79 } 80 } 81 } 82 83 public static void main(String[] args) throws S { 84 Connection conn = getConn(); 85 PreparedStatement pstmt = null; 86 ResultSet rs = null; 87 String sql ="select * from course"; 88 pstmt = conn.prepareStatement(sql); 89 rs = pstmt.executeQuery(); 90 if(rs.next()){ 91 System.out.println("空"); 92 }else{ 93 System.out.println("不空"); 94 } 95 } 96 } DBUtil.java

add.jsp

 

1 3 4 5 6 7 Insert title here 8 9 10 11 16 17 alert(""); 18 19 20 21

课程信息删除

22 返回主页 23 24 25 课程名称 26 27 28 查   找 29 30 31 32 33 function check() { 34 var name = document.getElementById("name");; 35 36 //非空 37 if(name.value == '') { 38 alert('课程名称为空'); 39 name.focus(); 40 return false; 41 } 42 } 43 44 45 del.jsp 1 3 4 5 6 7 Insert title here 8 9 .a{ 10 margin-top: 20px; 11 } 12 .b{ 13 font-size: 20px; 14 width: 160px; 15 color: white; 16 background-color: greenyellow; 17 } 18 .tb, td { 19 border: 1px solid black; 20 font-size: 22px; 21 } 22 23 24 25 26

课程信息删除

27 返回主页 28 29 30 课程名称 31 ${course.name} 32 33 34 任课教师 35 ${course.teacher} 36 37 38 上课地点 39 ${course.classroom} 40 41 42 43 删   除 44 45 46 47 function check() { 48 if (confirm("真的要删除吗?")){ 49 return true; 50 }else{ 51 return false; 52 } 53 } 54 55 56 detail.jsp 1 3 4 5 6 7 Insert title here 8 9 10 11 16 17 alert(""); 18 19 20 21

课程信息修改

22 返回主页 23 24 25 课程名称 26 27 28 任课教师 29 30 31 上课地点 32 33 34 35 修   改 36 37 38 39 40 function check() { 41 var name = document.getElementById("name");; 42 var teacher = document.getElementById("teacher"); 43 var classroom = document.getElementById("classroom"); 44 45 //非空 46 if(name.value == '') { 47 alert('课程名称为空'); 48 name.focus(); 49 return false; 50 } 51 if(teacher.value == '') { 52 alert('教师为空'); 53 teacher.focus(); 54 return false; 55 } 56 if(classroom.value == '') { 57 alert('上课地点为空'); 58 classroom.focus(); 59 return false; 60 } 61 62 //教师 63 if(teacher.value != '王建民' && teacher.value != '王辉' && teacher.value != '刘丹' && teacher.value != '刘立嘉' && teacher.value != '杨子光'){ 64 alert('教师名称错误'); 65 return false; 66 } 67 68 //教室: 69 if(!/^基教/.test(classroom.value) && !/^一教/.test(classroom.value) && !/^二教/.test(classroom.value) && !/^三教/.test(classroom.value)) { 70 alert('上课地点错误'); 71 return false; 72 } 73 } 74 75 76 detail2.jsp 1 3 4 5 6 7 首页 8 9 10 11 12 13 14 课程信息添加 15 16 17 课程信息修改 18 19 20 课程信息删除 21 22 23 课程信息查询 24 25 26 27 index.jsp 1 3 4 5 6 7 8 Insert title here 9 10 11 12 17 18 alert(""); 19 20 21 22

课程信息列表

23 返回主页 24 25 26 id 27 课程名称 28 任课教师 29 上课地点 30 操作 31 32 33 34 ${item.id} 35 ${item.name} 36 ${item.teacher} 37 ${item.classroom} 38 修改 39 40 41 42 43 44 list.jsp 1 3 4 5 6 7 Insert title here 8 9 10 11 12

课程信息查询

13 返回主页 14 15 16 课程名称 17 18 19 任课教师 20 21 22 上课地点 23 24 25 查   询 26 27 28 29 30 function check() { 31 var name = document.getElementById("name");; 32 var teacher = document.getElementById("teacher"); 33 var classroom = document.getElementById("classroom"); 34 35 //非空 36 if(name.value == '' && teacher.value == '' && classroom.value == '') { 37 alert('请填写一个条件'); 38 return false; 39 } 40 } 41 42 43 search.jsp 1 3 4 5 6 7 8 Insert title here 9 10 11 12 13

课程信息列表

14 返回主页 15 16 17 id 18 课程名称 19 任课教师 20 上课地点 21 22 23 24 25 ${item.id} 26 ${item.name} 27 ${item.teacher} 28 ${item.classroom} 29 30 31 32 33 34 searchlist.jsp

导入jar包(问度娘):

 

效果展示:

 

 

第三步骤:我最近的学习感受+一个程序详解+知识点

模块一:

I.简介JavaWEB程序

JavaWeb项目就是一个应用程序,你不要以为它有多么神秘。你每天打开的QQ就一个应用程序,你在手机上打开的微信,百度地图等等,这些都是应用程序。

不同的是,QQ是一个本地客户端程序,它需要你在自己的电脑上安装一个客户端,然后你打开QQ,可以登录,聊天。

QQ肯定也分客户端和服务端,我们电脑上装的就是客户端,你要知道的一点是,我们发送消息,发送到哪里去了呢?

没错,肯定是发送到QQ的服务器上了,那里保存着我们的所有数据。

想想也不可能在本地,因为我们在电脑上发送的消息,在手机QQ上不是也能看到吗?这就说明,肯定是上传到它的服务器然后保存下来了。

而Web项目是什么呢?

它也是一个应用程序,只不过它的客户端是运行在浏览器上的。

我们打开浏览器,访问一个地址,比如 http://www.jianshu.com/

这个就是我们的访问路径,我们通过这个URL向简书的服务器提交请求,然后服务器进行处理,给你回应。

接下来,我们就看到出来一个网页。

我们在这个网页上可以写文章,点赞,收藏,等等。

我们的每一步操作,其实都和服务器做了一个交互。

比如一个登录功能,当我们鼠标点击那个登录按钮,浏览器就向服务器提交了一个请求,服务器进行处理,然后操作数据库。最终,它会得出一个结果,就是说,到底能不能让你登录,总会有个说法。

如果你密码写错了,它可能就会得出一个用户名或密码错误的结论。然后,这个信息会从服务器返回到前台,前台就是浏览器。

所谓的前台就是你的浏览器,没什么神秘的。

前台接受到后台传过来的信息后,进行一些处理,然后给你个提示,比如,告诉你用户名或密码错误。

这就是一个完整的交互过程。

现在随着网速越来越好,浏览器的性能越来越强大,我想web肯定是未来的大趋势。毕竟,谁都不希望在电脑上安装一大堆客户端吧。

只用一个浏览器多好。

有了web,我只需要有一个浏览器,然后就能通过互联网获取我想要的资源了。这样不是很美妙吗?

II.不建议一开始就看视频,先把那些基础理论知识过一次,心里有点踏实了,到了需要敲大量代码的阶段再看视频。

 

模块三:知识点

javaweb制作流程的形象理解

 

1.有关数据库的知识点:

 【MYSQL的概述】

什么是数据库:

数据库就是一个文件系统,需要通过标准SQL语句才能访问.

【MYSQL的安装和卸载】

安装和卸载的过程记录下服务器安装的路径和数据文件存放的路径.卸载的时候将这个两个路径下的文件一并都删除掉.

【创建数据库】

语法:

    * create database 数据库名;

【查看数据库】

* 查看数据库服务器中的所有的数据库:show databases;

【删除数据库】

* drop database 数据库名称;

【修改数据库】

* alter database 数据库名 

【其他的数据库操作命令】

* 切换数据库:use 数据库名;

* 查看正在使用的数据库:select database();

【创建表】

create table 表名(

   字段名 类型(长度) 约束,

   字段名 类型(长度) 约束

);

单表约束:

    * 主键约束:primary key

    * 唯一约束:unique

    * 非空约束:not null

创建一个分类表:

    分类ID int类型主键 自动增长

    分类名称 字符串类型 长度20

create table category(

    cid int primary key auto_increment,

    cname varchar(20)

);

 

***** 注意:建表之前一定先选择数据库.

【查看表】

查看数据库中的所有表:show tables;

查看表结构:desc 表名;

【删除表】

drop table 表名;

【修改表】

alter table 表名 add 列名 类型(长度) 约束;     --修改表添加列.

alter table 表名 modify 列名 类型(长度) 约束;  --修改表修改列的类型长度及约束.

alter table 表名 change 旧列名 新列名 类型(长度) 约束;  --修改表修改列名.

alter table 表名 drop 列名;                  --修改表删除列.

rename table 表名 to 新表名;                 --修改表名

【插入记录】

语法:

* insert into 表 (列名1,列名2,列名3..) values  (值1,值2,值3..); -- 向表中插入某些列

* insert into 表 values (值1,值2,值3..); --向表中插入所有列

【修改记录】

语法:

* update 表名 set 字段名=值,字段名=值 [where 条件];

【删除记录】

语法:

* delete from 表名 [where 条件];

【查询记录】

语法:

* select [distinct]*[列名,列名] from 表 [where 条件].

创建商品表:

创建商品表:

create table products(

    pid int primary key auto_increment,

    pname varchar(20),

    price double,

     pnum int,

     cno int,

    pdate timestamp

);

【多表查询】

交叉连接查询(基本不会使用-得到的是两个表的乘积)

语法:

* select * from A,B;

2.有关前端页面的知识点:

【HTML的概述】

什么是HTML

HTML:Hyper Text Markup Language 超文本标记语言

l  超文本:比文本功能更加强大

l  标记语言:通过一组标签对内容进行描述的一门语言

为什么学习HTML

HTML是设计页面基础

在哪些地方可以使用HTML

设计页面的时候都可以使用HTML

如何使用HTML

HTML的语法和规范

l  HTML文件的扩展名是.html或者是.htm

l  HTML文件是由头和体组成

l  HTML这组标签是不区分大小写

l  HTML的标记通常是由开始标签和结束标签组成:内容 

【HTML的字体标签】

标签

文字

l  size:控制字体大小.最小1 最大7

l  color:控制字体颜色. 使用英文设置 ,使用16进制数设置

l  face:控制字体.

【HTML的排版标签】

标题标签

b标题

段落标签

一段文字


换行标签


代表换行

水平线标签

字体加粗

文字

斜体标签

斜体

【HTML的图片标记】

1 package com.itheima.jdbc.utils; 2 3 import java.io.FileInputStream; 4 import java.io.FileNotFoundException; 5 import java.io.IOException; 6 import java.sql.Connection; 7 import java.sql.DriverManager; 8 import java.sql.ResultSet; 9 import java.sql.S; 10 import java.sql.Statement; 11 import java.util.Properties; 12 13 /** 14 * JDBC的工具类 15 * @author apple 16 * 17 */ 18 public class JDBCUtils { 19 public static final String DRIVERCLASS; 20 public static final String URL; 21 public static final String USERNAME; 22 public static final String PASSWORD; 23 24 static{ 25 // 获得属性文件中的数据. 26 Properties properties = new Properties(); 27 try { 28 properties.load(new FileInputStream("src/db.properties")); 29 } catch (FileNotFoundException e) { 30 e.printStackTrace(); 31 } catch (IOException e) { 32 e.printStackTrace(); 33 } 34 35 DRIVERCLASS = properties.getProperty("jdbc.driverClass"); 36 URL = properties.getProperty("jdbc.url"); 37 USERNAME = properties.getProperty("jdbc.username"); 38 PASSWORD = properties.getProperty("jdbc.password"); 39 } 40 41 // 加载驱动: 42 public static void loadDriver(){ 43 try { 44 Class.forName(DRIVERCLASS); 45 } catch (ClassNotFoundException e) { 46 // TODO Auto-generated catch block 47 e.printStackTrace(); 48 } 49 } 50 51 // 获得连接: 52 public static Connection getConnection(){ 53 loadDriver(); 54 Connection conn = null; 55 try { 56 conn = DriverManager.getConnection(URL, USERNAME, PASSWORD); 57 } catch (S e) { 58 // TODO Auto-generated catch block 59 e.printStackTrace(); 60 } 61 return conn; 62 } 63 64 // 释放资源: 65 public static void release(Statement stmt,Connection conn){ 66 if(stmt != null){ 67 try { 68 stmt.close(); 69 } catch (S e) { 70 // TODO Auto-generated catch block 71 e.printStackTrace(); 72 } 73 stmt = null; 74 } 75 76 if(conn != null){ 77 try { 78 conn.close(); 79 } catch (S e) { 80 e.printStackTrace(); 81 } 82 conn = null; 83 } 84 } 85 86 public static void release(ResultSet rs,Statement stmt,Connection conn){ 87 if(rs!= null){ 88 try { 89 rs.close(); 90 } catch (S e) { 91 e.printStackTrace(); 92 } 93 rs = null; 94 } 95 if(stmt != null){ 96 try { 97 stmt.close(); 98 } catch (S e) { 99 // TODO Auto-generated catch block 100 e.printStackTrace(); 101 } 102 stmt = null; 103 } 104 105 if(conn != null){ 106 try { 107 conn.close(); 108 } catch (S e) { 109 e.printStackTrace(); 110 } 111 conn = null; 112 } 113 } 114 } 代码实现之抽取工具类:

4. 什么是XML

XML全称为Extensible Markup Language,意思是可扩展的标记语言。XML语法上和HTML比较相似,但HTML中的元素是固定的,而XML的标签是可以由用户自定义的。

1 2 3 4 HelloMyServlet 5 cn.itcast.HelloMyServlet 6 7 8 HelloMyServlet 9 /hello 10 11 配置文件 1 2 3 4 张三 5 6 7 李四 8 9 存放数据

1.1.1.1   XML 语法

l  XML文档声明

文档声明必须为结束; 文档声明必须从文档的0行0列位置开始; 文档声明只有三个属性:

a)       versioin:指定XML文档版本。必须属性,因为我们不会选择1.1,只会选择1.0;

b)       encoding:指定当前文档的编码。可选属性,默认值是utf-8;

c)        standalone:指定文档独立性。可选属性,默认值为yes,表示当前文档是独立文档。如果为no表示当前文档不是独立的文档,会依赖外部文件。

 

l  元素

元素是XML文档中最重要的组成部分, 普通元素的结构开始标签、元素体、结束标签组成。例如:大家好 元素体:元素体可以是元素,也可以是文本,例如:你好 空元素:空元素只有开始标签,而没有结束标签,但元素必须自己闭合,例如: 元素命名:

a)       区分大小写

b)       不能使用空格,不能使用冒号:

c)        不建议以XML、xml、Xml开头

良好的XML文档,必须有一个根元素。

 

l  属性

属性是元素的一部分,它必须出现在元素的开始标签中 属性的定义格式:属性名=属性值,其中属性值必须使用单引或双引 一个元素可以有0~N个属性,但一个元素中不能出现同名属性 属性名不能使用空格、冒号等特殊字符,且必须以字母开头

l  注释

XML的注释与HTML相同,即以“”结束。注释内容会被XML解析器忽略!

 

l  转义字符

XML中的转义字符与HTML一样。

因为很多符号已经被XML文档结构所使用,所以在元素体或属性值中想使用这些符号就必须使用转义字符,例如:“”、“’”、“””、“&”。

5.Servlet

【Servlet的概述】

什么是Servlet:

是运行在服务器端的一小的Java程序,接收和响应从客户端发送请求.

Servlet的作用:

处理客户端的请求,并且对请求作出响应.

使用Servlet:

Servlet的入门:

* 编写一个类实现Servlet接口.

public class ServletDemo1 implements Servlet{

 

    @Override

    public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {

        // System.out.println("");

        response.getWriter().println("Hello Servlet...");

    }

...

}

 

* 配置Servlet到WEB服务器.

 

 

   

    aaa

   

    com.itheima.servlet.demo1.ServletDemo1

 

 

 

 

   

    aaa

   

    /servletDemo1

 

收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜