‘壹’ java(jsp) 微信扫描二维码登陆网页
网页上设定一些参数生成二维码,手机扫描生成的二维码识别出是这个网页,然后通过http协议,将登陆信息发送给网页后台,网页后台验证通过后就允许登陆
‘贰’ jsp登录代码
login.jsp
<%@ page language="java" pageEncoding="utf-8"%>
<html>
<head>
<title>登录</title>
<script language="javascript">
function checkform() {
if (form4.name.value.length==0){
alert("请输入正确的姓名!");
form4.name.focus();
return false;
}
if (form4.password.value.length==0){
alert("请输入正确的密码!");
form4.password.focus();
return false;
}
}
</script>
<style type="text/css">
<!--
#Layer1 {
position:absolute;
left:16px;
top:442px;
width:276px;
height:239px;
z-index:1;
}
#Layer2 {
position:absolute;
left:29px;
top:305px;
width:181px;
height:137px;
z-index:2;
}
-->
</style>
</head>
<body>
<div id="Layer1" style="left: 16px; width: 369px;">
<form id="form4" name="form4" method="post" action="loginControl.jsp">
<table border="0" style="top: 443px; left: 17px; width: 240px; height: 240px;">
<tr>
<td colspan="3"> <div align="center"><strong>用户登录</strong></div></td>
</tr>
<tr>
<td ><div align="right"><strong>用户名:</strong></div></td>
<td colspan="1"><input type="text" name="name" /></td>
</tr>
<tr>
<td ><div align="right"><strong>密 码:</strong><strong> </strong></div></td>
<td colspan="1"><input type="password" name="password" /></td>
</tr>
<tr>
<td height="37" colspan="3">
<label>
<input type="submit" name="Submit" value="登录"onclick="javascript:return(checkform());" />
</label>
<input type="reset" name="reset" value="重填" />
</td>
</tr>
</table>
</form>
</div>
<div id="Layer2"> <img src=2.jpg width="120" height="120"/></div>
<label></label>
</body>
</html>
loginControl.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ include file="tdb.jsp"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<style type="text/css">
<!--
#Layer1 {
position:absolute;
left:9px;
top:363px;
width:218px;
height:133px;
z-index:1;
}
-->
</style>
<head>
<title>My JSP 'loginControl.jsp' starting page</title>
</head>
<body>
<%
String name= request.getParameter("name");
String password= request.getParameter("password");
System.out.println("成功11111");
sql="SELECT * FROM tdb WHERE user_Name='"+name+"' AND user_Pwd='"+password+"'";
rs = smt.executeQuery(sql);
if(!rs.next())
{%>
<script type="text/javascript">
alert("用户名和密码不正确!!!");
window.location.href='index.jsp';
</script><%
}
response.sendRedirect("main.jsp");
%>
</body>
</html>
tdb.jsp
<%
Class.forName("oracle.jdbc.OracleDriver");
java.sql.Connection con=null;
con=java.sql.DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:ABC","zhan","123");
java.sql.Statement smt=con.createStatement();
java.sql.ResultSet rs;
java.sql.PreparedStatement ps;
String sql;
%>
‘叁’ 做一个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();
}
}
}
‘肆’ 如何看到 JSP 的源码
一般jsp不会在网页显示代码的,这是为了安全性问题,因此,做jsp跳转一般只会进行内部跳转,是不会在浏览器显示代码的
‘伍’ 怎样将jsp页面放入到二维码中并且通过扫码得到这个jsp页面
用jsp的path生成二维码,就可以实现扫码得到jsp页面
请采纳
‘陆’ jsp登陆界面源代码
login.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>
<td><input type="submit" value="登录" style="background-color:pink"> <input
type="reset" value="重置" style="background-color:red"></td>
</tr>
</table>
</form>
</body>
</html>
Data_uil.java文件代码:
import java.sql.*;
public class Data_uil
{
public Connection getConnection()
{
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
}catch(ClassNotFoundException e)
{
e.printStackTrace();
}
String user="***";
String password="***";
String url="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=***";
Connection con=null;
try{
con=DriverManager.getConnection(url,user,password);
}catch(SQLException e)
{
e.printStackTrace();
}
return con;
}
public String selectPassword(String username)
{
Connection connection=getConnection();
String sql="select *from login where username=?";
PreparedStatement preparedStatement=null;
ResultSet result=null;
String password=null;
try{
preparedStatement=connection.prepareStatement(sql);
preparedStatement.setString(1,username);
result=preparedStatement.executeQuery();//可执行的 查询
if(result.next())
password=result.getString("password");
}catch(SQLException e){
e.printStackTrace();
}finally
{
close(preparedStatement);
close(result);
close(connection);
}
System.out.println("找到的数据库密码为:"+password);
return password;
}
public void close (Connection con)
{
try{
if(con!=null)
{
con.close();
}
}catch(SQLException e)
{
e.printStackTrace();
}
}
public void close (PreparedStatement preparedStatement)
{
try{
if(preparedStatement!=null)
{
preparedStatement.close();
}
}catch(SQLException e)
{
e.printStackTrace();
}
}
public void close(ResultSet resultSet)
{
try{
if(resultSet!=null)
{
resultSet.close();
}
}catch(SQLException e)
{
e.printStackTrace();
}
}
}
‘柒’ 用jsp怎样做一个用户登录界面
//jsp文件,登录界面
<%@pagepageEncoding="utf-8"contentType="text/html;charset=utf-8"%>
<body>
<h1>Register</h1>
<hr/>
<formaction="login"method="post">
用户名:
<inputtype="text"name="username"id="text"/>
密码:
<inputtype="password"name="pwd"id="text"//>
<inputtype="submit"value="登录"id="button"/>
</form>
</body>
//这是server文件,web.xml部署名字login
importjava.io.IOException;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importjavax.servlet.http.HttpSession;
{
publicvoidservice(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");
Stringusername=request.getParameter("username");
Stringpwd=request.getParameter("pwd");
try{
if(username.equals("name")&&pwd.equals("pwd")){
system.out.print("登录成功");
}else{
system.out.print("error");
}
}catch(Exceptione){
e.printStackTrace();
}
}
}
简单的登录界面,不需要数据库,如果要链接数据库就要判断很多了
‘捌’ jsp登陆界面源代码
1、login.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>
<td><input type="submit" value="登录" style="background-color:pink"> <input
type="reset" value="重置" style="background-color:red"></td>
</tr>
</table>
</form>
</body>
</html>
2、judge.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>
<%
request.setCharacterEncoding("GB18030");
String name = request.getParameter("userName");
String password = request.getParameter("password");
if(name.equals("abc")&& password.equals("123")) {
3、afterLogin.jsp文件
%>
<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>
java web登录界面源代码:
1、Data_uil.java文件
import java.sql.*;
public class Data_uil
{
public Connection getConnection()
{
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
}catch(ClassNotFoundException e)
{
e.printStackTrace();
}
String user="***";
String password="***";
String url="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=***";
Connection con=null;
try{
con=DriverManager.getConnection(url,user,password);
}catch(SQLException e)
{
e.printStackTrace();
}
return con;
}
public String selectPassword(String username)
{
Connection connection=getConnection();
String sql="select *from login where username=?";
PreparedStatement preparedStatement=null;
ResultSet result=null;
String password=null;
try{
preparedStatement=connection.prepareStatement(sql);
preparedStatement.setString(1,username);
result=preparedStatement.executeQuery();//可执行的 查询
if(result.next())
password=result.getString("password");
}catch(SQLException e){
e.printStackTrace();
}finally
{
close(preparedStatement);
close(result);
close(connection);
}
System.out.println("找到的数据库密码为:"+password);
return password;
}
public void close (Connection con)
{
try{
if(con!=null)
{
con.close();
}
}catch(SQLException e)
{
e.printStackTrace();
}
}
public void close (PreparedStatement preparedStatement)
{
try{
if(preparedStatement!=null)
{
preparedStatement.close();
}
}catch(SQLException e)
{
e.printStackTrace();
}
}
public void close(ResultSet resultSet)
{
try{
if(resultSet!=null)
{
resultSet.close();
}
}catch(SQLException e)
{
e.printStackTrace();
}
}
}
2、login_check.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>
</head>
<body>
<jsp:useBean id="util" class="util.Data_uil" scope="page" />
<%
String username=(String)request.getParameter("username");
String password=(String)request.getParameter("password");
if(username==null||"".equals(username))
{
out.print("<script language='javaScript'> alert('用户名不能为空');</script>");
response.setHeader("refresh", "0;url=user_login.jsp");
}
else
{
System.out.println("输入的用户名:"+username);
String passwordInDataBase=util.selectPassword(username);
System.out.println("密码:"+passwordInDataBase);
if(passwordInDataBase==null||"".equals(passwordInDataBase))
{
out.print("<script language='javaScript'> alert('用户名不存在');</script>");
response.setHeader("refresh", "0;url=user_login.jsp");
}
else if(passwordInDataBase.equals(password))
{
out.print("<script language='javaScript'> alert('登录成功');</script>");
response.setHeader("refresh", "0;url=loginSucces.jsp");
}
else
{
out.print("<script language='javaScript'> alert('密码错误');</script>");
response.setHeader("refresh", "0;url=user_login.jsp");
}
}
%>
</body>
</html>
3、loginSucces.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=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<hr size="10" width="26%" align="left" color="green">
<font size="6" color="red" >登录成功 </font>
<hr size="10" width="26%" align="left" color="green">
</body>
</html>
4、user_login.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=ISO-8859-1">
<title>登录界面</title>
</head>
<body background="C:Userswin8workspaceLoginimage\_10.jpg" >
<center>
<br><br><br><br><br><br>
<h1 style="color:yellow">Login</h1>
<br>
<form name="loginForm" action="login_check.jsp" method="post">
<table Border="0" >
<tr >
<td>账号</td>
<td><input type="text" name="username"></td>
</tr>
<tr>
<td>密码</td>
<td><input type="password" name="password">
</td>
</tr>
</table>
<br>
<input type="submit" value="登录" style="color:#BC8F8F">
</form>
</center>
</body>
</html>
‘玖’ 一段很简单的JSP代码问题!!!
1、新建一个JSP文件把 pageEncoding="ISO-8859-1" 改成 pageEncoding="gb2312"。
2、然后把除了第一行的所有代码先复制到一个 TXT 文件,再在 TXT 那里全选复制到新建的JSP文件。
第二步是这样是因为编码改变,源代码直接拷贝有可能出现乱码,而复制到记事簿就转成了纯文本,再复制到新建文件就不会出现乱码了。
‘拾’ 如何实现网页自动登录
通过login.jsp将登录页面的全部源代码写在当前页面,然后使用javascript脚本将用户名和密码的值填充上,最后提交表单。这样中,终于实现了自动登录的目标。现在我通过一个特殊的网址,就可以自动访问这个oa了。PS
:网络的实在不理解,你把这个问题网络一下就知道