在domain下创建User类,要根据对应user表的数据库创建
package cn.itzheng.store.domain;
import java.util.Date;
public class User {
// 安装数据库创建
private String uid;
private String password;
private String name;
private String email;
private String telephone;
private Date birthday;
private String sex;
private int state;
private String code;
public String getUid() {
return uid;
}
public void setUid(String uid) {
this.uid = uid;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getTelephone() {
return telephone;
}
public void setTelephone(String telephone) {
this.telephone = telephone;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getState() {
return state;
}
public void setState(int state) {
this.state = state;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public User() {
// TODO Auto-generated constructor stub
}
public User(String uid, String password, String name, String email, String telephone, Date birthday, String sex,
int state, String code) {
super();
this.uid = uid;
this.password = password;
this.name = name;
this.email = email;
this.telephone = telephone;
this.birthday = birthday;
this.sex = sex;
this.state = state;
this.code = code;
}
@Override
public String toString() {
return “User [uid=” + uid + “, password=” + password + “, name=” + name + “, email=” + email + “, telephone=”
- telephone + “, birthday=” + birthday + “, sex=” + sex + “, state=” + state + “, code=” + code + “]”;
}
}
开发约定:
为了项目管理方便,不会从客户端直接发起到jsp页面。
先请求到Servlet,在由Servlet转发到JSP页面。
1、页面路径跳转
在index。
UserServlet先执行父类的init方法和service方法,之后在执行该方法,
jsp的method 会统一发现这里的,并发送到父类BaseServlet的service 方法当中
BaseServlet通过this.getclass的方式获取到该UserServlet类字节码文件名获取到该方法而执行该方法(执行什么方法由jsp页面传入的method来决定)
package cn.itzheng.store.web.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.itzheng.store.web.base.BaseServlet;
/**
- Servlet implementation class UserServlet
*/
public class UserServlet extends BaseServlet {
public String registUI(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
return “/jsp/register.jsp”;
}
}
上面页面点击注册之后跳转到对应的注册页面
2、注册功能原理分析
3、开发步骤约定(普通MVC功能)
(1)准备工作(表单属性设置,链接的拼接,Ajax编写)
准备工作实现完毕之后,可以从客户端向服务端发起请求。
(2)实现Servlet
明确要实现的功能,中文注释,代码
(3)service_dao
(4)jsp页面
PS:为了方便断点调试eclipse==》window===》 preferences ====》
4、步骤实现
注册页面改变
<%@ page language=“java” contentType=“text/html; charset=UTF-8”
pageEncoding=“UTF-8”%>
<!doctype html>
href=“${pageContext.request.contextPath}/css/bootstrap.min.css”
type=“text/css” />
href=“${pageContext.request.contextPath}/css/style.css” type=“text/css” />
![]($%7bpageContext.request.contextPath%7d/img/logo2.png)
![]($%7bpageContext.request.contextPath%7d/img/header.png)
- 登录
href=“${pageContext.request.contextPath}/jsp/register.jsp”>注册
- 购物车
href=“${pageContext.request.contextPath}/jsp/order_list.jsp”>我的订单
<button type=“button” class=“navbar-toggle collapsed”
data-toggle=“collapse” data-target=“#bs-example-navbar-collapse-1”
aria-expanded=“false”>
Toggle navigation <span
class=“icon-bar”> <span
class=“icon-bar”>
id=“bs-example-navbar-collapse-1”>
- 手机数码(current)
- 电脑办公
- 电脑办公
- 电脑办公
Submit
style=“width:100%;background:url(‘${pageContext.request.contextPath}/img/regist_bg.jpg’);”>
style=“background: #fff; padding: 40px 80px; margin: 30px; border: 7px solid #ccc;”>
会员注册USER REGISTER
<input type=“text” name=“username” class=“form-control” id=“username”
placeholder=“请输入用户名”>
<input type=“password” name=“password” class=“form-control” id=“inputPassword3”
placeholder=“请输入密码”>
<input type=“password” class=“form-control” id=“confirmpwd”
placeholder=“请输入确认密码”>
<input type=“email” name=“email” class=“form-control” id=“inputEmail3”
placeholder=“Email”>
<input type=“text” name=“name” class=“form-control” id=“usercaption”
placeholder=“请输入姓名”>
name=“sex” id=“inlineRadio1” value=“男” checked=“checked” >
男
name=“sex” id=“inlineRadio2” value=“女”>
女
<input type=“submit” width=“100” value=“注册” name=“submit”
border=“0”
style="background: url(‘${pageContext.request.contextPath}/img/register.gif’) no-repeat scroll 0 0 rgba(0, 0, 0, 0);
height:35px;width:100px;color:white;">
<img src=“${pageContext.request.contextPath}/img/footer.jpg”
width=“100%” height=“78” alt=“我们的优势” title=“我们的优势” />
- 关于我们
- 联系我们
- 招贤纳士
- 法律声明
- 友情链接
- 支付方式
- 配送方式
- 服务声明
- 广告声明
setAttribute这个方法,在JSP内置对象session和request都有这个方法,这个方法作用就是保存数据,然后还可以用getAttribute方法来取出。
比如现在又个User对象,User curruser = new User(“zhangsan”, 20, “男”);
1,request.setAttribute(“curruser”, curruser)这个方法是将curruser这个对象保存在request作用域中,然后在转发进入的页面就可以获取到你的值,如果你会一些框架的话,那些框架标签也可以获取到,比如struts标签,还有jstl。如果这你都不会的话,那么你可以在jsp页面编写java小脚本来获取:<% User myuser = (User)request.getAttribute(“curruser”)%>,在jsp页面显示值:<%=myuser.getName()%>。
2,session.setAttribute(“curruser”, curruser)。这个方法和上面唯一的区别就是作用域,就是在你整个程序启动的时候,如果在session中保存了数据,那么在你这个无论你在哪个页面,在什么时候都可以获取到这个值,全局的,只要你的这个程序是启动的。session默认的过期时间是30分钟,过期无效,可以去修改这个值。
UserServlet -->userRegist
依次实现service和dao
package cn.itzheng.store.web.servlet;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.beanutils.ConvertUtils;
import org.apache.commons.beanutils.converters.DateConverter;
import cn.itzheng.store.domain.User;
import cn.itzheng.store.service.UserService;
import cn.itzheng.store.service.serviceImpl.UserServiceImpl;
import cn.itzheng.store.utils.MyBeanUtils;
import cn.itzheng.store.utils.UUIDUtils;
import cn.itzheng.store.web.base.BaseServlet;
/**
- Servlet implementation class UserServlet
结尾
正式学习前端大概 3 年多了,很早就想整理这个书单了,因为常常会有朋友问,前端该如何学习,学习前端该看哪些书,我就讲讲我学习的道路中看的一些书,虽然整理的书不多,但是每一本都是那种看一本就秒不绝口的感觉。
以下大部分是我看过的,或者说身边的人推荐的书籍,每一本我都有些相关的推荐语,如果你有看到更好的书欢迎推荐呀。
ttp.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.beanutils.ConvertUtils;
import org.apache.commons.beanutils.converters.DateConverter;
import cn.itzheng.store.domain.User;
import cn.itzheng.store.service.UserService;
import cn.itzheng.store.service.serviceImpl.UserServiceImpl;
import cn.itzheng.store.utils.MyBeanUtils;
import cn.itzheng.store.utils.UUIDUtils;
import cn.itzheng.store.web.base.BaseServlet;
/**
- Servlet implementation class UserServlet
结尾
正式学习前端大概 3 年多了,很早就想整理这个书单了,因为常常会有朋友问,前端该如何学习,学习前端该看哪些书,我就讲讲我学习的道路中看的一些书,虽然整理的书不多,但是每一本都是那种看一本就秒不绝口的感觉。
以下大部分是我看过的,或者说身边的人推荐的书籍,每一本我都有些相关的推荐语,如果你有看到更好的书欢迎推荐呀。