JavaWeb02(Servlet&页面跳转方式&表单提交方式)

这篇具有很好参考价值的文章主要介绍了JavaWeb02(Servlet&页面跳转方式&表单提交方式)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一.servlet

1.1 什么是servlet?

1.2 实现接口,初始代码

1.3 学会配置和映射

1.4 掌握servlet的生命周期

         生命周期的各个阶段

1.5  获取servlet初始化参数和上下文参数

1.5.1  初始代码  推荐使用

1.5.2 初始化参数

1.5.3 上下文参数

1.6 servlet应用:处理用户登录请求

重点:如何拿到表单提交的数据?

1.6.1 为简化配置,推荐采用注解方式

1.6.2  HttpServletRequest方法:

1.6.3 HttpServletResponse方法

二.表单提交方式

三.页面跳转方式

①重定向

②转发

③区别


一.servlet


1.1 什么是servlet?

Servlet是在服务器端运行的Java程序,可以接收客户端的请求并做出响应

JavaWeb02(Servlet&页面跳转方式&表单提交方式)

Servlet可以动态生成HTML内容对客户端进行响应

JavaWeb02(Servlet&页面跳转方式&表单提交方式)

ServletJSP的关系

JavaWeb02(Servlet&页面跳转方式&表单提交方式)

1.2 实现接口,初始代码

/**
 * 了解servlet的生命周期
 * 构造方法 初始化init( )  销毁destory( )只在第一次的时候被执行
 * service( )每向服务器发送一次请求  都会执行该方法
 * @author 
 *
 */
public class HelloServlet implements Servlet {


    public LoginServlet() {创建}
    
    
    public void destroy() {销毁}


    public ServletConfig getServletConfig() {
        return null;
    }

    
    public String getServletInfo() {
        return null;
    }


    public void init(ServletConfig arg0) throws ServletException {初始化 }


    public void service(ServletRequest arg0, ServletResponse arg1) throws         ServletException, IOException {
        //每向服务器发送一次请求  都会执行该方法
        ("处理请求中~");
    }


1.3 学会配置和映射

<!-- 配置servlet(AAservlet) -->
      <servlet>
          <servlet-name>
aa</servlet-name>
          <servlet-class>
com.zking.servlet.AAservlet</servlet-class>
      </servlet>

<!--  映射servlet(AAservlet) -->
      <servlet-mapping>
          <servlet-name>
aa</servlet-name>
          <url-pattern>
/请求路径</url-pattern>
      </servlet-mapping>

 

<!-- 注意:但凡是改了web.xml文件的内容  务必记得重启服务器再运行!  -->

1.4 掌握servlet的生命周期

         生命周期的各个阶段

JavaWeb02(Servlet&页面跳转方式&表单提交方式)文章来源地址https://www.toymoban.com/news/detail-428966.html

1.5  获取servlet初始化参数和上下文参数

1.5.1  初始代码  推荐使用

public class LoginServlet  extends HttpServlet{

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)

   {
              处理get请求
    }

    @Override
        protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws

 {

        处理post请求

}

}

1.5.2 初始化参数

<!--配置servlet(HelloServlet)-->

<servlet>
          <servlet-name>bb</servlet-name>
          <servlet-class>com.zking.servlet.BBServlet</servlet-class>
      
          <!-- 初始化参数 -->
          <init-param>
              <param-name>
sb</param-name>
              <param-value>
瑶大头</param-value>
          </init-param>

</servlet>

<!--只能在对应的一个servlet中拿到值:---->

this.getInitParameter("参数名");

1.5.3 上下文参数

 <context-param>
          <param-name>
yy</param-name>
          <param-value>
瑶瑶,大头大头</param-value>
      </context-param>

<!-- 上下文参数:可被整个应用共享 -->

this.getServletContext().getInitParameter("参数名")

1.6 servlet应用:处理用户登录请求

重点:如何拿到表单提交的数据?

1.6.1 为简化配置,推荐采用注解方式

@WebServlet("/请求url")
public class LoginServlet  extends HttpServlet { }

//其等同于

<!-- 配置servlet(AAservlet) -->
      <servlet>
          <servlet-name>aa</servlet-name>
          <servlet-class>com.zking.servlet.AAservlet</servlet-class>
      </servlet>
      <!--  映射servlet(AAservlet) -->
      <servlet-mapping>
          <servlet-name>aa</servlet-name>
          <url-pattern>/aa.do(/请求URL)</url-pattern>
      </servlet-mapping>

1.6.2  HttpServletRequest方法:

[String getParameter(String  name )]: 根据name值得到value

[String [  ]   getParameterValues(String name ) ]: 根据name值得到多个value值   例如: 爱好

[void setCharacterEncoding(String charset) ]:设置请求的编码方式  防止中文乱码

[void setAttribute(String key,object value) ]:存值[键值对的方式]


[Object  getAttribute(String key)]:根据键拿到值

1.6.3 HttpServletResponse方法

[void setContType (String arg0)]:设置响应的编码方式

[PrintWriter  getWriter()]: 获得内置对象out

二.表单提交方式

<form action="请求路径url"  method="get/post"></form>

表单提交有两种方式

        1.get(默认)  地址栏会显示信息,安全性低;有数据长度限制

        2.post  反之  以后推荐使用post

三.页面跳转方式

①重定向

resp.sendRedirect("xx.jsp")

out.print("<script> alert('提示信息');location.href='页面地址';</script>")

②转发

req.getRequestDispatcher("xx.jsp").forward(req, resp);

③区别

重定向:  地址栏发生改变;  不能携带数据跳转;  可以跳转到任意资源;  在客户端发挥作用

转发:  地址栏不发生改变,停留在了之前的位置  可以携带数据跳转  只可转发到当前项目内资源;  在服务端发挥作用

到了这里,关于JavaWeb02(Servlet&页面跳转方式&表单提交方式)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包