没有合适的资源?快使用搜索试试~ 我知道了~
Java EE 实验二Servlet程序设计.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 129 浏览量
2022-06-11
00:02:00
上传
评论
收藏 1.29MB DOC 举报
温馨提示
试读
40页
Java EE 实验二Servlet程序设计
资源推荐
资源详情
资源评论
昆明理工大学信息工程与自动化学院学生实验报告
( 201 — 201 学年 第 一 学期 )
课程名称:JAVA EE 技术 开课实验室: 年 月 日
年级、专业、
班
学号
姓名
成绩
实验项目名称 实验二 Servlet 程序设计 指导教师
教
师
评
语
教师签名:
年 月 日
一、实验目的
通过上机,熟练掌握 servlet 编程、过滤器、监听器的编程。
二、内容及要求
1、上机内容:
编写 index.jsp,里面包含注册、显示数据清单、写入图片、显示图片的连接。
当用户选择注册时,首先进行客户端 ip 地址是否是黑名单的检测,如果不是则
转到注册页面;
在显示所有的数据清单的页面中增加一个链接,仿照例题编写输出为 EXCEL
的 servlet,点击时链接时执行它。
实现给数据表中的 photo 列写入图片,图片文件直接放在服务器上。
实现按输入的编号显示对应的图片。
实现登录,在登录界面中生成验证码(验证码不出现数字 4,字母O和数字0等
-1-
容易混淆的符号,且验证时不区分大小写)。
登录成功则转到 main.jsp,显示网站的在线用户人数、当前用户、点击率、在
线用户列表。
通过过滤器实现登录过滤检查,不允许用户直接请求 main 等其他页面;通过=
过滤器给所有的页面底部加上“昆明理工大学计算机系”+班级+学号+姓名
用监听器实现实现网站所有网页的访问次数累计,在线用户数统计、在现用户
列表更新。
三、步骤及具体实施
1、简要描述程序的开发流程、文件部署截图、及各种配置;
这次实验的内容有一部分是将之前做过的几个功能合并起来,并加上过
滤器等功能。我建了一个 Web Project 是 myWebsite, 因为项目也不太大,
文件也不算太多,我就将它们放在一个包里面,然后在配置文件 web.xml 中
分别对它们进行配置。具体配置见代码部分 web.xml。下面是这个项目的文
件部署:
-2-
2、程序代码
以下为 servlet 的代码,jsp 页面代码见项目文件中。
IPCheck:
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//客户 IP 检查 Servlet
public class IPCheck extends HttpServlet
{
//定义数据库连接对象
private Connection cn=null;
private String driverName=null;//数据库驱动器
private String url=null;//数据库地址 URL
private String user=null;
private String password=null;
private ServletConfig config;
//初始化方法,取得数据库连接对象
public void init(ServletConfig config) throws ServletException
{
this.config=config;
super.init(config);
driverName=config.getInitParameter("driverName");
url=config.getInitParameter("url");
user=config.getInitParameter("user");
password=config.getInitParameter("password");
try
{
Class.forName(driverName);
cn=DriverManager.getConnection(url,user,password);
}
catch(Exception e)
{
System.out.println("取得数据库连接错误:"+e.getMessage());
}
-3-
}
//GET 请求
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
boolean isLocked=false;
String ip=request.getRemoteAddr();
System.out.println(ip);
String sql="select * from LimitIP where IP=?";
try
{
PreparedStatement ps=cn.prepareStatement(sql);
ps.setString(1, ip);
ResultSet rs=ps.executeQuery();
// excuteUpdate()
if(rs.next())
{
isLocked=true;//如果 IP 在数据表中则表示被封杀
}
rs.close();
ps.close();
if(isLocked)
{
//如果 IP 被封杀,自动跳转到封杀信息页面
response.sendRedirect("errorInfo.jsp");
}
else
{
//如果 IP 允许访问,则可以跳转到主页面
response.sendRedirect("register.jsp");
}
}
catch(Exception e)
{
System.out.println("检查 IP 是否封杀错误:"+e.getMessage());
response.sendRedirect("main.jsp");
}
}
//POST 请求处理
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
doGet(request,response);
}
//销毁方法
-4-
public void destroy()
{
super.destroy();
try
{
cn.close();
}
catch(Exception e)
{
System.out.println("关闭数据库错误:"+e.getMessage());
}
}
}
ListExcel:
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.*;
import javax.servlet.*;
import java.sql.*;
public class ListExcel extends HttpServlet {
private Connection cn=null;
public void init() throws ServletException
{
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
cn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=jee","sa","930618");
}catch(Exception e){
System.out.println("取得数据库连接错误:"+e.getMessage());
}
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String sql="select * from course";
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("GBK");
PrintWriter out = response.getWriter();
out.println("<h1>计算机专业课程</h1>");
out.println("<table border='1'>");
-5-
剩余39页未读,继续阅读
资源评论
oligaga
- 粉丝: 52
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功