个人JavaWeb学习

1 maven

1.6 在IDEA中使用maven

  1. 创建新项目

image-20210615105827125

  1. 等待下载

  2. 观察maven仓库是否下载东西

  3. idea中maven设置,idea项目创建成功后,看一眼maven的配置,他可能自动改成默认的

    image-20210615110702300

  4. maven在idea中创建成功了

1.7 创建一个普通的maven项目

  1. image-20210615111421480

1.8 标记文件夹功能

image-20210615111730475

image-20210615111901484

1.9 在idea中配置tomcat

2 Module

image-20210615224505327

  1. 在项目里面右键new-Module

  2. 在父层pom.xml中会发现新建了一个module

  3. 在module里面会发现parent标签(里面有GAV)a是父类的项目名image-20210615224734303

  4. main里面自己建立src和source,并且标记这两个文件夹

  5. 在左右面的Maven中,点击加号,把module的pom.xml添加到里面
    image-20210615225113131

3 Servlet

3.0 Servlet说明

  • Servlet就是sun公司开发动态web的一门技术

  • 在这里插入图片描述

  • 在webapp//WEB-INF//web.xm里面应该注册相应的servlet

    	<servlet>//servlet的名字和绑定对应的servlet
            <servlet-name>hello</servlet-name>
            <servlet-class>com.jiang.servlet.HelloServlet</servlet-class>
        </servlet>
        <servlet-mapping>//映射该servlet到对应的url上面
            <servlet-name>hello</servlet-name>
            <url-pattern>/helloServlet</url-pattern>
        </servlet-mapping>
    

3.1 注意建立package和配置tomcat

把servlet放到对应的package里面

image-20210615225302293

在配置tomcat的时候,不要忘记每一次只选中一个web应用,这样会编译的更快,同时url不容易出错

image-20210615230052929

3.2 重载doGet和doPost方法

//由于get或者post只是请求实现的不同的方式,可以互相调用
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("进入doGet方法");
        //ServletOutputStream outputStream = resp.getOutputStream();
        PrintWriter writer = resp.getWriter();
        writer.print("Hello,Servlet");j
    }
@Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doPost(req, resp);
    }
}

3.3 ServletContext

一个web应用对应一个ServletContext,作用相当于一个全局的容器,可以保存所有的变量,可以做到在不同的servlet中进行传递参数

	  	ServletContext context=this.getServletContext();
        String username="Jack";
        context.setAttribute("username",username);//将一个数据保存在ServletContext中,名字为username,值为username中对应的值,相当于key value
		ServletContext context=this.getServletContext();
        String username=(String)context.getAttribute("username");//使用ServletContext里面的内容
        resp.getWriter().print("name"+username);
  • 编码设置成中文

    		resp.setContentType("text/html");
            resp.setCharacterEncoding("utf-8");//设置成中文
    
1、获取初始化参数
resp.getWriter().print(this.getServletContext().getInitParameter("url"));

在web.xml里面

<context-param>
    <param-name>url</param-name>
    <param-value>jdbc:mysql://localhost:3306/mybook</param-value>
</context-param>
2、请求转发
  • tips:转发和重定向的区别,假设有abc,a经过b转发给c,c再把内容给b再给a,a并没有直接通过c获得内容,而重定向是a向b请求,b告诉a应该向c请求,于是a重定向到c(粗俗理解)
public class forwardServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        ServletContext servletContext = this.getServletContext();
        RequestDispatcher requestDispatcher = servletContext.getRequestDispatcher("/helloServlet");//请求转发到helloServlet
        requestDispatcher.forward(req,resp);//进行转发
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp);
    }
}

在web.xml里面注册Servlet

<servlet>
    <servlet-name>forward</servlet-name>
    <servlet-class>com.jiang.servlet.forwardServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>forward</servlet-name>
    <url-pattern>/forward</url-pattern>
</servlet-mapping>

image-20210616232450022

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值