更新时间2018-04-27 04:43:30
刚接触JSP就比着课本敲了敲代码,总是出现图片中的问题。我在网上试了好多方法都没用,求带求带。
下边是部分代码:
login.jsp
<form action="/LoginServlet" method="post">
LoginServlet.java
public class LoginServlet extends HttpServlet{
public void wrong1(){
String ms="用户名不能为空!";
JOptionPane.showMessageDialog(null,ms,"信息提示",JOptionPane.YES_NO_CANCEL_OPTION);
}
public void wrong2(){
String ms="密码不能为空!";
JOptionPane.showMessageDialog(null,ms,"信息提示",JOptionPane.YES_NO_CANCEL_OPTION);
}
public void wrong3(){
String ms="该用户尚未注册,登录失败!";
JOptionPane.showMessageDialog(null,ms,"信息提示",JOptionPane.YES_NO_CANCEL_OPTION);
}
public void wrong4(){
String ms="用户密码不正确,登录失败!";
JOptionPane.showMessageDialog(null,ms,"信息提示",JOptionPane.YES_NO_CANCEL_OPTION);
}
protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
String userName=new String(request.getParameter("userName").getBytes("ISO-8859-1"),"utf-8");
String password=new String(request.getParameter("password").getBytes("ISO-8859-1"),"UTF-8");
if(userName.equals("")){
wrong1();
response.sendRedirect("http://localhost:8084/login.jsp");
}else if(password.equals("")){
wrong2();
response.sendRedirect("http://localhost:8084/login.jsp");
}else{
try{
Connection con=null;
Statement stmt=null;
ResultSet rs=null;
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://localhost:8084/information?useUnicode=true&characterEncoding=gbk";
con= DriverManager.getConnection(url,"root","root");
String sql="select * from employee where 账号=‘"+userName+"’";
rs=stmt.executeQuery(sql);
int N=0;
int P=0;
while(rs.next()){
if(userName.equals(rs.getString("userName"))){
N=1001;
if(password.equals(rs.getString("password"))){
P=1001;
//实例化保存个人信息的javaBean
LoginBean lb=new LoginBean();
lb.setUserName(userName);
lb.setPassword(password);
//获取session 对象
HttpSession session=request.getSession();
ArrayList login=new ArrayList();//实例化列表对象
login.add(lb);//把个人信息保存到列表中
/*
把列表保存到session对象中,以便在别的页面中获取个人信息
*/
session.setAttribute("login",login);
response.sendRedirect("http://localhost:8084/main.jsp");
}else{
}
}else{
N++;
}
}
if(N<1001){
wrong3();
response.sendRedirect("http://localhost:8084/login.jsp");
}else if(P<1001){
wrong4();
response.sendRedirect("http://localhost:8084/login.jsp");
}
}catch(Exception e){
e.printStackTrace();
}
}
}
protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
doGet(request,response);
}
}
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<servlet>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/LoginServlet</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
</web-app>
Netbeans右键点击项目,在属性里,有一个项目可以指定主运行类,修改那个就行