准备工作
1.在main文件夹下,创建一个java文件夹,用来存放我们的代码,将这个文件夹设置为Sources Root
2.我们在java这个文件夹下,创建一个controller的包,新建一个LoginController的类:
配置Servlet
此时我们就可以开始准备开发登录功能了。
首先,我们需要对Servlet进行配置,配置有如下两种方法
--------------方法1:(麻烦)
我们先对web.xml中的Servlet进行配置,在web.xml中写入
<servlet>
<servlet-name>loginServlet</servlet-name> //要注册的Servlet的名字
<servlet-class>cn.edu.mju.project2.controller.LoginController</servlet-class> //是要注册的Servlet的类的地址,要带包路径
</servlet>
<servlet-mapping>// 是用来配置我们注册的组件的访问路径
<servlet-name>loginServlet</servlet-name> //与前面写的Servlet保持一致
<url-pattern>/login</url-pattern> //配置这个组件的访问路径
</servlet-mapping>
其中:
<Servlet-name>
是要注册的Servlet的名字,
<Servlet-class>
是要注册的Servlet的类的地址,要带包路径。
<Servlet-mapping>
是用来配置我们注册的组件的访问路径,
里面的包括两个节点,一个是<Servlet-name>
与前面写的Servlet保持一致,另一个是<url-pattern>
配置这个组件的访问路径。
在web.xml中写注释
在web.xml中写注释的方法:
shift+ctrl +/
去掉注释 shift+ctrl+\
方法2:(简单)
可以直接在LoginController里面进行配置:
在public class上方写:@WebServlet:"/login"
----注:(引号里的是组件的访问路径,要想调用都要知道这个访问路径名)
具体如下:
@WebServlet("/login")
public class LoginController extends HttpServlet {
如果WebServlet,字体变红报错,则导入jar包即可
解决方法:上面加代码导入jar包:
import javax.servlet.annotation.WebServlet;
重写doget,dopost
配置好WebServlet后,由于LoginController是要继承HttpServlet的,
所以我们要对doGet和doPost进行重写:
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String info = "Hello World";
resp.setCharacterEncoding("utf-8");//使web界面上显示中文
PrintWriter out = resp.getWriter();
out.println("<html>");
out.println("<header>");
out.println("<title>test</title>");
out.println("<meta charset=\"utf-8\">");//使web界面上显示中文
out.println("</header>");
out.println("<body>");
out.println("<font size='20'>欢迎登录5197101236系统</font>");
out.println("form action='' method='post'>");
out.println("登录名称:<input type='text' name='loginName' value=''><br>");
out.println("登录密码:<input type='password' name='loginPwd' value=''><br>");
out.println("<input type='submit' value='提交'>");
out.println("</form>");
out.println("</body>");
out.println("</html>");
out.close();
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String loginName = req.getParameter("loginName");
String loginPwd = req.getParameter("loginPwd");
//登录名称为学号,密码为1234,那么显示下面的内容,柔则显示账号或密码错误
resp.setCharacterEncoding("utf-8");//使web界面上显示中文
PrintWriter out = resp.getWriter();
out.println("<html>");
out.println("<header>");
out.println("<title>test</title>");
out.println("<meta charset=\"utf-8\">");//使web界面上显示中文
out.println("</header>");
out.println("<body>");
if(loginName.equals("5197101236") && loginPwd.equals("1234"))
{
out.println("<font size='20'>hello"+loginName + "</font>");
}
else {
out.println("<font size='20'>账号或密码错误" + loginName + "</font>");
}
out.println("</body>");
out.println("</html>");
}
------------------运行------------
点击运行程序,后打开浏览器,输入预先设置的url,查看效果
localhost:8081/test_5197101236/login
localhost: 端口号 / contextPath / url
( 这两个在pom.xml中找 ) (这个要么写在你的类里,要么就在web.xml里配置)