javascript
JSP+Javabean+Servlet实现用户注册
在entity包下新建javabean ? 也就是實體類User
注意id用 Integer 而不用 int, 因為 int 自動初始化為0
public class User {
private Integer id;
private String username;
private String password;
后面是set和get方法...
在Servlet包下創(chuàng)建servlet? 右擊Servlet包→新建→servlet ??
doget和dopost方法已經(jīng)默認(rèn)勾選了 ?直接下一步
左上角的勾是說會把servlet注冊到web.xml中 ?直接單擊完成
在UserServlet中讓doget做dopost方法 ?因為form表單是通過post方法傳過來的 ?假如用get方法傳值,dopost方法就要做doget
public void doGet(HttpServletRequest request, HttpServletResponse
response)throwsServletException, IOException {
? ? ? ? doPost(request,response);
}
重寫dopost方法
處理提交過來時產(chǎn)生的中文亂碼
request.setCharacterEncoding("UTF-8");
對兩次密碼進(jìn)行判斷 ?不同則轉(zhuǎn)發(fā)到錯誤頁面,相同則轉(zhuǎn)發(fā)到信息頁面,由于不涉及數(shù)據(jù)庫,就把值保存在session中 ? 跳轉(zhuǎn)的頁面scope要設(shè)置要session
并用try catch捕捉可能拋出的異常
try{
username=request.getParameter("username");
password=request.getParameter("password");
confirmpass=request.getParameter("confirmpass");
if(password.equals(confirmpass)){
user.setUsername(username);
user.setPassword(password);
//把對象保存在session中
request.getSession().setAttribute("UserRegister", user);
//服務(wù)器內(nèi)部跳轉(zhuǎn)
request.getRequestDispatcher("../userInfo.jsp").forward(request, response);
}else {
request.getRequestDispatcher("../error.jsp").forward(request, response);
}
}
catch(Exception e){
e.printStackTrace();
}
注冊頁面:register.jsp ?action是把數(shù)據(jù)傳給Servlet, 讓Servlet處理 name屬性的名字要和javabean中實體類entity的User中的屬性一一對應(yīng)
信息頁面: 主要用userbean的方法來獲取Servlet返回的數(shù)據(jù) ?class為實體類User的所在路徑?
scope設(shè)置為session ? Servlet把數(shù)據(jù)封裝在seesion中
不過我推薦用EL表達(dá)式獲取數(shù)據(jù),簡化代碼 格式:${保存對象.屬性}
在這里我的對象名為UserRegister ?user中已經(jīng)有Username和Password屬性了
user.setUsername(username);
user.setPassword(password);
//把對象保存在session中
request.getSession().setAttribute("UserRegister", user);
查看項目完整代碼
項目地址:github.com/JinBinPeng/JSPdemo
注:js文件取于網(wǎng)上
總結(jié)
以上是生活随笔為你收集整理的JSP+Javabean+Servlet实现用户注册的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java反射头文件_编程基础知识——C+
- 下一篇: python中、变量指向的对象可以发生变