首页 > 其他分享 >课前测试试卷

课前测试试卷

时间:2023-02-22 15:56:29浏览次数:38  
标签:栏目 java 新闻 试卷 测试 sql import public

2021级《软件工程》

课前测试试卷(180分钟)

 

河北省环保监测中心网络新闻发布系统(卷面成绩40分,占课程过程考核20分)

 

1、项目需求:

河北省环保监测中心网络新闻为搭建公众信息交流平台,决定建立新闻发布平台。新闻发布平台按内容包括中心新闻、企业环保信息发布等若干新闻栏目,新闻撰稿人可登陆平台发布新闻,每个新闻栏目至少有一位新闻栏目管理员,负责审查新闻撰稿人所发的新闻稿件,在审查通过后,对应新闻才可以显示在对应新闻栏目上,一般用户登录后才可以看到,另外还可以删除过时或无用的信息。另外,系统管理员可以对用户进行管理和对新闻栏目进行调整。新闻发布流程如下:

2.系统要求与功能设计

2.1 页面要求

(1)通过浏览器查看,能适应常用分辨率;(1分)

(2)布局合理、结构清晰、页面完整;(1分)

(3)网站页面整体风格统一;(1分)

(4)首页为用户登录页面,不同角色用户登录后,进入相应的功能页,要求密码在数据库中加密;(4分)

(5)新闻撰稿人功能页:在线撰写与修改稿件、查看已写稿件及修改意见;

(6)普通用户功能页:浏览相应栏目新闻、用户评论新闻(可匿名)、浏览其他用户评论;

(7)新闻栏目管理员功能页:浏览与管理本栏目待发与已发新闻;

(8)系统管理功能页:用户注册、用户权限管理、新闻栏目管理;

(9)对每页中的查询结果推荐采用分页显示。

2.2 功能要求

(1)在线撰写新闻稿件:新闻撰稿人在线撰写新闻,选择栏目,正式提交;(2分)

(2)查看修改意见:新闻撰稿人查看新闻栏目管理员提出的修改意见;(1分)

(3)修改新闻稿件:新闻撰稿人根据修改意见可以对新闻进行修改;(1分)

(4)查询已经撰写的新闻:新闻撰稿人可以查看自己已经撰写的新闻;(1分)

(5)浏览新闻:普通用户可以浏览栏目的新闻(按照时间倒排);(1分)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

图1 新闻发布流程

 

(6)发表评论回复:普通用户可以对新闻进行发表评论,可选择匿名回复;(1分)

(7)按照一定条件查询新闻:栏目管理员可以按照时间段,新闻关键字等条件进行查询;(2分)

(8)管理待发与已发新闻:新闻栏目管理员可以批准新闻发布、删除不合适新闻、给出撰稿人修改意见、对已发的过时新闻进行删除;(2分)

(9)管理新闻评论回复:新闻栏目管理员可以查看、删除、禁止新闻的回复;(2分)

(10)管理新闻栏目:新开新闻栏目、删除新闻栏目、合并新闻栏目、更改新闻栏目的基本信息;(2分)

(11)用户管理:管理员可以查询用户、批准新用户、暂停用户、为用户赋予角色,普通用户可以修改用户资料。(2分)

2.1,2.2 评分标准:以上各项分值为页面要求和功能要求,各项分值合计(24分);除此以外设计出合理的数据库和数据表(3分),数据库连接正常(2分),设计出用户权限管理(6分)。

2.3 网站发布

(1)网站制作完成后需指定一台机器作为服务器发布。

(2)在其他主机上可正常浏览。

评分标准:能够在Tomcat服务器中正确部署(3分),其它主机可正常浏览(2分);

 

2.4 注意事项

(1)网站首页(登录页) 统一使用index.*命名。(*表示源文件的后缀名)。

(2)请选手填写以下表格:

网站文件路径

 

网站数据库名称

 

角色名

登录名

密码

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

package action;

import java.util.List;
import java.io.IOException;
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 entitiy.Work;
import service.WorkService;
import service.WorkServiceImpl;

/**

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

/**
* @see HttpServlet#HttpServlet()
*/
public WorkAction() {
super();
// TODO Auto-generated constructor stub
}

/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
WorkService workService = null;
workService =new WorkServiceImpl();
List<Work> workList = workService.getAllWork();
request.setAttribute("workList", workList);
request.getRequestDispatcher("index.jsp").forward(request, response);

response.getWriter().append("Served at: ").append(request.getContextPath());
}

/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}

}

 

package dao;

import java.util.List;

import entitiy.Work;

public interface WorkDao {
public List<Work> getAllWork();
}

 

 

package dao;

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

import entitiy.Work;

public class WorkDaoImpl implements WorkDao{
private Connection conn = null;
private Statement ConnManager;

public List<Work> getAllWork() {
// TODO Auto-generated method stub
List<Work> workList = new ArrayList<Work>();
try {
conn = ConnManager.getConnection();
String sql="Select* form work";

PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
while(rs.next()) {
Work w=new Work();
w.setSno(rs.getInt("sno"));
w.setName(rs.getString("name"));
w.setBirt(rs.getDate("biet"));
workList.add(w);
}
rs.close();
ps.close();
conn.close();
}catch(Exception e) {
e.printStackTrace();
}





return workList;
}

}

 

 

package entitiy;

import java.sql.Date;

public class Work {
private Integer sno;
private String name;
private Date birt;
public Integer getSno() {
return sno;
}
public void setSno(Integer sno) {
this.sno = sno;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Date getBirt() {
return birt;
}
public void setBirt(Date birt) {
this.birt = birt;
}
}

 

 

package service;

import java.util.List;

import entitiy.Work;

public interface WorkService {
public List<Work> getAllWork();
}

 

package service;

import java.util.List;

import dao.WorkDao;
import dao.WorkDaoImpl;
import entitiy.Work;

public class WorkServiceImpl implements WorkService {


private WorkDao workDao = null;
public List<Work> getAllWork() {
workDao =new WorkDaoImpl();
List<Work>workList = workDao.getAllWork();
// TODO Auto-generated method stub
return null;
}

}

 

package 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;
public class util1 {
public static Connection getConnection() throws ClassNotFoundException, SQLException {
Connection connection = null;//连接数据库
Statement stmt = null;//Statement 对象用于将 SQL 语句发送到数据库中。
ResultSet rs = null;
//1. 导入驱动jar包
//2.注册驱动
Class.forName("com.mysql.jdbc.Driver");
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test123", "root", "yxs17717111701");

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();
}
}
}

 

标签:栏目,java,新闻,试卷,测试,sql,import,public
From: https://www.cnblogs.com/yvxiaoshuai/p/17144661.html

相关文章

  • 分层测试(四):集成测试
    分层测试系列文章https://www.cnblogs.com/yuxiuyan/tag/分层测试/1.什么是集成测试集成测试是在模块接口的基础上,将所有涉及模块按照设计要求(比如根据架构图)组装成子......
  • 2023年十款开源测试开发工具推荐(自动化、性能、造数据、流量复制)
    1、AutoMeter-API自动化测试平台AutoMeter是一款针对分布式服务,微服务API做功能和性能一体化的自动化测试平台,一站式提供发布单元,API,环境,用例,前置条件,场景,计划,报告等......
  • HarmonyOS Connect认证测试
     在HarmonyOSConnect生态产品的认证测试过程中,你是否存在这些疑问:认证流程具体包括哪些操作环节?如何根据实际场景选择合适的认证方式?如何选择认证测试标准的版本……......
  • 分层测试(六):UI测试
    分层测试系列文章https://www.cnblogs.com/yuxiuyan/tag/分层测试/1.什么是UI测试UI测试是通过测试产品的视觉元素来验证产品功能和性能的测试技术。视觉元素的范围......
  • 软件测试人员必须掌握的测试用例
    测试用例(TestCase)是为特定的目的而设计的一组测试输入、执行条件和预期结果的文档。它的作用其实就是为了测试是否满足某个特定需求。测试用例是指导测试工作进行的......
  • 怎么用思维导图设计软件测试用例
    思维导图也叫脑图,本来是为了做头脑风暴用的,用它来写用例完全是借助这个工具本身的功能而已。所以最初我们并没有明确规定导图的使用格式,只要是可以快速进行需求的拆解,......
  • 关于目前chatGPT写代码问题,随手测试了一下
    他们都说chatGPT写代码很厉害,我就随手一测,其实源码本身不太重要,我就不上源码了:  (源码:略)  (源码:略)  (源码:略)  (源码:略)  (源码:略)  (源码:略)到最终,其......
  • Android单元测试
    什么是单元测试?单元测试就是针对类中的某一个方法进行验证是否正确的过程,单元就是指独立的粒子,在Android和Java中大都是指方法。为什么要进行单元测试?使用单元测试可以提高......
  • 测试
    github访问总是不稳定,尤其是下载releases和浏览raw的时候有人搭建了一个貌似是反向代理github的网站,速度还可以,相比于其他方法更加简单只需要把页面url的github改成githu......
  • 芯片cp测试和ft测试
    CP是ChipProbe的缩写,指的是芯片在wafer的阶段,就通过探针卡扎到芯片管脚上对芯片进行性能及功能测试,有时候这道工序也被称作WS(WaferSort)。FT是FinalTest的缩写,指的是芯......