JSP编程实验

一、实验目的

练习JSP编程

二、实验相关技术

JSP编程开发技术

三、实验内容

编写registor.jsp,record.jsp,index.jsp,
分别完成录入用户信息、接收显示用户信息并用session存储新注册的用户名、提取新注册用户并显示。
registor.jsp中录入用户信息,综合使用表单的功能:
form标记(表单采用POST方法发送)
text:用户名、口令
radio按钮:性别
select:出生年月、所在地 其中会使用到option标记
checkbox:选择兴趣
textarea:自我介绍
按钮:提交和重新输入
处理registor.jsp提交Action的jsp为record.jsp, record.jsp接收text、textarea、radio、select的数据,并显示出来(注意汉字问题)。
record.jsp中用session存储新注册的用户名。
record.jsp包含返回首页index.jsp的超链接
index.jsp中用session提取新注册用户并显示

四、实验步骤和结果

1、项目初始页面

在这里插入图片描述

输入相应信息后

在这里插入图片描述

点击注册按钮后

在这里插入图片描述

点击链接返回首页后

在这里插入图片描述

五、完整源代码

注:只粘贴了body部分

registor.jsp
<body>
  <h3>
  	欢迎登陆!<br>
  </h3>
  <hr/>
  <form action="record.jsp" method="post" target="_blank">
  	请输入您的用户名:<input name="username" type="text"/><br/>
  	请选择您的性别:
  	<input name="sex" type="radio" value="女" checked><input name="sex" type="radio" value="男"><br/>
  	请选择您的出生年月日:
  	<select name="year">
  		<%	
  		for(int i=1975; i<=2022; i++){		%>
  			<option value="	<%=i%>	"> <%=i%> </option>
  	<%}%>
  	</select><select name="month">
  		<%	
  		for(int i=1; i<=12; i++){		%>
  			<option value=" <%=i%>	"> <%=i%> </option>
  	<%}%>
  	</select><select name="day">
  		<%	
  		for(int i=1; i<=30; i++){		%>
  			<option value="	<%=i%>	"> <%=i%> </option>
  	<%}%>
  	</select><br/>
  	请选择您的所在地:
  	<select name="located">
  		<option value="北京">北京</option>
  		<option value="天津">天津</option>
  		<option value="济南">济南</option>
  		<option value="长沙">长沙</option>
  		<option value="广州">广州</option>
  		<option value="上海">上海</option>
  		<option value="成都">成都</option>
  		<option value="武汉">武汉</option>
  	</select>
  	<br/>
  	请选择您的爱好:
  	<input name="hobby" type="checkbox" value="编程">编程
  	<input name="hobby" type="checkbox" value="网球">网球
  	<input name="hobby" type="checkbox" value="乒乓球">乒乓球
  	<input name="hobby" type="checkbox" value="跑步">跑步
  	<input name="hobby" type="checkbox" value="阅读">阅读
  	<input name="hobby" type="checkbox" value="喝酒">喝酒
  	<br/>
  	请写下您的自我介绍:
  	<textarea name="introduction" placeholder="说点什么..." rows="5" cols="25"></textarea>
  	<br/>
  	<input type="submit" value=" 点击注册 ">
  </form>
  </body>
record.jsp
<body>
  <h4>
  	&nbsp;&nbsp;&nbsp;提交时间:
  	<%
   		Date date = new Date();
   		out.print(date.toString());
	%>
  </h4>
  	<ul>
  	<li>
  	<%
    	String username = new String((request.getParameter("username")).getBytes("ISO-8859-1"),"UTF-8");//解决中文乱码
    	out.println("用户姓名:" + username);
    	
    	//session存储用户名
    	session.setAttribute("username",username);
  	 %>
  	</li>
  	<li>
  	<% 
    	String sex = new String((request.getParameter("sex")).getBytes("ISO-8859-1"),"UTF-8");
    	out.println("用户性别:" + sex);
  	%>
  	</li>
  	<li>
  	<% 
  		String[] birthday = new String[3];
    	birthday[0] = request.getParameter("year");
    	birthday[1] = request.getParameter("month");
    	birthday[2] = request.getParameter("day");
    	out.println("用户出生在:" + birthday[0] + "年" + birthday[1] + "月" + birthday[2] + "日");
  	%>
  	</li>
  	<li>
  	<% 
    	String position = new String((request.getParameter("located")).getBytes("ISO-8859-1"),"UTF-8");
    	out.println("用户所在地:" + position);
  	%>
  	</li>
  	<li>
  	<% 
  		//hobbys[0] = new String((request.getParameter("hobbys")).getBytes("ISO-8859-1"),"UTF-8");
  		String[] hobbys =  request.getParameterValues("hobby");
  		if(hobbys.length>0){
  			String a = "";
  			for(int i=0; i<hobbys.length; i++){	
  				hobbys[i] = new String((hobbys[i]).getBytes("ISO-8859-1"),"UTF-8");
  				a = a + hobbys[i];
  				
  				if(i == hobbys.length - 1){
  					a = a + "。";		//最后一个兴趣爱好加上句号
  				}else{
  					a = a + "、";
  				}
  			}
			out.println("用户兴趣爱好有:" + a);
  		}
		%>
  	</li>
  	<li>
  	<%
  		String introduction = new String((request.getParameter("introduction")).getBytes("ISO-8859-1"),"UTF-8");
  		//String introduction = request.getParameter("introduction");
  		out.println("用户自我介绍:" + introduction);
  	 %>
  	</li>
  	</ul>
  	&nbsp;&nbsp;&nbsp;<a href="index.jsp">点我返回首页</a>
  </body>
index.jsp
<body>
  <h2>
  	<%
  	String name = (String)session.getAttribute("username"); 
  	%>&nbsp;<%out.println("Hello!" + name + ",欢迎登陆系统!"); 
   %>
  </h2>
  </body>
  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
首先,需要在index.jsp判断用户是否已经登录。如果已经登录,则显示用户名和一个“用户信息”超链接,否则显示一个用户登录的超链接。 可以通过在session存储登录状态来判断用户是否已经登录。如果用户已经登录,则可以从session获取用户名并在显示。如果用户没有登录,则可以在显示一个登录超链接。 在index.jsp,可以使用JSTL标签库来判断用户是否已经登录,例如: ``` <c:if test="${sessionScope.username != null}"> <p>Welcome, ${sessionScope.username}!</p> <a href="userList.jsp">User Info</a> </c:if> <c:if test="${sessionScope.username == null}"> <a href="login.jsp">Login</a> </c:if> ``` 其,`${sessionScope.username}`表示从session获取用户名。 在点击“用户信息”超链接时,可以跳转到userList.jsp面。在userList.jsp,可以使用JDBC来查询并显示用户信息。例如: ``` <% Connection conn = null; PreparedStatement stmt = null; ResultSet rs = null; try { conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "root", "password"); stmt = conn.prepareStatement("SELECT * FROM users"); rs = stmt.executeQuery(); while (rs.next()) { out.println("<p>" + rs.getString("username") + "</p>"); } } catch (SQLException ex) { ex.printStackTrace(); } finally { if (rs != null) rs.close(); if (stmt != null) stmt.close(); if (conn != null) conn.close(); } %> ``` 其,`jdbc:mysql://localhost:3306/mydatabase`表示数据库连接字符串,`root`表示数据库用户名,`password`表示数据库密码。你需要根据实际情况修改这些参数。查询的结果通过`out.println`方法输出到面上。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值