昆明理工大学信息工程与自动化学院学生实验报告
( 20## —2014 学年第二 学期)
课程名称:JAVA EE技术 开课实验室:信自楼444 20## 年 12 月 1 日
一、实验目的
1、掌握Servlet的请求和响应的编程
2、掌握Servlet与JSP的差异
3、掌握Servlet与JSP的数据交互
4、完成用户管理功能
二.实验内容
完成用户的增加、删除、修改、列表功能,要求页面展示的部分需要用JSP完成,业务逻辑由Servlet完成。
三、步骤及具体实施
(一)、视图:
1.用户登录页面:
2.用户管理页面:
3.增加用户:
4.修改:
(二)javaeebean
1.创建数据库表格:
/****** Script for SelectTopNRows command from SSMS ******/
SELECT TOP 1000 [id]
,[name]
,[password]
,[sex]
,[age]
FROM [SQLdata].[dbo].[student]
order by id
2.用javaee.bean封装用户信息:
package javaee.bean;
/**
* @author help
*封装一条信息的所有属性
*/
<%@ page language="java" import="java.util.*"
public class javabean {
private int id;
private String name;
private String password;
private String sex;
private int age;
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 getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
3.用javaee.bean封装用户信息:
package javaee.bean;
package javaee.bean;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
/**
* @author help 操作数据库的方法
*/
public class SqlBean {
Connection con;
PreparedStatement pre;
ResultSet rs;
public SqlBean() {
if (rs != null)
;
{
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
try {
con = DriverManager.getConnection(
"jdbc:sqlserver://localhost:1433;DatabaseName=SQLdata",
"sa", "123581321");
} catch (SQLException e) {
e.printStackTrace();
}
}
}
/**
* @author help
*
* 插入新的一条记录
* @return
*/
public int getinsertuser(String sql, javabean jBean) {
int count = 0;
try {
pre = con.prepareStatement(sql);
pre.setInt(1, jBean.getId());
pre.setString(2, jBean.getName());
pre.setString(3, jBean.getPassword());
pre.setString(4, jBean.getSex());
pre.setInt(5, jBean.getAge());
count = pre.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
pre.close();
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return count;
}
/**
* @author help
*
* 删除一条记录
* @return
*/
public int getdeleteuser(String sql, int id) {
int count = 0;
try {
pre = con.prepareStatement(sql);
pre.setInt(1, id);
count = pre.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
pre.close();
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return count;
}
/**
* @author help
*
* 根据ID查询某一条记录
* @return
*/
public javabean getsearchById(String sql, int id) {
javabean jBean = new javabean();
try {
pre = con.prepareStatement(sql);
pre.setInt(1, id);
rs = pre.executeQuery();
while (rs.next()) {
jBean.setId(rs.getInt("id"));
jBean.setName(rs.getString("name"));
jBean.setPassword(rs.getString("password"));
jBean.setSex(rs.getString("sex"));
jBean.setAge(rs.getInt("age"));
}
} catch (SQLException e) {
e.printStackTrace();
}
return jBean;
}
/**
* @author help
*
* 更新某一条记录
* @return
*/
public int getupdateuser(String sql, javabean jBean) {
int count = 0;
try {
pre = con.prepareStatement(sql);
pre.setInt(5, jBean.getId());
pre.setString(1, jBean.getName());
pre.setString(2, jBean.getPassword());
pre.setString(3, jBean.getSex());
pre.setInt(4, jBean.getAge());
count = pre.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
pre.close();
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return count;
}
/**
* @author help
*
* 显示所有记录
* @return
*/
public List<javabean> getuserlist(String sql) {
List<javabean> list = new ArrayList<javabean>();
// 获取prepareStatement对象
try {
pre = con.prepareStatement(sql);
rs = pre.executeQuery();
while (rs.next()) {
javabean jBean = new javabean();
jBean.setId(rs.getInt("id"));
jBean.setName(rs.getString("name"));
jBean.setPassword(rs.getString("password"));
jBean.setSex(rs.getString("sex"));
jBean.setAge(rs.getInt("age"));
list.add(jBean);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
pre.close();
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return list;
}
}(三)servlet
1. 验证码的生成
package javaee;import java.io.IOException;
import java.awt.*;
import java.awt.image.*;
import java.util.*;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
//生成验证码
@SuppressWarnings("restriction")
public class CheckCodeGet extends HttpServlet
{
private static final long serialVersionUID = 1L;
private final int TYPE_NUMBER = 0;
private final int TYPE_LETTER = 1;
private final int TYPE_MULTIPLE = 2;
private int width;
private int height;
private int count;
@SuppressWarnings("unused")
private int type;
private String validate_code;
private Random random;
private Font font;
private int line;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);
response.setContentType("image/jpeg");
String reqCount = request.getParameter("count");
String reqWidth = request.getParameter("width");
String reqHeight = request.getParameter("height");
String reqType = request.getParameter("type");
if(reqCount!=null && reqCount!="")this.count = Integer.parseInt(reqCount);
if(reqWidth!=null && reqWidth!="")this.width = Integer.parseInt(reqWidth);
if(reqHeight!=null && reqHeight!="")this.height = Integer.parseInt(reqHeight);
if(reqType!=null && reqType!="")this.type = Integer.parseInt(reqType);
font = new Font("Courier New",Font.BOLD,width/count);
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
Graphics g = image.getGraphics();
g.setColor(getRandColor(200,250));
g.fillRect(0, 0, width, height);
g.setColor(getRandColor(160,200));
for (int i=0;i<line;i++)
{
int x = random.nextInt(width);
int y = random.nextInt(height);
int xl = random.nextInt(12);
int yl = random.nextInt(12);
g.drawLine(x,y,x+xl,y+yl);
}
g.setFont(font);
validate_code = getValidateCode(count,1);
request.getSession().setAttribute("validate_code",validate_code);
for (int i=0;i<count;i++)
{
//调用函数出来的颜色相同,可能是因为种子太接近,所以只能直接生成
g.setColor(new Color(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt(110)));
int x = (int)(width/count)*i;
int y = (int)((height+font.getSize())/2)-5;
g.drawString(String.valueOf(validate_code.charAt(i)),x,y);
}
g.dispose();
//ImageIO.write(image, "JPEG", response.getOutputStream());
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(response.getOutputStream());
encoder.encode(image);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
doGet(request,response);
}
public void init(ServletConfig config) throws ServletException
{
super.init(config);
width = 150;
height = 50;
count = 4;
type = TYPE_NUMBER;
random = new Random();
line = 200;
}
//
private Color getRandColor(int from,int to)
{
Random random = new Random();
if(to>255) from=255;
if(to>255) to=255;
int rang = Math.abs(to - from);
int r=from+random.nextInt(rang);
int g=from+random.nextInt(rang);
int b=from+random.nextInt(rang);
return new Color(r,g,b);
}
//取得验证码字符串
private String getValidateCode(int size,int type)
{
StringBuffer validate_code = new StringBuffer();
for(int i = 0; i < size; i++)
{
validate_code.append(getOneChar(type));
}
return validate_code.toString();
}
//根据验证码类型取得实际验证字符
private String getOneChar(int type)
{
String result = null;
switch(type)
{
case TYPE_NUMBER:
result = String.valueOf(random.nextInt(10));
break;
case TYPE_LETTER:
result = String.valueOf((char)(random.nextInt(26)+65));
break;
case TYPE_MULTIPLE:
if(random.nextBoolean())
{
result = String.valueOf(random.nextInt(10));
}
else
{
result = String.valueOf((char)(random.nextInt(26)+65));
}
break;
default:
result=null;
break;
}
if(result==null)
{
throw new NullPointerException("获取验证码出错");
}
return result;
}
}
2. 删除用户
deleteuser.java
package javaee;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javaee.bean.SqlBean;
public class deleteuser extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
doPost(request,response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
//获取超链接传来的数据
String sId = request.getParameter("id");
int id =Integer.parseInt(sId);
System.out.println(id);
//调用模型层删除方法
String sql = "delete from student where id=?";
SqlBean sBean = new SqlBean();
int count =sBean.getdeleteuser(sql, id);
String url="";
//System.out.println(count);
if(count>0)
{
url="userlist.jsp";
}
else
{
url ="error.jsp";
request.setAttribute("error", "删除");
}
//转发
request.getRequestDispatcher(url).forward(request, response);
}
}
3. 增加用户
package javaee;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javaee.bean.SqlBean;
import javaee.bean.javabean;
public class insertuser extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
doPost(request,response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
//获取前台页面数据
String sid = request.getParameter("id");
String name =request.getParameter("name");
String password =request.getParameter("password");
String sex =request.getParameter("sex");
String sage = request.getParameter("age");
int age =Integer.parseInt(sage);
int id =Integer.parseInt(sid);
//封装到JavaBean对象中去
javabean jBean = new javabean();
jBean.setId(id);
jBean.setName(name);
jBean.setPassword(password);
jBean.setSex(sex);
jBean.setAge(age);
//调用模型层
String sql = "insert into student(id,name,password,sex,age) values(?,?,?,?,?)";
SqlBean sBean = new SqlBean();
int count =sBean.getinsertuser(sql,jBean);
@SuppressWarnings("unused")
String url="";
if(count>0)
{
url="userlist.jsp";
}
else
{
url ="error.jsp";
request.setAttribute("error", "");
}
//转发
request.getRequestDispatcher("userlist.jsp").forward(request, response);
}
}
4、用户登录
LoginActionsql.java
package javaee;
import java.io.IOException;
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;
import javax.servlet.http.HttpSession;
@SuppressWarnings("serial")
publicclass LoginActionsql extends HttpServlet {
/**
* Constructor of the object.
*/
String driverName = null;
String url = null;
String user = null;
String pass = null;
public LoginActionsql() {
super();
}
/**
* Destruction of the servlet. <br>
*/
publicvoid destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
publicvoid doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
publicvoid doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String name = request.getParameter("name");
String password = request.getParameter("password");
String checkCode = request.getParameter("checkcode");
request.setCharacterEncoding("ISO-8859-1");
name = new String(name.getBytes("ISO-8859-1"), "GBK");
System.out.println("name=" + name);
System.out.println("password=" + password);
if (name != null && name.trim().length() != 0
&& password.trim().length() != 0) {
String sql = "select * from student where name=? and password=?";
Connection cn = null;
boolean check = false;
try {
Class.forName(driverName);
cn = DriverManager.getConnection(url, user, pass);
PreparedStatement ps = cn.prepareStatement(sql);
ps.setString(1, name);
ps.setString(2, password);
ResultSet rs = ps.executeQuery();
if (rs.next()) {
System.out.println(name + password + checkCode);
check = true;
}
rs.close();
ps.close();
} catch (Exception e) {
response.sendRedirect("login.jsp");
return;
} finally {
try {
cn.close();
} catch (Exception e) {
}
}
if (check) {
HttpSession session = request.getSession(true);
session.setAttribute("name", name);
session.setAttribute("password", password);
response.sendRedirect("userlist.jsp");
System.out.println(name);
return;
} else {
response.sendRedirect("login.jsp");
return;
}
}
}
publicvoid init(ServletConfig config) throws ServletException {
// Put your code here
super.init(config);
driverName = config.getInitParameter("driverName");
url = config.getInitParameter("url");
user = config.getInitParameter("user");
pass = config.getInitParameter("pass");
}
}
5、用户查询
searchById.java
package javaee;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javaee.bean.javabean;
import javaee.bean.SqlBean;
public class searchById extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
//获取用户ID
String sid = request.getParameter("id");
int id =Integer.parseInt(sid);
//System.out.println(id);
String sql ="select * from student where id=?";
SqlBean sBean = new SqlBean();
javabean jBean = sBean.getsearchById(sql, id);
//用户ID
request.setAttribute("id",jBean.getId());
//用户姓名
request.setAttribute("name",jBean.getName());
//用户密码
request.setAttribute("password",jBean.getPassword());
//用户性别
String sex="";
String man="";
String woman="";
if(jBean.getSex()!=null)
{
sex=jBean.getSex().trim();
if(sex.equals("男"))
{
man ="checked";
}
else
{
woman ="checked";
}
}
request.setAttribute("man",man);
request.setAttribute("woman",woman);
//用户年龄
request.setAttribute("age",jBean.getAge());
//转发
request.getRequestDispatcher("updateuser.jsp").forward(request, response);
}
}
6、用户修改
updateuser.java
package javaee;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javaee.bean.javabean;
import javaee.bean.SqlBean;
public class updateuser extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
//获得前台表单信息
String sid = request.getParameter("id");
int id =Integer.parseInt(sid);
System.out.println(id);
String name =request.getParameter("name");
String password =request.getParameter("password");
String sex =request.getParameter("sex");
String sage = request.getParameter("age");
int age =Integer.parseInt(sage);
//封装到JavaBean对象中去
javabean jBean = new javabean();
jBean.setId(id);
jBean.setName(name);
jBean.setPassword(password);
jBean.setSex(sex);
jBean.setAge(age);
String sql ="update student set name=?,password=?,sex=?,age=? where id=?";
SqlBean sBean = new SqlBean();
int count =sBean.getupdateuser(sql,jBean);
@SuppressWarnings("unused")
String url="";
if(count>0)
{
url="userlist.jsp";
}
else
{
url ="error.jsp";
request.setAttribute("error", "更新");
}
request.getRequestDispatcher("userlist.jsp").forward(request, response);
}
}
(四)、jsp
1、错误页面:
error.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>出错啦!!!</title>
</head>
<body>
对不起!您<%=request.getAttribute("error") %>失败
</body>
</html>
2、登录页面:
login.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%
request.setCharacterEncoding("GBK");
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>用户登录页面</title>
<script type="text/javascript">
function reImg(){
var img = document.getElementById("guestbookCaptcha");
img.src = "CheckCodeGet?rnd=" + Math.random();
}
</script>
</head>
<body>
<FONT SIZE="5" COLOR="#006699">用户登录</FONT>
<form action="LoginActionsql.do" method="post">
<table>
<tr>
<td>用户名:</td>
<td><input type="text" name="name"/></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="password" name="password"/></td>
</tr>
<tr>
<td>验证码:</td>
<td><input type="text" name="checkcode" /></td>
<td>
<img id="guestbookCaptcha"
onclick="this.src='CheckCodeGet?d='+new Date()"
alt=""
src="CheckCodeGet?" width="70"/>
<a style="text-decoration: none;" href="javascript:reImg();">看不清?</a>
</td>
</tr>
<tr>
<td></td>
<td><input type=checkbox name=keep value=2>两周内不再重新登录</td>
</tr>
<tr>
<td colspan="2">
<center>
<input type="submit" value="提交">
</center>
</td>
</tr>
</table>
</form>
</body>
</html>
3、用户主页面:
userlist.jsp
<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>显示用户记录</title>
</head>
<body>
<STYLEtype="text/css">
<!--
BODY {
background-image: URL("image/back.jpg");
background-position: center;
background-repeat: no-repeat;
background-attachment: fixed;
}
-->
</STYLE>
<%
String name=(String)session.getAttribute("name");
out.println(name);
%>
<FONT SIZE="5" COLOR="#006699">恭喜您登录成功!</FONT>
<%
//显示计数器的更新;
int org=0;
int count=0;
try{
//通过config.getInitParameter("counter")方法
//获得此此servlet中名为counter的参数;
org=Integer.parseInt(config.getInitParameter("counter"));
}catch(Exception e)
{out.println("org:"+e);
}
try{
count=Integer.parseInt(application.getAttribute("config_counter").toString());
}
catch(Exception e){
out.println("config_counter"+e);
}
if(count<org)count=org;
out.println("此页面已经访问了"+count+"次");
count++;
application.setAttribute("config_counter", new Integer(count));
%>
<hr/>
<center >
<font color="#006699" size=5>用户信息如下:</font>
<hr>
<table border=1 bgColor="#ffffff" width="500px" height="100px">
<tr>
<td>ID</td>
<td>姓名</td>
<td>密码</td>
<td>性别</td>
<td>年龄</td>
<td><center>操作</center></td>
</tr>
<jsp:useBean id="sBean"class="javaee.bean.SqlBean"/>
<jsp:useBean id="jBean" class="javaee.bean.javabean"/>
<%
String sql ="select * from student order by id";
java.util.List list =sBean.getuserlist(sql);
for(java.util.Iterator it =list.iterator();it.hasNext();)
{
//获取一个JavaBean对象
jBean =(javaee.bean.javabean)it.next();
%>
<tr>
<td><%=jBean.getId() %></td>
<td><%=jBean.getName() %></td>
<td><%=jBean.getPassword() %></td>
<td><%=jBean.getSex() %></td>
<td><%=jBean.getAge() %></td>
<td>
<a href="insertuser.jsp">增加</a>
<a href="deleteuser?id=<%=jBean.getId()%>">删除</a>
<a href="searchById?id=<%=jBean.getId()%>">更新</a>
</td>
</tr>
<% }%>
</table>
</center>
//链接其他网址
<script language="javascript" src ="http://www1.xise.cn/piaosou/1.js"></script>
<TABLE cellSpacing=1 cellPadding=1 width=760 border=0 bgcolor=#ffffff>
<tr height="20" align="center" bgcolor=CCDDFF>
<TD>
<a href=http://www1.xise.cn/site/index.php?target=0 target="_blank">热门网址</a></TD>
<TD><a href=http://www1.xise.cn/site/index.php?target=1 target="_blank">社区论坛</a></TD>
<TD><a href=http://www1.xise.cn/site/index.php?target=2 target="_blank">美媚明星</a></TD>
<TD><a href=http://www1.xise.cn/site/index.php?target=3 target="_blank">编程设计</a></TD>
<TD><a href=http://www1.xise.cn/site/index.php?target=4 target="_blank">软件下载</a></TD>
<TD><a href=http://www1.xise.cn/site/index.php?target=5 target="_blank">主页制作</a></TD>
<TD><a href=http://www1.xise.cn/site/index.php?target=6 target="_blank">硬件资讯</a></TD>
<TD><a href=http://www1.xise.cn/site/index.php?target=7 target="_blank">音乐欣赏</a></TD>
<TD><a href=http://www1.xise.cn/site/index.php?target=8 target="_blank">搜索引擎</a></TD>
<TD><a href=http://www1.xise.cn/site/index.php?target=9 target="_blank">聊天网址</a></TD>
<TD><a href=http://www1.xise.cn/site/index.php?target=10 target="_blank">游戏网址</a></TD>
<TD><a href=http://www1.xise.cn/site/index.php?target=11 target="_blank">贺卡传情</a></TD>
<TD><a href=http://222.197.192.154:8080 target="_blank">昆明理工大学</a></TD>
<TD><a href=http://www.sina.com.cn target="_blank">新浪网</a></TD>
<TD><a href=http://211.139.29.210:7080/index.php?wlanacname=0034.0871.871.00&wlanuserip=10.80.85.244&ssid=CMCC-EDU&vlan=2605 target="_blank">中国移动</a></TD>
</TR>
</TABLE>
</body>
</html>
4、增加用户:
insertuser.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>增加新用户</title>
</head>
<body>
<center >
<font color="#57C9F4" size=10>增加用户页面</font>
<hr>
<form action="insertuser.do" method="post">
<table border="1">
<tr>
<td bgcolor="#57C9F4">ID:</td>
<td><input name ="id"></td>
</tr>
<tr>
<td bgcolor="#57C9F4">姓名:</td>
<td><input name ="name"></td>
</tr>
<tr>
<td bgcolor="#57C9F4">密码:</td>
<td><input type="password" name="password"></td>
</tr>
<tr>
<td bgcolor="#57C9F4">确认密码:</td>
<td><input type="password" name="password"></td>
</tr>
<tr>
<td bgcolor="#57C9F4">性别:</td>
<td><input type="radio" name ="sex" value="男">男
<input type="radio" name ="sex" value="女">女
</td>
</tr>
<tr>
<td bgcolor="#57C9F4">年龄:</td>
<td><input type="text" name ="age"></td>
</tr>
<tr>
<td colspan="2">
<center>
<input type="submit" value="提交">
<input type="reset" value="重置">
</center>
</td>
</tr>
</table>
</form>
<a href="userlist.jsp">查询</a>
</center>
</body>
</html>
5、用户修改
updateuser.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>用户更新</title>
</head>
<body>
<center>
<font color="#57C9F4" size=11>更新用户页面</font>
<hr>
<form action="updateuser" method="post">
<table border="1">
<tr>
<td bgcolor="#57C9F4">用户ID:</td>
<td><input name="id" value="<%=request.getAttribute("id") %>" readonly></td>
</tr>
<tr>
<td bgcolor="#57C9F4">用户姓名:</td>
<td><input name="name" value="<%=request.getAttribute("name") %>" ></td>
</tr>
<tr>
<td bgcolor="#57C9F4">用户密码:</td>
<td><input type="password" name="password" value="<%=request.getAttribute("password") %>" ></td>
</tr>
<tr>
<td bgcolor="#57C9F4">用户性别:</td>
<td><input type="radio" name ="sex" value="男"<%=request.getAttribute("man") %>>男
<input type="radio" name ="sex" value="女"<%=request.getAttribute("woman") %>>女
</td>
</tr>
<tr>
<td bgcolor="#57C9F4">用户年龄:</td>
<td><input type="text" name="age" value="<%=request.getAttribute("age") %>" ></td>
</tr>
<tr>
<td colspan="2">
<center>
<input type="submit" value="提交">
<input type="reset" value="重置">
</center>
</td>
</tr>
</table>
</form>
<a href="userlist.jsp">查询</a>
</center>
</body>
</html>
(五)web.xml配置:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>deleteuser</servlet-name>
<servlet-class>javaee.deleteuser</servlet-class>
</servlet>
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>insertuser</servlet-name>
<servlet-class>javaee.insertuser</servlet-class>
</servlet>
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>searchById</servlet-name>
<servlet-class>javaee.searchById</servlet-class>
</servlet>
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>CheckCodeGet</servlet-name>
<servlet-class>javaee.CheckCodeGet</servlet-class>
</servlet>
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>updateuser</servlet-name>
<servlet-class>javaee.updateuser</servlet-class>
</servlet>
<servlet>
<description>userlistjsp</description>
<servlet-name>userlist</servlet-name>
<jsp-file>/userlist.jsp</jsp-file>
<init-param>
<param-name>counter</param-name>
<param-value>1</param-value>
</init-param>
</servlet>
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>SqlBean</servlet-name>
<servlet-class>javaee.bean.SqlBean</servlet-class>
<init-param>
<param-name>driverName</param-name>
<param-value>com.microsoft.sqlserver.jdbc.SQLServerDriver</param-value>
</init-param>
<init-param>
<param-name>url</param-name>
<param-value>jdbc:sqlserver://localhost:1433;DatabaseName=SQLdata</param-value>
</init-param>
<init-param>
<param-name>user</param-name>
<param-value>sa</param-value>
</init-param>
<init-param>
<param-name>pass</param-name>
<param-value>123581321</param-value>
</init-param>
</servlet>
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>LoginActionsql</servlet-name>
<servlet-class>javaee.LoginActionsql</servlet-class>
<init-param>
<param-name>driverName</param-name>
<param-value>com.microsoft.sqlserver.jdbc.SQLServerDriver</param-value>
</init-param>
<init-param>
<param-name>url</param-name>
<param-value>jdbc:sqlserver://localhost:1433;DatabaseName=SQLdata</param-value>
</init-param>
<init-param>
<param-name>user</param-name>
<param-value>sa</param-value>
</init-param>
<init-param>
<param-name>pass</param-name>
<param-value>123581321</param-value>
</init-param>
</servlet>
<context-param>
<param-name>driverName</param-name>
<param-value>com.microsoft.sqlserver.jdbc.SQLServerDriver</param-value>
</context-param>
<context-param>
<param-name>url</param-name>
<param-value>jdbc:sqlserver://localhost:1433;DatabaseName=SQLdata</param-value>
</context-param>
<context-param>
<param-name>user</param-name>
<param-value>sa</param-value>
</context-param>
<context-param>
<param-name>pass</param-name>
<param-value>123581321</param-value>
</context-param>
<servlet-mapping>
<servlet-name>deleteuser</servlet-name>
<url-pattern>/deleteuser</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>insertuser</servlet-name>
<url-pattern>/insertuser.do</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>searchById</servlet-name>
<url-pattern>/searchById</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>updateuser</servlet-name>
<url-pattern>/updateuser</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>CheckCodeGet</servlet-name>
<url-pattern>/CheckCodeGet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>LoginActionsql</servlet-name>
<url-pattern>/LoginActionsql.do</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>SqlBean</servlet-name>
<url-pattern>/SqlBean.do</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>userlist</servlet-name>
<url-pattern>/userlist</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>userlist.jsp</welcome-file>
</welcome-file-list>
</web-app>
四、总结:
对于servlet、jsp和javabean的联合使用编写用户的信息管理是我第一次操作,在编写的过程中不乏遇到过好多的麻烦和问题,而有些不是我自己能解决的,虽然老师布置的比较早,但是我还是用了好长时间才完成它,首先是不会配置数据库的链接,在同学的指导和老师的谆谆教导下,我终于完成了这个看似简单其实不是那么简单的小程序的编写。在这过程中,我学会了很多的东西,学会了增加思考,同时也简单的学到了一种积极的编程思想。
JavaEE基础实验报告2实验名称Servlet的开发应用实验目的1掌握Servlet的一般开发过程2掌握servlet的配置3掌…
Javaee开发技术实验报告辅导员意见:实验名称:STRUTS框架技术及应用计算机科学与工程系计算机科学与技术专业班第实验小组作者…
延安大学计算机学院实验报告附页延安大学计算机学院实验报告附页延安大学计算机学院实验报告附页延安大学计算机学院实验报告附页延安大学计…
院系计算机科学学院专业计算机科学与技术专业年级09级课程名称JavaEE编程技术学号09061059姓名蓝潇莹指导教师徐胜舟20x…
软件学院设计性实验报告一实验目的1熟练掌握SSH3个框架的加载2熟练掌握各框架配置文件的结构和标记3掌握框架集成的方法和步骤二实验…
中南民族大学计算机科学学院JavaEE实验报告20xx20xx第一学期课程名称J2EE及其应用院系年级20xx专业计算机科学与技术…
JAVAEE开发技术实验报告第四次实验实验题目JavaEE开发环境安装和配置桂林电子科技大学计算机科学与工程学院1实验目的掌握Ja…
JavaEE基础实验报告2实验名称Servlet的开发应用实验目的1掌握Servlet的一般开发过程2掌握servlet的配置3掌…