结队作业psp0级报告

今天完成了web端开发,进行手机端开发

1.1需求描述:

开发一个地铁查询系统,方便人们更加便利的出行

1.2估计开发时间

三天

1.3填写项目数据

车站信息和线路信息储存在数据库中,当用户进行指定查询输出相关信息

1.4填写时间记录日志

 

学生:贾湛秋,郭子锴     日期:2023.3.17

教师:王建民             课程:软件工程

日期

开始时间

结束时间

中断时间

净时间

活动

备注

C

U

3.15

18:00

21:00

 

3小时

数据库信息的录入和基本页面的编写

设计数据库的结构

 

 

3.16

18:00

22:00

 

4小时

调试程序

编写相关功能的实现和servlet传值

 

 

3.17

18:00

23:00

 

5小时

调试程序

完善功能,优化界面

 

 

 

  1. 开发

2.1设计程序

通过算法实现对路径的查询,并传值到web端页面中,在运行web端的程序,弹出相关线路信息,并将该list提交到另外一个jsp中进行显示。

 

2.2设计实现

 

源代码(只展示重要部分):

 

 left.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
<link rel="stylesheet" href="menu.css">
</head>
<body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0" marginheight="0" marginwidth="0">
<div class="left">
<center><img src="subway.jpg" width="100dp" height="100dp"></center>
<br>
<a href="chaxun.jsp?way=1" target="rightframe">线路查询</a>
<br>
<a href="chaxun.jsp?way=2" target="rightframe">站点查询</a>
<br>
<a href="chaxun.jsp?way=3" target="rightframe">最短线路查询</a>
<br>
<a href="chaxun.jsp?way=4" target="rightframe">最少换乘查询</a>
<br>
</div>

</body>
</html>

 chaxun.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<link rel="stylesheet" href="kk.css">
</head>
<body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0" marginheight="0" marginwidth="0" background="bjt.jpg">
<%
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
String way=request.getParameter("way");
if(way.equals("1")){
%>
<form action="Servlet?method=yy&key=1" method="post">
<input type="text" name="linename" placeholder="线路名称">
<input type="submit" value="查询">
</form>
<%
}
else if(way.equals("2")){
%>
<form action="Servlet?method=yy&key=2" method="post">
<input type="text" name="pos" placeholder="站点名称">
<input type="submit" value="查询">
</form>
<%
}
else if(way.equals("3")){
%>
<form action="Servlet?method=yy&key=3" method="post">
<input type="text" name="start" placeholder="起点">
<input type="text" name="end" placeholder="终点">
<input type="submit" value="查询">
</form>
<%
}
else if(way.equals("4")){
%>
<form action="Servlet?method=yy&key=4" method="post">
<input type="text" name="start" placeholder="起点">
<input type="text" name="end" placeholder="终点">
<input type="submit" value="查询">
</form>
<%
}
%>
</body>
</html>

DButil类

package util;

import java.sql.*;

public class DButil {
public static Connection getConn() throws ClassNotFoundException {

Connection connection=null;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/ditie", "root", "byc666");
}catch(Exception e){
e.printStackTrace();
}
return connection;
}
public static void closeall(Connection connection, PreparedStatement preparedStatement, ResultSet resultSet){
try{
if(resultSet!=null)
resultSet.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}
try{
if(preparedStatement!=null)
preparedStatement.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}
try{
if(connection!=null)
connection.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}

}
}

Servlet

package service;

import bean.base;
import bean.changesub;
import dao.Dao;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;

public class Servlet extends HttpServlet {
Dao dao=new Dao();
public void service(HttpServletRequest request,HttpServletResponse response) throws IOException, ServletException {
request.setCharacterEncoding("UTF-8");
String method= request.getParameter("method");
if(method.equals("yy")){
yy(request,response);
}

}
public void yy(HttpServletRequest request,HttpServletResponse response) throws IOException, ServletException {
request.setCharacterEncoding("UTF-8");
String key=request.getParameter("key");
if(key.equals("1")){
String linename=request.getParameter("linename");
if(dao.confirmline(linename)) {
ArrayList<base> lines = dao.getline1(linename);
request.setAttribute("lines", lines);
request.setAttribute("key", "1");
request.getRequestDispatcher("list.jsp").forward(request, response);
}
else{
request.setAttribute("message","输入的线路不存在");
request.getRequestDispatcher("hello.jsp").forward(request,response);
}
}else if(key.equals("2")){
String linename=request.getParameter("pos");
if(dao.confirmstation(linename)) {
ArrayList<base> lines = dao.getline2(linename);
request.setAttribute("lines", lines);
request.setAttribute("key", "2");
request.getRequestDispatcher("list.jsp").forward(request, response);
}
else{
request.setAttribute("message","输入的车站不存在");
request.getRequestDispatcher("hello.jsp").forward(request,response);
}
}
else if(key.equals("3")){
String start=request.getParameter("start");
String end=request.getParameter("end");
if(dao.confirmstation(start)&&dao.confirmstation(end)){
ArrayList<changesub>lines=dao.getline3(start,end);
if(lines.size()<=0){
request.setAttribute("message","无换乘路线");
request.getRequestDispatcher("hello.jsp").forward(request,response);
}
request.setAttribute("lines",lines);
request.setAttribute("key","3");
request.setAttribute("changdu","共查询到:"+lines.size()+"条线路");
request.getRequestDispatcher("list.jsp").forward(request,response);
}
else{
request.setAttribute("message","输入的车站不存在");
request.getRequestDispatcher("hello.jsp").forward(request,response);
}
}
else if(key.equals("4")){
String start=request.getParameter("start");
String end=request.getParameter("end");
if(dao.confirmstation(start)&&dao.confirmstation(end)){
ArrayList<changesub>line=dao.getline3(start,end);
if(line.size()<=0){
request.setAttribute("message","无换乘路线");
request.getRequestDispatcher("hello.jsp").forward(request,response);
}
ArrayList<changesub> lines=dao.getminchang(line);
request.setAttribute("lines",lines);
request.setAttribute("key","3");
request.setAttribute("changdu","共查询到:"+lines.size()+"条最短换乘线路");
request.getRequestDispatcher("list.jsp").forward(request,response);
}
else{
request.setAttribute("message","输入的车站不存在");
request.getRequestDispatcher("hello.jsp").forward(request,response);
}
}
}
}

 

2.3编译程序,修复并记录所发现的bug,并填写缺陷记录日志

学生:贾湛秋

日期:2023.3.17

老师:王建民

程序号:1

日期

编号

类型

引入阶段

排除阶段

修复时间

修复缺陷

3.17

1

20

编码

编译

1h

 

当查询线路不存在时,不显示东西,通过进入新页面解决

日期

编号

类型

引入阶段

排除阶段

修复时间

修复缺陷

3.17

2

20

编码

编译

10min

 

当起点和终点相同时,不显示线路,通过进入新页面并显示信息解决

 

  1. 总结

本程序大约在花了四的时间完成,在开发过程中,遇到的bug有查询线路出错,对js和css的了解还不够,但是已经基本完成了项目开发所需要的要求。

 

posted @ 2023-03-17 21:10  小趴菜且能喝66  阅读(10)  评论(0编辑  收藏  举报