Java程序开发步骤是什么?

发布网友 发布时间:2022-04-23 03:33

我来回答

3个回答

懂视网 时间:2022-05-02 20:53

JavaBean:用于传递数据,拥有与数据相关的逻辑处理。JSP:从Model接收数据并生成HTML。Servlet:接收HTTP请求并控制Model和View。jdbc:用于配置环境

首先新建course的数据库:包含name,teacher,classroom,id等字段。

技术分享图片

源代码及包的分布

技术分享图片

技术分享图片

package com.hjf.dao;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import com.hjf.entity.Course;
import com.hjf.util.DBUtil;

/**
 * 课程Dao
 * Dao层操作数据
 * @author Hu
 *
 */
public class CourseDao {

 /**
 * 添加
 * @param course
 * @return
 */
 public boolean add(Course course) {
 String sql = "insert into course(name, teacher, classroom) values(‘" + course.getName() + "‘,‘" + course.getTeacher() + "‘,‘" + course.getClassroom() + "‘)";
 //创建数据库链接
 Connection conn = DBUtil.getConn();
 Statement state = null;
 boolean f = false;
 int a = 0;
 
 try {
  state = conn.createStatement();
  state.executeUpdate(sql);
 } catch (Exception e) {
  e.printStackTrace();
 } finally {
  //关闭连接
  DBUtil.close(state, conn);
 }
 
 if (a > 0) {
  f = true;
 }
 return f;
 }

 /**
 * 删除
 * 
 * @param id
 * @return
 */
 public boolean delete (int id) {
 boolean f = false;
 String sql = "delete from course where id=‘" + id + "‘";
 
 Connection conn = DBUtil.getConn();
 Statement state = null;
 int a = 0;
 
 try {
  state = conn.createStatement();
  a = state.executeUpdate(sql);
 } catch (SQLException e) {
  e.printStackTrace();
 } finally {
  DBUtil.close(state, conn);
 }
 
 if (a > 0) {
  f = true;
 }
 return f;
 }

 /**
 * 修改
 * @param name
 * @param pass
 */
 public boolean update(Course course) {
 String sql = "update course set name=‘" + course.getName() + "‘, teacher=‘" + course.getTeacher() + "‘, classroom=‘" + course.getClassroom()
  + "‘ where id=‘" + course.getId() + "‘";
 Connection conn = DBUtil.getConn();
 Statement state = null;
 boolean f = false;
 int a = 0;

 try {
  state = conn.createStatement();
  a = state.executeUpdate(sql);
 } catch (SQLException e) {
  e.printStackTrace();
 } finally {
  DBUtil.close(state, conn);
 }
 
 if (a > 0) {
  f = true;
 }
 return f;
 }
 
 /**
 * 验证课程名称是否唯一
 * true --- 不唯一
 * @param name
 * @return
 */
 public boolean name(String name) {
 boolean flag = false;
 String sql = "select name from course where name = ‘" + name + "‘";
 Connection conn = DBUtil.getConn();
 Statement state = null;
 ResultSet rs = null;
 
 try {
  state = conn.createStatement();
  rs = state.executeQuery(sql);
  while (rs.next()) {
  flag = true;
  }
 } catch (SQLException e) {
  e.printStackTrace();
 } finally {
  DBUtil.close(rs, state, conn);
 }
 return flag;
 }
 
 /**
 * 通过ID得到课程信息
 * @param id
 * @return
 */
 public Course getCourseById(int id) {
 String sql = "select * from course where id =‘" + id + "‘";
 Connection conn = DBUtil.getConn();
 Statement state = null;
 ResultSet rs = null;
 Course course = null;
 
 try {
  state = conn.createStatement();
  rs = state.executeQuery(sql);
  while (rs.next()) {
  String name = rs.getString("name");
  String teacher = rs.getString("teacher");
  String classroom = rs.getString("classroom");
  course = new Course(id, name, teacher, classroom);
  }
 } catch (Exception e) {
  e.printStackTrace();
 } finally {
  DBUtil.close(rs, state, conn);
 }
 
 return course;
 }
 
 /**
 * 通过name得到Course
 * @param name
 * @return
 */
 public Course getCourseByName(String name) {
 String sql = "select * from course where name =‘" + name + "‘";
 Connection conn = DBUtil.getConn();
 Statement state = null;
 ResultSet rs = null;
 Course course = null;
 
 try {
  state = conn.createStatement();
  rs = state.executeQuery(sql);
  while (rs.next()) {
  int id = rs.getInt("id");
  String teacher = rs.getString("teacher");
  String classroom = rs.getString("classroom");
  course = new Course(id, name, teacher, classroom);
  }
 } catch (Exception e) {
  e.printStackTrace();
 } finally {
  DBUtil.close(rs, state, conn);
 }
 
 return course;
 }
 
 /**
 * 查找
 * @param name
 * @param teacher
 * @param classroom
 * @return
 */
 public List<Course> search(String name, String teacher, String classroom) {
 String sql = "select * from course where ";
 if (name != "") {
  sql += "name like ‘%" + name + "%‘";
 }
 if (teacher != "") {
  sql += "teacher like ‘%" + teacher + "%‘";
 }
 if (classroom != "") {
  sql += "classroom like ‘%" + classroom + "%‘";
 }
 List<Course> list = new ArrayList<>();
 Connection conn = DBUtil.getConn();
 Statement state = null;
 ResultSet rs = null;

 try {
  state = conn.createStatement();
  rs = state.executeQuery(sql);
  Course bean = null;
  while (rs.next()) {
  int id = rs.getInt("id");
  String name2 = rs.getString("name");
  String teacher2 = rs.getString("teacher");
  String classroom2 = rs.getString("classroom");
  bean = new Course(id, name2, teacher2, classroom2);
  list.add(bean);
  }
 } catch (SQLException e) {
  e.printStackTrace();
 } finally {
  DBUtil.close(rs, state, conn);
 }
 
 return list;
 }
 
 /**
 * 全部数据
 * @param name
 * @param teacher
 * @param classroom
 * @return
 */
 public List<Course> list() {
 String sql = "select * from course";
 List<Course> list = new ArrayList<>();
 Connection conn = DBUtil.getConn();
 Statement state = null;
 ResultSet rs = null;

 try {
  state = conn.createStatement();
  rs = state.executeQuery(sql);
  Course bean = null;
  while (rs.next()) {
  int id = rs.getInt("id");
  String name2 = rs.getString("name");
  String teacher2 = rs.getString("teacher");
  String classroom2 = rs.getString("classroom");
  bean = new Course(id, name2, teacher2, classroom2);
  list.add(bean);
  }
 } catch (SQLException e) {
  e.printStackTrace();
 } finally {
  DBUtil.close(rs, state, conn);
 }
 
 return list;
 }

}
package com.hjf.entity;

public class Course {

 private int id;
 private String name;
 private String teacher;
 private String classroom;
 
 public int getId() {
 return id;
 }
 public void setId(int id) {
 this.id = id;
 }
 public String getName() {
 return name;
 }
 public void setName(String name) {
 this.name = name;
 }
 public String getTeacher() {
 return teacher;
 }
 public void setTeacher(String teacher) {
 this.teacher = teacher;
 }
 public String getClassroom() {
 return classroom;
 }
 public void setClassroom(String classroom) {
 this.classroom = classroom;
 }
 
 public Course() {}
 
 public Course(int id, String name, String teacher, String classroom) {
 this.id = id;
 this.name = name;
 this.teacher = teacher;
 this.classroom = classroom;
 }
 
 public Course(String name, String teacher, String classroom) {
 this.name = name;
 this.teacher = teacher;
 this.classroom = classroom;
 }
}
package com.hjf.service;

import java.util.List;

import com.hjf.dao.CourseDao;
import com.hjf.entity.Course;

/**
 * CourseService
 * 服务层
 * @author Hu
 *
 */
public class CourseService {

 CourseDao cDao = new CourseDao();
 
 /**
 * 添加
 * @param course
 * @return
 */
 public boolean add(Course course) {
 boolean f = false;
 if(!cDao.name(course.getName())) {
  cDao.add(course);
  f = true;
 }
 return f;
 }
 
 /**
 * 删除
 */
 public void del(int id) {
 cDao.delete(id);
 }
 
 /**
 * 修改
 * @return 
 */
 public void update(Course course) {
 cDao.update(course);
 }
 
 /**
 * 通过ID得到一个Course
 * @return 
 */
 public Course getCourseById(int id) {
 return cDao.getCourseById(id);
 }

 /**
 * 通过Name得到一个Course
 * @return 
 */
 public Course getCourseByName(String name) {
 return cDao.getCourseByName(name);
 }
 
 /**
 * 查找
 * @return 
 */
 public List<Course> search(String name, String teacher, String classroom) {
 return cDao.search(name, teacher, classroom);
 }
 
 /**
 * 全部数据
 * @return 
 */
 public List<Course> list() {
 return cDao.list();
 }
}
package com.hjf.servlet;

import java.io.IOException;
import java.util.List;

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.hjf.entity.Course;
import com.hjf.service.CourseService;

@WebServlet("/CourseServlet")
public class CourseServlet extends HttpServlet {
 
 private static final long serialVersionUID = 1L;

 CourseService service = new CourseService();
 
 /**
 * 方法选择
 */
 protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
 req.setCharacterEncoding("utf-8");
 String method = req.getParameter("method");
 
 if ("add".equals(method)) {
  add(req, resp);
 } else if ("del".equals(method)) {
  del(req, resp);
 } else if ("update".equals(method)) {
  update(req, resp);
 } else if ("search".equals(method)) {
  search(req, resp);
 } else if ("getcoursebyid".equals(method)) {
  getCourseById(req, resp);
 } else if ("getcoursebyname".equals(method)) {
  getCourseByName(req, resp);
 } else if ("list".equals(method)) {
  list(req, resp);
 }
 }

 /**
 * 添加
 * @param req
 * @param resp
 * @throws IOException 
 * @throws ServletException 
 */
 private void add(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException {
 req.setCharacterEncoding("utf-8");
 //获取数据
 String name = req.getParameter("name");
 String teacher = req.getParameter("teacher");
 String classroom = req.getParameter("classroom");
 Course course = new Course(name, teacher, classroom);
 
 //添加后消息显示
 if(service.add(course)) {
  req.setAttribute("message", "添加成功");
  req.getRequestDispatcher("add.jsp").forward(req,resp);
 } else {
  req.setAttribute("message", "课程名称重复,请重新录入");
  req.getRequestDispatcher("add.jsp").forward(req,resp);
 }
 }
 
 /**
 * 全部
 * @param req
 * @param resp
 * @throws ServletException 
 */
 private void list(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
 req.setCharacterEncoding("utf-8");
 
 List<Course> courses = service.list();
 req.setAttribute("courses", courses);
 req.getRequestDispatcher("list.jsp").forward(req,resp);
 }

 /**
 * 通过ID得到Course
 * @param req
 * @param resp
 * @throws ServletException 
 */
 private void getCourseById(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
 req.setCharacterEncoding("utf-8");
 int id = Integer.parseInt(req.getParameter("id"));
 Course course = service.getCourseById(id);
 req.setAttribute("course", course);
 req.getRequestDispatcher("detail2.jsp").forward(req,resp);
 }

 /**
 * 通过名字查找
 * 跳转至删除
 * @param req
 * @param resp
 * @throws IOException
 * @throws ServletException 
 */
 private void getCourseByName(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
 req.setCharacterEncoding("utf-8");
 String name = req.getParameter("name");
 Course course = service.getCourseByName(name);
 if(course == null) {
  req.setAttribute("message", "查无此课程!");
  req.getRequestDispatcher("del.jsp").forward(req,resp);
 } else {
  req.setAttribute("course", course);
  req.getRequestDispatcher("detail.jsp").forward(req,resp);
 }
 }
 
 /**
 * 删除
 * @param req
 * @param resp
 * @throws IOException
 * @throws ServletException 
 */
 private void del(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
 req.setCharacterEncoding("utf-8");
 int id = Integer.parseInt(req.getParameter("id"));
 service.del(id);
 req.setAttribute("message", "删除成功!");
 req.getRequestDispatcher("del.jsp").forward(req,resp);
 }
 
 /**
 * 修改
 * @param req
 * @param resp
 * @throws IOException
 * @throws ServletException 
 */
 private void update(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
 req.setCharacterEncoding("utf-8");
 int id = Integer.parseInt(req.getParameter("id"));
 String name = req.getParameter("name");
 String teacher = req.getParameter("teacher");
 String classroom = req.getParameter("classroom");
 Course course = new Course(id, name, teacher, classroom);
 
 service.update(course);
 req.setAttribute("message", "修改成功");
 req.getRequestDispatcher("CourseServlet?method=list").forward(req,resp);
 }
 
 /**
 * 查找
 * @param req
 * @param resp
 * @throws ServletException 
 */
 private void search(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
 req.setCharacterEncoding("utf-8");
 String name = req.getParameter("name");
 String teacher = req.getParameter("teacher");
 String classroom = req.getParameter("classroom");
 List<Course> courses = service.search(name, teacher, classroom);
 req.setAttribute("courses", courses);
 req.getRequestDispatcher("searchlist.jsp").forward(req,resp);
 }
}
package com.hjf.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/**
 * 数据库连接工具
 * @author Hu
 *
 */
public class DBUtil {
 
 public static String db_url = "jdbc:mysql://localhost:3306/course?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false";
 public static String db_user = "root";
 public static String db_pass = "123456";
 
 public static Connection getConn () {
 Connection conn = null;
 
 try {
  Class.forName("com.mysql.cj.jdbc.Driver");//加载驱动
  conn = DriverManager.getConnection(db_url, db_user, db_pass);
  System.out.println("数据库链接正常");
 } catch (Exception e) {
  e.printStackTrace();
 }
 
 return conn;
 }
 
 /**
 * 关闭连接
 * @param state
 * @param conn
 */
 public static void close (Statement state, Connection conn) {
 if (state != null) {
  try {
  state.close();
  } catch (SQLException e) {
  e.printStackTrace();
  }
 }
 
 if (conn != null) {
  try {
  conn.close();
  } catch (SQLException e) {
  e.printStackTrace();
  }
 }
 }
 
 public static void close (ResultSet rs, Statement state, Connection conn) {
 if (rs != null) {
  try {
  rs.close();
  } catch (SQLException e) {
  e.printStackTrace();
  }
 }
 
 if (state != null) {
  try {
  state.close();
  } catch (SQLException e) {
  e.printStackTrace();
  }
 }
 
 if (conn != null) {
  try {
  conn.close();
  } catch (SQLException e) {
  e.printStackTrace();
  }
 }
 }

 public static void main(String[] args) throws SQLException {
 Connection conn = getConn();
 PreparedStatement pstmt = null;
 ResultSet rs = null;
 String sql ="select * from course";
 pstmt = conn.prepareStatement(sql);
 rs = pstmt.executeQuery();
 if(rs.next()){
  System.out.println("空");
 }else{
  System.out.println("不空");
 }
 }
}
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%--设置页面的脚本支持语言为java—导入util包中的类—申明编码方式为UTF-8--%>
<% 
request.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8
response.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8
%>
<%
String path = request.getContextPath(); //相对Path设置
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; //相对Path设置
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <%--文档声明--%>
<html>
 <head>
 <title>课程信息录入 </title> <%--页面标题--%>
 <body>
 <div id="Layer1" style="position:absolute; width:100%; height:100%; z-index:-1"> 
 <img src="C:UsersFuHeishi826Desktop课程实验\Extremeackground.jpg" height="100%" width="100%"/> 
 </div> 
 <script type="text/javascript" language="JavaScript"> //JS
 function validate()
 {
 var name = document.forms[0].name.value; //创建变量name
 var teacher = document.forms[0].teacher.value; //创建变量teacher
 var local = document.forms[0].local.value; //创建变量address
 if(name.length <= 0){ //判断姓名位数,必填
 alert("课程名称不能为空,请输入课程名称!");
 return false;
 }
 if(teacher.value != ‘王建民‘ && teacher.value != ‘王辉‘ && teacher.value != ‘刘丹‘ && teacher.value != ‘刘立嘉‘ && teacher.value != ‘杨子光‘){
 alert(‘教师名称错误‘);
 return false;
 }

 if(!/^基教/.test(local.value) && !/^一教/.test(local.value) && !/^二教/.test(local.value) && !/^三教/.test(local.value)) {
 alert(‘上课地点错误‘);
 return false;
 }
 //document.getElementById("form").submit();
 }
 </script>
 </head>
 <body>
 <div id="Layer1" style="position:absolute; width:100%; height:100%; z-index:-1"> 
 <img src="C:UsersFuHeishi826Desktop课程实验\Extremeackground.jpg" height="100%" width="100%"/> 
 </div> 
 <br><%--换行--%>
 <center>
 <h2>课程信息录入</h2><hr size="1" noshade color="#000000"><%--横线--%>
 <form action="insert.jsp" method="post" id="form" onSubmit="return validate()" ><%--跳转到insert.jsp文件,方法为post--%>
 <table width="800" border="0" align="center"> <%--表格的宽为800,居中对齐--%>
 <tr>
 <td>课程名称:
  <input type="text" name="name"></td>
 </tr>
 <tr>
 <td>授课教师:
  <input type="text" name="teacher"></td>
 </tr>
 <tr>
 <td>教学地点: <input type="text" name="local"> </td>
 </tr>
 <tr>
 <td>                          <input name="submit" type="submit" value="保存"/></td>
 </tr>
 </table>
 <p> </p>
 </form>
 <a href="showInfo.jsp">查询所有课程信息</a> <%--链接到学生信息查询页面--%>
 </center>
 </body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%--设置页面的脚本支持语言为java—导入util包中的类—申明编码方式为UTF-8--%>
<%@ page import="java.sql.*"%> <%--导入java中的sql包--%>
<%@page import="com.javao.msg.DBUtil"%>
<% 
request.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8
response.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8
%>
<%
String path = request.getContextPath(); //相对Path设置
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; //相对Path设置
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <%--文档声明--%>
<html>
 <head>
 <base href="<%=basePath%>"> <%--设置基础路径--%>
 <title>删除页面</title> <%--页面标题--%>
 </head>
<body>
<div id="Layer1" style="position:absolute; width:100%; height:100%; z-index:-1"> 
<img src="C:UsersFuHeishi826Desktop课程实验\Extremeackground.jpg" height="100%" width="100%"/> 
</div> 
 <% 
 request.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8
 String name = request.getParameter("name");
 Connection conn = null; //定义静态数据库连接 //定义静态数据库连接
 Statement stat = null; 
 ResultSet rs = null; //将rs滞空。
 conn = DBUtil.getConnection(); 
 stat = conn.createStatement(); 
 stat.executeUpdate("delete from data where name = ‘" + name + "‘"); //删除data表中的name字段
 rs = stat.executeQuery("select * from data"); //查找data表
 if(rs.next()) //判断结果集
 {
 out.print("<center><br><br><h3>删除成功!</h3></center>"); 
 }
 else{
 out.print("<center><h3>删除失败!</h3></center>");
 }
 %>
 <br>
 <br>
 <center><a href=addStuInfo.jsp>返回添加信息页面</a><br/><br/><a href=showInfo.jsp>返回信息查询页面</a></center> <%--设置居中--%>
 <% 
 if(rs != null)
 {
 rs.close(); //关闭结果集,但是rs还是有null值。
 rs = null; //将rs滞空。
 }
 if(stat != null)
 {
 stat.close(); //关闭stat。
 stat = null; //滞空stat。
 }
 if(conn != null)
 {
 conn.close(); //关闭数据库连接
 conn = null;
 }
 %> 
 </body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
 pageEncoding="UTF-8"%>
<!DOCTYPE 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>Welcome!</title>
</head>
<h1>欢迎来到石家庄铁道大学课程基本信息管理系统</h1><br/><br/>
<body>
<div id="Layer1" style="position:absolute; width:100%; height:100%; z-index:-1"> 
<img src="C:UsersFuHeishi826Desktop课程实验\Extremeackground.jpg" height="100%" width="100%"/> 
</div> <br/><br/>
 <p align="center">
 <a href = "addStuInfo.jsp">课程信息录入</a><br/><br/>
 <a href = "showInfo.jsp">课程信息修改</a><br/><br/>
 <a href = "showInfo.jsp">删除课程信息</a><br/><br/>
 <a href = "showInfo.jsp">查询课程信息</a><br/><br/>
 </p>
</body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%--设置页面的脚本支持语言为java—导入util包中的类—申明编码方式为UTF-8--%>
<%@ page import="java.sql.*"%> <%--导入java中的sql包--%>
<%@page import="com.javao.msg.DBUtil"%>
<% 
request.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8
response.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8
%>
<%
String path = request.getContextPath(); //相对Path设置
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; //相对Path设置
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <%--文档声明--%>
<html>
 <head>
 <base href="<%=basePath%>"> <%--设置基础路径,basepath为变量--%>
 <title>添加课程信息</title> <%--页面标题--%>
 </head>
 <body>
 <div id="Layer1" style="position:absolute; width:100%; height:100%; z-index:-1"> 
 <img src="C:UsersFuHeishi826Desktop课程实验\Extremeackground.jpg" height="100%" width="100%"/> 
 </div> 
 <% 
 request.setCharacterEncoding("UTF-8"); //设置响应的编码为UTF-8
 String name1 = request.getParameter("name");
 String teacher = request.getParameter("teacher");
 String local = request.getParameter("local");
 Connection conn = null; //定义静态数据库连接 
 Statement stat = null; 
 ResultSet rs = null; //将rs滞空。
 conn = DBUtil.getConnection();
 stat = conn.createStatement(); 
 //String sql = ; //向对应的数据字段添加数据
 stat.executeUpdate("insert into data(name,teacher,local) values(‘" + name1 + "‘,‘" + teacher + "‘,‘" + local + "‘)"); 
 rs = stat.executeQuery("select * from data"); //查找data表
%> 
 <center>
 <%
 if(rs.next())
 {
 out.print("<br><h3>课程信息添加成功!</h3>");
 }
 else{
 out.print("<br><h3>课程信息添加失败!</h3>");
 }
 %>
 <br>
 <a href=addStuInfo.jsp>返回课程信息添加页面</a><br/><br/>
 <a href=showInfo.jsp>进入课程信息查询页面</a> 
 </center>
 <%
 if(rs != null)
 {
 rs.close(); //关闭结果集,但是rs还是有null值。
 rs = null; //将rs滞空。
 }
 if(stat != null)
 {
 stat.close(); //关闭stat。
 stat = null; //滞空stat。
 }
 if(conn != null)
 {
 conn.close(); //关闭数据库连接
 conn = null;
 }
 %> 
 </body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%--设置页面的脚本支持语言为java—导入util包中的类—申明编码方式为UTF-8--%>
<%@ page import="java.sql.*"%> <%--导入java中的sql包--%>
<%@page import="com.javao.msg.DBUtil"%>
<%
 var cpro_id = "u6292429";
 



热心网友 时间:2022-05-02 18:01

具体操作步骤如下:

第一步:安装JDK。

要下载Oracle公司的JDK可以百度“JDK”进入Oracle公司的JDK下载页面,选择自己电脑系统的对应版本即可。

第二步:配置Windows上JDK的变量环境 。

JAVA_HOME

先设置这个系统变量名称,变量值为JDK在电脑上的安装路径:C:\Program Files\Java\jdk1.8.0_20。创建好后则可以利用%JAVA_HOME%作为JDK安装目录的统一引用路径。

Path

PATH属性已存在,可直接编辑,在原来变量后追加:;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin 。

CLASSPATH 

设置系统变量名为:CLASSPATH  变量值为:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar 。

注意变量值字符串前面有一个"."表示当前目录,设置CLASSPATH 的目的,在于告诉Java执行环境,在哪些目录下可以找到所要执行的Java程序所需要的类或者包。

第三步: 下载安装Eclipse(已上传附件,电脑打开可下载) 。

Eclipse为Java应用程序及Android开发的IDE(集成开发环境)。Eclipse不需要安装,下载后把解压包解压后,剪切eclipse文件夹到你想安装的地方,打开时设置工作目录即可。

第四步:下载安装Android SDK 。

配置了JDK变量环境,安装好了Eclipse,这个时候如果只是开发普通的JAVA应用程序,那么Java的开发环境已经准备好了。要通过Eclipse来开发Android应用程序,那么需要下载Android SDK(Software Development Kit)和在Eclipse安装ADT插件,这个插件能让Eclipse和Android SDK关联起来。

第五步:为Eclipse安装ADT插件。

前面已经配置好了java的开发环境,安装了开发Android的IDE,下载安装了Android SDK,但是Eclipse还没有和Android SDK进行关联,也就是它们现在是互相的,就好比*和子弹分开了。为了使得Android应用的创建,运行和调试更加方便快捷,Android的开发团队专门针对Eclipse IDE定制了一个插件:Android Development Tools(ADT)。

热心网友 时间:2022-05-02 19:19

图形界面的java开发工具
JDK
Borland
的JBuilder
JBuilder,JDeveloper,VisualAge
for
Java
jcreater.
常见的十五种Java开发工具的特点
1、JDK
(Java
Development
Kit)Java开发工具集
从初学者角度来看,采用JDK开发Java程序能够很快理解程序中各部分代码之间的关系,
有利于理解Java面向对象的设计思想。JDK的另一个显著特点是随着Java
(J2EE、J2SE
以及J2ME)版本的升级而升级。但它的缺点也是非常明显的就是从事大规模企业级Java
应用开发非常困难,不能进行复杂的Java软件开发,也不利于团体协同开发。
2、Java
Workshop
3、NetBeans
与Sun
Java
Studio
5
NetBeans是开放源码的Java集成开发环境(IDE),适用于各种客户机和Web应用。
Sun
Java
Studio是Sun公司最新发布的商用全功能Java
IDE,支持Solaris、Linux和Win
dows平台,适于创建和部署2层Java
Web应用和n层J2EE应用的企业开发人员使用。
NetBeans是业界第一款支持创新型Java开发的开放源码IDE。开发人员可以利用业界
强大的开发工具来构建桌面、Web或移动应用。同时,通过NetBeans和开放的API的模块
化结构,第三方能够非常轻松地扩展或集成NetBeans平台。
NetBeans3.5.1主要针对一般Java软件的开发者,而Java
One
Studio5则主要针对企
业做网络服务等应用的开发者。Sun不久还将推出Project
Rave,其目标是帮助企业的开
发者进行软件开发。NetBeans
3.5.1版本与其他开发工具相比,最大区别在于不仅能够
开发各种台式机上的应用,而且可以用来开发网络服务方面的应用,可以开发基于J2ME
的移动设备上的应用等。在NetBeans
3.5.1基础上,Sun开发出了Java
One
Studio5,为用户提供了一个更加先进的企业编程环境。在新的Java
One
Studio5里有一个应用框架,开发者可以利用这些模块快速开发自己在网络服务方面
的各种应用程序。
4、Borland
的JBuilder
Jbuilder进入了Java集成开发环境的王国,它满足很多方面的应用,尤其是对于服
务器方以及EJB开发者们来说。下面简单介绍一下Jbuilder的特点:
1)Jbuilder支持最新的Java技术,包括Applets、JSP/Servlets、JavaBean以及EJB
(Enterprise
JavaBeans)的应用。
2)用户可以自动地生成基于后端数据库表的EJB
Java类,Jbuilder同时还简化了EJ
B的自动部署功能.此外它还支持CORBA,相应的向导程序有助于用户全面地管理IDL(分布
应用程序所必需的接口定义语言Interface
Definition
Language)和控制远程对象。
3)Jbuilder支持各种应用服务器。Jbuilder与Inprise
Application
Server紧密集
成,同时支持WebLogic
Server,支持EJB
1.1和EJB
2.0,可以快速开发J2EE的电子商务
应用。
4)Jbuilder能用Servlet和JSP开发和调试动态Web
应用。
5)利用Jbuilder可创建(没有专有代码和标记)纯Java2应用。由于Jbuilder是用纯J
ava语言编写的,其代码不含任何专属代码和标记,它支持最新的Java标准。
6)Jbuilder拥有专业化的图形调试介面,支持远程调试和多线程调试,调试器支持
各种JDK版本,包括J2ME/J2SE/J2EE。
JBuilder环境开发程序方便,它是纯的Java
开发环境,适合企业的J2EE开发;缺点
是往往一开始人们难于把握整个程序各部分之间的关系,对机器的硬件要求较高,比较
吃内存,这时运行速度显得较慢。
5、Oracle
的JDeveloper
Oracle9i
JDeveloper(定为9.0版,最新为10g)为构建具有J2EE功能,XML和Web
services的复杂的,多层的Java应用程序提供了一个完全集成的开发环境。它为运用Ora
cle9i数据库和应用服务器的开发人员提供特殊的功能和增强性能,除此以外,它也有资
格成为用于多种用途Java开发的一个强大的工具。
Oracle9i
JDeveloper的主要特点如下:

具有UML(Unified
Modeling
Language,一体化建模语言)建模功能。可以将业
务对象及e-business应用模型化。

配备有高速Java调试器(Debuger)、内置Profiling工具、提高代码质量的工具
“CodeCoach”等。

支持SOAP(Simple
Object
Access
Protocol)“简单对象访问协议”、UDDI(U
niversal
Description,
Discovery
and
Integration)“统一描述、发现和集成协议”
、WSDL(Web
Services
Description
Language)“WEB服务描述语言”等Web服务标准。
JDeveloper
不仅仅是很好的
Java
编程工具,而且是
Oracle
Web
服务的延伸,支

Apache
SOAP,以及
9iAS
,可扩充的环境和
XML

WSDL
语言紧密相关。Oracle9i
Jdeveloper完全利用Java编写,能够与以前的Oracle服务器软件以及其他厂商支持J2EE
的应用服务器产品相兼容,而且在设计时着重针对Oracle9i,能够无缝化跨平台之间的
应用开发,提供了业界第一个完整的、集成了J2EE和XML的开发环境,允许开发者快速开
发可以通过Web、无线设备及语音界面访问的Web服务和交易应用,以往只能通过将传统J
ava编程技巧与最新模块化方式结合到一个单一集成的开发环境中之后才能完成J2EE应用
开发生命周期管理的事实,从根本上得到改变。缺点就是对于初学者来说,较复杂,也
比较难。
6、IBM的Visual
Age
for
Java
Visual
Age
for
Java是一个非常成熟的开发工具,它的特性以于IT开发者和业余的
Java编程人员来说都是非常用有用的。它提供对可视化编程的广泛支持,支持利用CICS
连接遗传大型机应用,支持EJB的开发应用,支持与Websphere的集成开发,方便的bean
创建和良好的快速应用开发(RAD)支持和无文件式的文件处理。
IBM为建设Web站点所推出的WebSphere
Studio
Advanced
Edition及其包含的Visual
Age
for
Java
Professional
Edition软件已全面转向以Java为中心,这样,Java开发人
员对WebSphere全套工具的感觉或许会好了许多。Studio所提供的工具有:Web站点管理
、快速开发
JDBC页向导程序、HTML编辑器和HTML语法检查等。这确实是个不错的HTML站
点页面编辑环境。Studio和VisualAge集成度很高,菜单中提供了在两种软件包之间快速
移动代码的选项。这就让使用Studio的Web页面设计人员和使用VisualAge的Java程序员
可以相互交换文件、协同工作。
Visual
Age
for
Java支持团队开发,内置的代码库可以自动地根据用户做出改动而
修改程序代码,这样就可以很方便地将目前代码和早期版本做出比较。与Visual
Age紧
密结合的Websphere
Studio本身并不提供源代码和版本管理的支持,它只是包含了一个
内置文件锁定系统,当编辑项目的时候可以防止其他人对这些文件的错误修改,软件还支
持诸如Microsoft
Visual
SourceSafe这样的第三方源代码控制系统。Visual
Age
for
Java完全面向对象的程序设计思想使得开发程序非常快速、高效。你可以不编写任何代
码就可以设计出一个典型的应用程序框架。Visual
Age
for
Java作为IBM电子商务解决
方案其中产品之一,可以无缝地与其他IBM产品,如WebSphere、DB2融合,
迅速完成从设
计、开发到部署应用的整个过程。
Visual
Age
for
Java独特的管理文件方式使其集成外部工具非常困难,你无法让Vis
ual
Age
for
Java与其他工具一起联合开发应用
'懒鲑鲑﹒
2007-12-13
11:45
检举

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com