今天学习web开发的servlet跳转,在这里记录一下,以便以后复习。
今天做了简单的登陆界面。
我先写了一个简单的jsp页面:
<form action="login" name="myform" method="post" >
用户名:<input type="text" name="userName" value=""><br><br>
密码:<input type="text" name="password" value=""><br><br>
<input type="submit" name="submit" value="登陆">
</form>
注:先修改pageEncoding="UTF-8"
总所周知action的值是submit提交到servlet的映射。methods是提交的方式get post,必须跟servlet里的类dopost doget对应。name="userName"与name="password"对应的是request.getParameter("userName");用户输入的用户信息在servlet层通过request.getParameter("userName");获得,此时获得的是用户信息的key键,从而获得用户信息的值。
public class LoginServlet extends HttpServlet{//必须继承HttpServlet
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
request.setCharacterEncoding("UTF-8");//处理乱码问题
String username=request.getParameter("userName");
String password=request.getParameter("password");
System.out.println("用户名:"+username+",密码:"+password);
}
}
然后配置web.xml:
action的值是submit提交到servlet的映射,这时就要在web.xml 中配置
<servlet-mapping>
<servlet-name>loginServlet</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
通过/login找servletname,注servletname是随意写的,想怎么写就怎么写。
然后通过servletname找servlet的class,它是在servlet包下的LoginServlet类,通过这个过程把客户的信息传到servlet层进行处理。
<servlet>
<servlet-name>loginServlet</servlet-name>
<servlet-class>servlet.LoginServlet</servlet-class>
</servlet>
最后是验证,把写好的jsp与servlet发布到tomcat上,确定无误。然后打开浏览器,在URL上输入本地端口号。例如:http://localhost:8080试试tomcat是否启用,如果启用在8080端口号后加上项目名称,然后刷新,刷新后的结果是显示自己写的jsp页面。此时输入用户信息看看控制台上是否是
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
request.setCharacterEncoding("UTF-8");
String username=request.getParameter("userName");
String password=request.getParameter("password");
System.out.println("用户名:"+username+",密码:"+password);
}
用户名:"+username+",密码:"+password的格式,如果是这个格式就证明页面数据传入到Java后台。
web基本的思想就是jsp把数据传给servlet,servlet把数据传给dao层,dao层又把数据保存到数据库中。
今天先写jsp把数据传给servlet,即jsp调servlet层,明天写dao层又把数据保存到数据库中