The first is still JavaScript processing
function Login () { var th=document.form1; if (th.username.value== "") { alert ("user name cannot be empty! "); Th.username.focus (); return ; } if (th.pswd.value== "") { alert ("Password cannot be empty!") "); Th.pswd.focus (); return ; } Th.action= "<%=path%>/servlet/loginaction"; Th.submit (); }
Create a new interface to handle user login
Package Com.servlet.login.service; Import java.util.List; Import Java.util.Map; Public Interface Loginservice { publicboolean userlogin (list<object> params);}
Create a new class to inherit the interface to complete access to the data
PackageCom.servlet.login.dao;Importjava.sql.SQLException;Importjava.util.List;ImportJava.util.Map;ImportCom.jdbc.util.MySqlConnect;ImportCom.servlet.login.service.LoginService; Public classLogindaoImplementsLoginservice {PrivateMysqlconnect conn =NULL; PublicLogindao () {conn=NewMysqlconnect (); } Public BooleanUserlogin (list<object>params) { //connecting to a databaseConn.getconnect (); BooleanFlag =false; String SQL= "SELECT * from UserInfo where username=?" and password=? "; Try{Map<string, object> map =conn.querybysimpleresult (SQL, params); Flag=!map.isempty ()?true:false; } Catch(SQLException e) {e.printstacktrace (); }finally{conn.releaseconnect (); } returnFlag; }}
Create a new class to complete the processing of business logic
Packagecom.servlet.login.action;Importjava.io.IOException;ImportJava.io.PrintWriter;Importjava.util.ArrayList;Importjava.util.List;Importjavax.servlet.ServletException;ImportJavax.servlet.http.HttpServlet;Importjavax.servlet.http.HttpServletRequest;ImportJavax.servlet.http.HttpServletResponse;ImportCom.servlet.login.dao.LoginDao;ImportCom.servlet.login.service.LoginService; Public classLoginactionextendsHttpServlet {Private Static Final LongSerialversionuid = 1L; PrivateLoginservice Service; Publicloginaction () {Service=NewLogindao (); } Public voiddestroy () {Super. Destroy (); } Public voiddoget (httpservletrequest request, httpservletresponse response)throwsservletexception, IOException { This. DoPost (request, response); } Public voidDoPost (httpservletrequest request, httpservletresponse response)throwsservletexception, IOException {String path=Request.getcontextpath (); Response.setcontenttype ("Text/html;charset=utf-8"); String username=request.getparameter ("username"); String Password=request.getparameter ("PSWD"); List<object>params=NewArraylist<object>(); Params.add (username); Params.add (password); Booleanflag=Service.userlogin (params); if(flag) {request.getsession (). SetAttribute ("Username", username); Response.sendredirect (Path+ "/main.jsp"); } } Public voidInit ()throwsservletexception {}}
To prevent direct landing from the landing page, you need to add a filter
PackageCom.servlet.login.filter;Importjava.io.IOException;ImportJavax.servlet.Filter;ImportJavax.servlet.FilterChain;ImportJavax.servlet.FilterConfig;Importjavax.servlet.ServletException;Importjavax.servlet.ServletRequest;ImportJavax.servlet.ServletResponse;Importjavax.servlet.http.HttpServletRequest;ImportJavax.servlet.http.HttpServletResponse; Public classMyfilterImplementsFilter { Publicmyfilter () {} Public voiddestroy () {} Public voidDoFilter (servletrequest request, servletresponse response, Filterchain chain)throwsIOException, servletexception {httpservletrequest httpservletrequest=(httpservletrequest) request; HttpServletResponse HttpServletResponse=(httpservletresponse) response; String Path=Httpservletrequest.getcontextpath (); Httpservletrequest.setcharacterencoding ("Utf-8"); Httpservletresponse.setcharacterencoding ("Utf-8"); String username=(String) httpservletrequest.getsession (). getattribute ("Username"); if(Username = =NULL) {httpservletresponse.sendredirect (path+ "/index.jsp"); } chain.dofilter (HttpServletRequest, HttpServletResponse); } Public voidInit (Filterconfig arg0)throwsservletexception {}}Configure it in Web. xml
<filter> <filter-name>MyFilter</filter-name> <filter-class> com.servlet.login.filter.myfilter</filter-class> </filter> <filter-mapping > <filter-name>MyFilter</filter-name> <url-pattern>/main.jsp</url-pattern > </filter-mapping>
Landing Page Construction