您的位置:首页 > 编程语言 > Java开发

Java Web学习(30): Servlet学习(三)

2016-08-01 22:05 190 查看

       
Servlet获取JSP九大内置对象

        Servlet与JSP九大内置对象对应关系:

        


       
Servlet与表单

        Servlet如何获取表单数据呢?

        我们就不再一一讲解,具体的可以参考:http://www.runoob.com/servlet/servlet-form-data.html

        实例:获取表单数据

        实体类Users代码:

package com.entity;

import java.util.Date;

/**
 * 用户实体类
 * @author Administrator
 * @date 2016年7月25日
 */
public class Users {

private String username; //用户名
private String password; //密码
private String email; //电子邮箱
private String gender; //性别
private Date birthday; //出生日期
private String[] favorites; //爱好
private String introduce; //自我介绍
private boolean flag; //是否接受协议

public Users() {

}

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}

public String getEmail() {
return email;
}

public void setEmail(String email) {
this.email = email;
}

public String getGender() {
return gender;
}

public void setGender(String gender) {
this.gender = gender;
}

public Date getBirthday() {
return birthday;
}

public void setBirthday(Date birthday) {
this.birthday = birthday;
}

public String[] getFavorites() {
return favorites;
}

public void setFavorites(String[] favorites) {
this.favorites = favorites;
}

public String getIntroduce() {
return introduce;
}

public void setIntroduce(String introduce) {
this.introduce = introduce;
}

public boolean getFlag() {
return flag;
}

public void setFlag(boolean flag) {
this.flag = flag;
}

}


        Servlet层的RegServlet代码:  

package com.servlet;

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;

import javax.servlet.ServletConfig;
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 com.entity.Users;

/**
 * Servlet implementation class RegServlet
 */
@WebServlet("/RegServlet")
public class RegServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public RegServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

/**
* @see Servlet#init(ServletConfig)
*/
public void init(ServletConfig config) throws ServletException {
// TODO Auto-generated method stub
}

/**
* @see Servlet#destroy()
*/
public void destroy() {
// TODO Auto-generated method stub
}

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

/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//防止中文乱码
        request.setCharacterEncoding("UTF-8");

Users user = new Users();
String username;
String password;
String gender;
String email;
String introduce;
String flag;//是否接受协议
Date birthday;
String[] favorites;

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try{
username = request.getParameter("username");
password = request.getParameter("password");
gender = request.getParameter("gender");
email = request.getParameter("email");
introduce = request.getParameter("introduce");
//需要注意类型转化
birthday = sdf.parse(request.getParameter("birthday"));
//这个也比较特殊,需要注意
if(request.getParameterValues("flag")!=null){
flag = request.getParameter("flag");
}else{
flag = "false";
}
//用来获取多个复选按钮的值
favorites = request.getParameterValues("favorite");

user.setUsername(username);
user.setPassword(password);
user.setGender(gender);
user.setEmail(email);
user.setFavorites(favorites);
user.setIntroduce(introduce);
//特殊
if(flag.equals("true")){
user.setFlag(true);
}else{
user.setFlag(false);
}
user.setBirthday(birthday);

//把注册成功的用户对象保存在session对象中
request.getSession().setAttribute("regUser", user);
//跳转到注册成功页面
request.getRequestDispatcher("userinfo.jsp").forward(request,response);

}catch(Exception e){
e.printStackTrace();
}
}

}


        注册页面reg.jsp页面代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>注册页面</title>
<style type="text/css">
.label {
width: 20%
}

.controler {
width: 80%
}
</style>  
<script type="text/javascript" src="js/Calendar3.js"></script>
</head>
<body>
<h1>用户注册</h1>
<hr>
<form name="regForm" action="RegServlet" method="post">
<table border="0" width="800" cellspacing="0" cellpadding="0">
<tr>
<td class="lalel">用户名:</td>
<td class="controler">
   <input type="text" name="username" />
</td>
</tr>
<tr>
<td class="label">密码:</td>
<td class="controler">
    <input type="password" name="password" />
</td>
</tr>
<tr>
<td class="label">确认密码:</td>
<td class="controler">
     <input type="password" name="confirmpass" />
</td>
</tr>
<tr>
<td class="label">电子邮箱:</td>
<td class="controler">
   <input type="text" name="email" />
</td>
</tr>
<tr>
<td class="label">性别:</td>
<td class="controler">
   <input type="radio" name="gender" checked="checked" value="Male" />男
   <input type="radio" name="gender" value="Female" />女
</td>
</tr>

<tr>
<td class="label">出生日期:</td>
<td class="controler">
     <input name="birthday" type="text" id="control_date" size="10" maxlength="10" onclick="new Calendar().show(this);" readonly="readonly" />
</td>
</tr>
<tr>
<td class="label">爱好:</td>
<td class="controler">
    <input type="checkbox" name="favorite" value="nba" /> NBA   
    <input type="checkbox" name="favorite" value="music" /> 音乐   
    <input type="checkbox" name="favorite" value="movie" /> 电影   
    <input type="checkbox" name="favorite" value="internet" /> 上网  
</td>
</tr>
<tr>
<td class="label">自我介绍:</td>
<td class="controler">
    <textarea name="introduce" rows="10" cols="40"></textarea>
</td>
</tr>
<tr>
<td class="label">接受协议:</td>
<td class="controler">
    <input type="checkbox" name="flag" value="true" />是否接受霸王条款
</td>
</tr>
<tr>
<td colspan="2" align="center">
    <input type="submit" value="注册" />  
<input type="reset" value="取消" />  
</td>
</tr>
</table>
</form>
</body>
</html>


        用户信息界面userinfo.jsp页面代码:

<%@page import="java.text.SimpleDateFormat"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>用户信息页面</title>
<style type="text/css">
.title {
width: 30%;
background-color: #CCC;
font-weight: bold;
}

.content {
width: 70%;
background-color: #CBCFE5;
}
</style> 
</head>
<body>
<h1>用户信息</h1>
<hr>
<center>
<jsp:useBean id="regUser" class="com.entity.Users" scope="session" />

<table width="600" cellpadding="0" cellspacing="0" border="1">
<tr>
<td class="title">用户名:</td>
<td class="content"> <jsp:getProperty name="regUser" property="username" />
</td>
</tr>
<tr>
<td class="title">密码:</td>
<td class="content"> <jsp:getProperty name="regUser" property="password" />
</td>
</tr>
<tr>
<td class="title">性别:</td>
<td class="content"> <jsp:getProperty name="regUser" property="gender" />
</td>
</tr>
<tr>
<td class="title">E-mail:</td>
<td class="content"> <jsp:getProperty name="regUser" property="email" />
</td>
</tr>
<tr>
<td class="title">出生日期:</td>
<td class="content">  
       <% 
                             SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
                             String date = sdf.format(regUser.getBirthday());
                        %> 
                        <%=date%>
</td>
</tr>
<tr>
<td class="title">爱好:</td>
<td class="content">  
<% 
                     String[] favorites = regUser.getFavorites();
                     for(String fav:favorites){
               %> 
               <%=fav%> 
                  
               <% 
                      }
                %>
</td>
</tr>
<tr>
<td class="title">自我介绍:</td>
<td class="content"> <jsp:getProperty name="regUser" property="introduce" /></td>
</tr>
<tr>
<td class="title">是否介绍协议:</td>
<td class="content"> <jsp:getProperty name="regUser" property="flag" /></td>
</tr>
</table>
</center>
</body>
</html>


        运行结果:

        用户注册页面:

        


        用户信息界面:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: