本文目錄一覽:
jsp程序代碼
%@ page language=”java” import=”java.util.*” errorPage=”error.jsp” pageEncoding=”UTF-8″%
% request.setCharacterEncoding(“GBK”);%
html
head
title動作處理頁面/title
/head
body background=”C:\tp\yy.JPG”
font color=yellow
centerbrh2
jsp:useBean id=”loginbean” class=”com.login.LoginBean”/jsp:useBean //使用jsp:useBean標籤調用LoginBean.java,class指明JavaBean位置
jsp:setProperty name=”loginbean” property=”*” ///設置LoginBean的屬性值
%out.println(“用戶號為:”+loginbean.getUserid()+”brbr”); 輸出loginbean裡面getUserid的值
if (loginbean.getUserid()==null){ //如果用戶名為空
throw new Exception(“尊敬的用戶:系統登錄頁面中的用戶名不能為空,請輸入用戶號!”);
}
if (loginbean.getPsw()==null){ //如果密碼為空
throw new Exception(“尊敬的用戶:系統登錄頁面中的密碼不能為空,請輸入密碼!”);
}
if (loginbean.getPsw().equalsIgnoreCase(“neusoft”)) //如果JavaBean的密碼和輸入密碼相同
{
String puserid = request.getParameter(“userid”); //獲得此用戶ID
Cookie cookies[] = request.getCookies();
//如果是上一步提交過來的,則更新Cookie的值
if(puserid != null) {
Cookie c = new Cookie(“userid”, puserid);
c.setMaxAge(60*60*24*30); //Cookie的有效期為1個月setMaxAge()是Cookie 的一個方法
器單位為秒
60*60*24*30等與30天*24小時*60分*60秒==結果就為1個月的秒數
response.addCookie(c);
}
session.setAttribute(“login”,”ok”);
session.setMaxInactiveInterval(-1);
%
jsp:forward page=”success.jsp” / //跳轉至success.jsp
%
}
else { //如果密碼不正確則執行
out.println(“對不起,密碼輸入錯誤!您此次系統登陸失敗!請重新輸入密碼!brbr”);
out.println(“A href=login.jsp返回/Abr”);
}
%
h2
br
hr
/font
/body
/html
答題完畢
解釋JSP代碼,越詳細越好
%
Condb con=new Condb(); //建立數據庫連接
int num=0; 定義計數變量 初始化為0
String sql=”select * from tb_Result where Result='”+1+”‘”; 數據庫查詢命令
ResultSet rs=con.executeQuery(sql); 執行數據庫查詢命令
while(rs.next()){ 判斷是否是否是記錄集最後一條同時移動數據庫記錄至下一條
num++; 計數變量自加1
%
tr
td width=”37″ height=”22″ align=”center”%=num%/td
td height=”22″ align=”left”a href=”Rparticular.jsp?temp=%=rs.getString(2)%” 得到數據庫第三個字段的值作為temp參數的值
%String str=rs.getString(2);out.println(str);% 輸出數據庫第三個字段的值
/a/td
td height=”22″ align=”center”%=rs.getDate(8)%/td
td height=”22″ align=”center”%=rs.getString(9)%/td
/tr
%
}
con.close(); 關閉數據庫連接
%
編寫用戶註冊於登錄的JSP頁面的全部程序代碼
3個jsp文件,第一個是login.jsp,第二個是judge.jsp,第三個是afterLogin.jsp
%@ page language=”java” contentType=”text/html; charset=GB18030″
pageEncoding=”GB18030″%
%@ page import=”java.util.*” %
!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”
html
head
title登錄頁面/title
/head
body
form name=”loginForm” method=”post” action=”judgeUser.jsp”
table
tr
td用戶名:input type=”text” name=”userName” id=”userName”/td
/tr
tr
td密碼:input type=”password” name=”password” id=”password”/td
/tr
tr
tdinput type=”submit” value=”登錄” style=”background-color:pink” input type=”reset” value=”重置” style=”background-color:red”/td
/tr
/table
/form
/body
/html
%@ page language=”java” contentType=”text/html; charset=GB18030″
pageEncoding=”GB18030″%
%@ page import=”java.util.*” %
!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”
html
head
title身份驗證/title
/head
body
%
request.setCharacterEncoding(“GB18030”);
String name = request.getParameter(“userName”);
String password = request.getParameter(“password”);
if(name.equals(“abc”) password.equals(“123”)) {
%
jsp:forward page=”afterLogin.jsp”
jsp:param name=”userName” value=”%=name%”/
/jsp:forward
%
}
else {
%
jsp:forward page=”login.jsp”/
%
}
%
/body
/html
%@ page language=”java” contentType=”text/html; charset=GB18030″
pageEncoding=”GB18030″%
!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”
html
head
title登錄成功/title
/head
body
%
request.setCharacterEncoding(“GB18030”);
String name = request.getParameter(“userName”);
out.println(“歡迎你:” + name);
%
/body
/html
求大神寫一下jsp的簡單的註冊界面代碼。
1.需要一個jsp頁面:
//login.jsp核心代碼:
form action=”${pageContext.request.contextPath}/servlet/UserServlet” method=”post”
input type=”text” name=”loginname” /input type=”password” name=”password”/
input type=”submit” value=”登錄”/
/form
2.需要一個servlet來驗證登錄信息
//UserServlet 核心代碼
class UserServlet extends HttpServlet{
protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
process(request, response);
}
protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
process(request, response);
}
private void process(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
PrintWriter pw = response.getWriter();
request.setCharacterEncoding(“UTF-8”);
response.setContentType(“text/html”);
String loginname = request.getParameter(“loginname”);
String password = request.getParameter(“password”);
//創建一個service來處理業務邏輯(包括查詢數據庫操作)
UserService service = new UserService();
boolean bool = service.validateUser(loginname,password);
if(!bool){
pw.println(“用戶名或密碼錯誤”);
}else{
pw.println(“登錄成功”);
}
}
3.需要一個service處理業務邏輯(包括查詢數據庫操作)
//UserService 核心代碼
public class UserService{
/**
*查詢數據庫驗證用戶是否存在,返回boolean
*/
public boolean validateUser(String loginname,String password){
boolean bool = false;
Connection conn = null;
PreparedStatement ps = null;
//這裡以mysql為例
try {
Class.forName(“com.mysql.jdbc.Driver”).newInstance();
conn = DriverManager.getConnection(“jdbc:mysql://localhost:3306/test”, “root”, “”);
String sql = “select login_name,pass_word from t_user where login_name=? and pass_word=?”;
ps = conn.prepareStatement(sql);
ps.setString(0, loginname);
ps.setString(1, password);
ResultSet rs = ps.executeQuery();
if(rs.next()){
bool = true;
}
} catch (Exception e) {
e.printStackTrace();
} finally{
try {
if(conn != null){
conn.close();
conn = null;
}
if(ps != null){
ps.close();
ps = null;
}
} catch (SQLException e) {
e.printStackTrace();
}
}
return bool;
}
}
原創文章,作者:QGIA,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/134402.html