软件工程概论课后作业01
1. 網站系統開發需要掌握的技術
①java語言
Java語言體系比較龐大,包括多個模塊。從WEB項目應用角度講有JSP,Servlet,JDBC,JavaBean(Application)四部分技術。JDBC可做三件事情:與數據庫建立連接,發送SQL語句,處理結果。Servlet從客戶端(通過WEB服務器)接受請求,執行某種操作,然后返回結果。JSP是從Servlet上分離出來的一小部分,簡化了開發,加強了頁面設計。JavaBean能提供常用功能并且可以重復使用,這使得開發人員可以把某些關鍵功能和核心算法提取出來封裝成為一個組件對象,這樣就增加了代碼的重用率和系統的安全性。
②面向對象分析設計思想
Java語言是完全面向對象的語言,所以在項目設計時會有很大的幫助,在設計時應盡量舍棄以往的面向過程的設計方式。
③設計模式和構架結構
設計模式在java項目實施過程更是重中之重。主要在與兩層的設計模式,三層的設計模式和N層的設計模式。它直接決定著項目的應用,部署和實際開發設計。
④XML語言
在服務器和設計模式結構中會應用到自定義文件,而且在應用高級設計時也會定義自用的標簽,現在流行的是用XML去定義配置,所以XML語言應該有一定掌握。XML大致可以分為3類,分別是簡單數據的表示和交換,面向消息的計算,用戶界面相關。
⑤網頁腳本語言
網頁腳本語言的執行都是在客戶端執行的,速度很快,并且大多數的操作與服務器沒有交互計算,所以在一些應用中非常理想。在設計WEB項目的應用中,網頁的腳本語言起著不能忽視的作用,對JAVAScript應有一定的了解。
⑥開發工具
數據庫,Web服務器,集成開發環境
2.源代碼
package com.jaovo.msg.dao; import java.util.List; import com.jaovo.msg.model.User; public interface IUserDao {public void add(User user);public void delete(int id);public void update(User user);public User load(int id);public User load(String username);public List<User> load(); } package com.jaovo.msg.dao;import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List;import com.jaovo.msg.Util.DBUtil; import com.jaovo.msg.Util.UserException; import com.jaovo.msg.model.User;import sun.net.www.content.text.plain;public class UserDaoImpl implements IUserDao {@Overridepublic void add(User user) {//獲得鏈接對象Connection connection = DBUtil.getConnection();//準備sql語句String sql = "select count(*) from t_user where username = ?";//創建語句傳輸對象PreparedStatement preparedStatement = null;ResultSet resultSet = null;try {preparedStatement = connection.prepareStatement(sql);preparedStatement.setString(1, user.getUsername());//接收結果集resultSet = preparedStatement.executeQuery();//遍歷結果集while(resultSet.next()) {if (resultSet.getInt(1) > 0) {throw new UserException("用戶已存在") ;}}sql = "insert into t_user(username,password,nickname) value (?,?,?)";preparedStatement = connection.prepareStatement(sql);preparedStatement.setString(1, user.getUsername());preparedStatement.setString(2, user.getPassword());preparedStatement.setString(3, user.getNickname());preparedStatement.executeUpdate();} catch (SQLException e) {// TODO Auto-generated catch block e.printStackTrace();}finally {//關閉資源 DBUtil.close(resultSet);DBUtil.close(preparedStatement);DBUtil.close(connection);}}@Overridepublic void delete(int id) {Connection connection = DBUtil.getConnection();String sql = "delete from t_user where id = ?";PreparedStatement preparedStatement = null;try {preparedStatement = connection.prepareStatement(sql);preparedStatement.setInt(1, id);preparedStatement.executeUpdate();} catch (SQLException e) {// TODO Auto-generated catch block e.printStackTrace();}finally {DBUtil.close(preparedStatement);DBUtil.close(connection);}}@Overridepublic void update(User user) {Connection connection = DBUtil.getConnection();//準備sql語句String sql = "update t_user set password = ? , nickname=? where id = ?";//創建語句傳輸對象PreparedStatement preparedStatement = null;try {preparedStatement = connection.prepareStatement(sql);preparedStatement.setString(1, user.getPassword());preparedStatement.setString(2, user.getNickname());preparedStatement.setInt(3, user.getId());preparedStatement.executeUpdate();} catch (SQLException e) {// TODO Auto-generated catch block e.printStackTrace();}finally {DBUtil.close(preparedStatement);DBUtil.close(connection);}}@Overridepublic User load(int id) {Connection connection = DBUtil.getConnection();//準備sql語句String sql = "select * from t_user where id = ?";//創建語句傳輸對象PreparedStatement preparedStatement = null;ResultSet resultSet = null;User user = null;try {preparedStatement = connection.prepareStatement(sql);preparedStatement.setInt(1, id);resultSet = preparedStatement.executeQuery();while(resultSet.next()) {user = new User();user.setId(id);user.setUsername(resultSet.getString("username"));user.setPassword(resultSet.getString("password"));user.setNickname(resultSet.getString("nickname"));}} catch (SQLException e) {// TODO Auto-generated catch block e.printStackTrace();}finally {DBUtil.close(resultSet);DBUtil.close(preparedStatement);DBUtil.close(connection);}return user;}@Overridepublic User load(String username) {// TODO Auto-generated method stubreturn null;}@Overridepublic List<User> load() {Connection connection = DBUtil.getConnection();//準備sql語句String sql = "select * from t_user ";//創建語句傳輸對象PreparedStatement preparedStatement = null;ResultSet resultSet = null;//集合中只能放入user對象List<User> users = new ArrayList<User>();User user = null;try {preparedStatement = connection.prepareStatement(sql);resultSet = preparedStatement.executeQuery();while(resultSet.next()) {user = new User();user.setId(resultSet.getInt("id"));user.setUsername(resultSet.getString("username"));user.setPassword(resultSet.getString("password"));user.setNickname(resultSet.getString("nickname"));users.add(user);}} catch (SQLException e) {// TODO Auto-generated catch block e.printStackTrace();}finally {DBUtil.close(resultSet);DBUtil.close(preparedStatement);DBUtil.close(connection);}return users;}} package com.jaovo.msg.model;public class User {private int id;private String username;private String nickname;private String password;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getNickname() {return nickname;}public void setNickname(String nickname) {this.nickname = nickname;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}} package com.jaovo.msg.Util;import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException;public class DBUtil {public static Connection getConnection() {try {//1 加載驅動Class.forName("com.mysql.jdbc.Driver").newInstance();} catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {// TODO Auto-generated catch block e.printStackTrace();}String user = "root";String password = "root";String url = "jdbc:mysql://localhost:3306/jaovo_msg";Connection connection = null;try {//2 創建鏈接對象connectionconnection = DriverManager.getConnection(url,user,password);} catch (SQLException e) {// TODO Auto-generated catch block e.printStackTrace();}return connection;}//關閉資源的方法public static void close(Connection connection ) {try {if (connection != null) {connection.close();}} catch (SQLException e) {// TODO Auto-generated catch block e.printStackTrace();}}public static void close(PreparedStatement preparedStatement ) {try {if (preparedStatement != null) {preparedStatement.close();}} catch (SQLException e) {// TODO Auto-generated catch block e.printStackTrace();}}public static void close(ResultSet resultSet ) {try {if (resultSet != null) {resultSet.close();}} catch (SQLException e) {// TODO Auto-generated catch block e.printStackTrace();}}} package com.jaovo.msg.Util;public class UserException extends RuntimeException{public UserException() {super();// TODO Auto-generated constructor stub }public UserException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) {super(message, cause, enableSuppression, writableStackTrace);// TODO Auto-generated constructor stub }public UserException(String message, Throwable cause) {super(message, cause);// TODO Auto-generated constructor stub }public UserException(String message) {super(message);// TODO Auto-generated constructor stub }public UserException(Throwable cause) {super(cause);// TODO Auto-generated constructor stub }} <%@page import="com.jaovo.msg.Util.UserException"%> <%@page import="com.jaovo.msg.dao.UserDaoImpl"%> <%@page import="com.jaovo.msg.model.User"%> <%@ 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> <%//接收客戶端傳遞過來的參數String username = request.getParameter("username");String password = request.getParameter("password");String nickname = request.getParameter("nickname");if(username == null || "".equals(username.trim())){request.setAttribute("error", "用戶名不能為空");%><jsp:forward page="addInput.jsp"></jsp:forward> <%}User user = new User();user.setUsername(username);user.setPassword(password);user.setNickname(nickname);UserDaoImpl userDao = new UserDaoImpl();try{userDao.add(user);//重定向response.sendRedirect("list.jsp"); %><%}catch(UserException e){ %><h2 style="color:red ; font-size:50px">發生錯誤 : <%=e.getMessage() %></h2><%}%> </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><title>用戶添加頁面</title> </head> <body><%=request.getAttribute("error") %><form action="add.jsp" method="get"><table align="center" border="1" width="500"><tr><td>用戶名稱 : </td><td><input type="text" name="username" /></td></tr><tr><td>用戶密碼:</td><td><input type="password" name="password" /></td></tr><tr><td>用戶昵稱:</td><td><input type="text" name="nickname" /></td></tr><tr align="center"><td colspan="2"><input type="submit" value="提交" /><input type="reset" value="重置" /></td></tr></table></form> </body> </html>3.運行結果截圖
?
?4.列出你對這門課的希望和自己的目標,并具體列出你計劃計劃每周花多長時間在這門課上。
?可以自己開發系統,創建登錄界面。
計劃除了能夠在規定時間內完成作業,課下也應該要花費很多時間多用于編程上面。計劃每周花費28個多小時用于編程。
轉載于:https://www.cnblogs.com/lijing925/p/7876039.html
總結
以上是生活随笔為你收集整理的软件工程概论课后作业01的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MS Code 使用 TFVC 插件时遇
- 下一篇: Halcon自定义函数封装方法(全网最详