1、如何用jsp,servlet完成一个简单的用户登录的MVC模式设计的实现
首先,你要知道来M,V,C分别源是什么意思。
M是model,也就是模型,一般都是用javabean来表示,JavaBean有实体类,逻辑业务类两种,例如一个实体类对应数据库的一个表,我们对数据库的操作可以用逻辑类来做。
V是view,是现实显示层,也就是用jsp来做,注意,在jsp中要尽量少用java脚本,这也是我们的追求。
C是controller,也就是控制层,它负责接收由V层发过来的请求,然后根据请求调用JavaBean层的类,然后再将数据返回给页面或者选择跳转到哪个页面。
例如登陆系统,用户从V层看到登陆界面,然后用户填写ID和密码,发送请求,C层接收到请求,根据请求调用M层,查询数据库,如果存在该用户并且密码正确,责跳转到登陆成功页面或者其他的;如果用户名或者密码不存在或错误,就跳转到登陆失败提示页面。
呵呵,我已经尽量简洁的说出了MVC模式的开发,当然,如果去看书,肯定会比较详细的。
记得我刚开始学的时候也是什么也不懂,用多了就明白了。
记住,概念固然重要,但是,更重要的是实践,多敲代码才是最快的学习方法。
希望我的回答可以给你带来帮助,加油!
如下图所示:
2、如何用jsp设计登录界面
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'login.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<center>
<h3>用户登录</h3>
<s:form action="" method="post" theme="simple">
<table>
<tr>
<td>用户名:</td>
<td><s:textfield name=""></s:textfield> </td>
</tr>
<tr>
<td>密 码:</td>
<td><s:password name=""></s:password> </td>
</tr>
<tr>
<td><s:submit value="登录"></s:submit> </td>
<td><s:reset value="取消"></s:reset> </td>
</tr>
</table>
</s:form>
</center>
</body>
</html>
3、做一个web登录界面,login.jsp里面进行登录,loginservlet进行登录处理,然后转回login.jsp进行显示
首先,你jsp跳转到Servlet是用哪种方法传值的,是form表单提交,还是用连接(&loginok=true)这样的提交。无论怎样提交。boolean loginok = req.getParameter(loginok);也不对啊。req是什么类型的啊?你的loginok是放在session里面的。所以先创建session对象,然后在用session的内置方法获取loginok的值。HttpSession session = request.getSession();然后在boolean loginok = session.getAttribute("loginok");
下面是我自己登陆用的Servlet希望可以帮到你:
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String userName = "";
String userPwd = "";
String flag = "";
flag = request.getParameter("flag");
if (flag == null) {
flag = "";
}
if (flag.equals("back")) {
HttpSession session = request.getSession();
session.invalidate();
flag = "";
response.sendRedirect("/MicroBlog/initServlet");
} else {
boolean bool = false;
action login = new action();
try {
RequestDispatcher rd = null;
request.setCharacterEncoding("UTF-8"); // 中文转码
response.setCharacterEncoding("UTF-8");
userName = request.getParameter("name"); // 获得用户登录名
userPwd = request.getParameter("pwd"); // 获得用户密码
bool = login.getLogin(userName, userPwd);
HttpSession session = request.getSession();
if (bool) { // 登陆成功
UserForm userForm = login.getUser();
ArrayList<String> guanList = login.getGuan(userForm.getId());
ArrayList<ExForm> expList = login.getExp();
session.setAttribute("exp", expList);
session.setAttribute("user", userForm);
session.setAttribute("guan", guanList);
rd = request.getRequestDispatcher("user.jsp");
} else {
rd = request.getRequestDispatcher("error.jsp");
}
rd.forward(request, response);
} catch (Exception e) {
e.printStackTrace();
}
}
}
4、jsp/asp实现用户登录界面,网页加密(不用数据库)-网页设计
不建议用js,很容易就查到用户名和密码
asp简单认证
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
if request.Form("username")="用户名" then
if request.Form("password")="密码(密码不能用中文)" then
response.Redirect("加密网页网址")
end if
end if
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
<form id="form1" name="form1" method="post" action="">
<p>用户名:<input type="text" name="username" id="username" /></p>
<p>密 码:<input type="password" name="password" id="password" /></p>
<p><input type="submit" name="button" id="button" value="登录" /></p>
</form>
</body>
</html>
5、jsp 登陆界面的代码
登录判断的页面代码
<%@ page contentType="text/html; charset=gb2312"%>
<%@ page import="java.sql.*"%>
<%@ page import="java.util.*"%>
<%@ include file="conn.jsp"%>
<%request.setCharacterEncoding("gb2312");
Statement stat=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String name=request.getParameter("name");
String password=request.getParameter("password");
ResultSet rs=stat.executeQuery("select * from sjb where name='"+name+"'and pass='"+password+"'");
%>
<%if(rs.next()){%>
<%String shenfen=rs.getString(6);
session.setAttribute("name",name);
response.sendRedirect("index1.jsp");
}else{
out.print("帐号密码输入错误");%>
<a href="index1.jsp">点击返回</a>
<%}%>
登录输入时的代码
<form action="login.jsp" method="post" name="form1" class="STYLE1" id="form1">
帐号
<label>
<input name="name" type="text" id="name" tabindex="1" size="13" maxlength="13" />
</label>
<A href="regedit.jsp">注册</A>
密码
<label>
<input name="password" type="password" id="password" size="13" maxlength="13" />
</label>
<a href="forget.jsp">忘记</a>
<label>
<input type="submit" name="Submit" value="确定" />
</label>
<label>
<input type="reset" name="Submit2" value="重填" />
</label>
</form>
6、jsp这种登录界面怎么弄的
好弄,下载一个模板,然后把自己的东西添加到里面,就可以了
7、用JSP做一个注册和登陆界面,做好后其中的数据库怎么设计?`
估计主要问题是没有连接上数据库。按照下面的方法试试
运行环境:winXP+sql server 2k+jdbc驱动+ sql server sp4
需要安装sp4,
装载驱动程序
装载驱动程序只需要非常简单的一行代码。
JDBC直连sql server:Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
加载 Driver 类后,它们即可用来与数据库建立连接。
二、建立连接
第二步就是用适当的驱动程序类与 DBMS 建立一个连接。下列代码是一般的做法:
Connection con = DriverManager.getConnection(url, "myLogin", "myPassword");
例:
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=data_2008";
Connection con = DriverManager.getConnection(url, "sa", "sa");
这个步骤也非常简单,最难的是怎么提供 url。不同的数据库方法是不同的。
三、创建 JDBC Statements 对象
Statement 对象用于把 SQL 语句发送到 DBMS 。你只须简单地创建一个 Statement 对象并且执行它,使用适当的方法执行你发送的 SQL 语句。对 SELECT 语句来说,可以使用 executeQuery。要创建或修改表的语句,使用的方法是 executeUpdate。
需要一个活跃的连接的来创建 Statement 对象的实例。下面使用 Connection 对象 con 创建 Statement 对象 stmt:
Statement stmt = con.createStatement();
到此 stmt 已经存在了,但它还没有把 SQL 语句传递到 DBMS。我们需要提供 SQL 语句作为参数提供给我们使用的 Statement 的方法。例如,在下面的代码段里,我们从表userlist中读取所有记录给ResultSet:
String sql="select * from userlist";
ResultSet rs = stmt.executeQuery(sql);//数据库中表的名字为userlist
四、利用ResultSet中的一些方法显示数据库中的数据。
while(rs.next()){
//循环体
}
五、释放
rs.close();
stmt.close();
con.close();
六、完整代码
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=data_2007";
String user="sa";
String password="sa";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from userlist";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%> <br>
您的第二个字段内容为:<%=rs.getString(2)%> <br>
您的第三个字段内容为:<%=rs.getString(3)%> <br>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
将上面代码另存为.jsp,注意修改数据库名,用户名和密码,即可测试sql server是否安装成功。
8、在jsp中设计的登录界面,点击登录后跳转到首页的代码是什么
这个网上有很多资料的,你可以百度关键字JSP跳转就有了。
首先你可以坐判断,登录版成功后,你之前肯定是要权匹配用户名和密码的,当匹配完成后会返回一个值给你,你接受这个值来判断是否匹配成功。如果成功跳转首页,如果失败你可以提示信息等操作。
我帮你找了个,你可以看下
http://wenku.baidu.com/view/28c5c3f9aef8941ea76e05c6.html