前面介绍了如何创建一个javaweb的maven项目
还介绍了如何创建一个空的maven项目
javaweb的maven项目里含有webapp,但缺少java和sources包,因为约定大于配置,因此需要手动添加,此外javaweb的maven项目含有许多的jar包
找到这个地方添加构造配置
一定要点+号才可以生成!!!!,否则只是填了模板设置而已,生成不了项目。
会出现warning,no artifacts。。。
为什么出现这个问题:我们访问一个网站,需要指定一个文件夹的名字
启动成功后,就会访问webapp下面的index.jsp。
**Maven的工具栏可以查看里面有哪些 项目依赖 **
<?xml version="1.0" encoding="UTF-8"?> <!--Maven版本和头文件--> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <!--这里就是我们刚才配置的GAV--> <groupId>org.example</groupId> <artifactId>javaweb-01-maven</artifactId> <version>1.0-SNAPSHOT</version> <!--package:项目打包方式 jar: java应用 war: javaweb应用 --> <packaging>war</packaging> <!-- 名称,不用管--> <name>javaweb-01-maven Maven Webapp</name> <!-- FIXME change it to the project's website --> <url>http://www.example.com</url> <!-- 配置--> <properties> <!-- 默认构建编码--> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <!-- 编译版本--> <maven.compiler.source>1.7</maven.compiler.source> <maven.compiler.target>1.7</maven.compiler.target> </properties> <!--项目依赖--> <dependencies> <!-- 依赖的jar包配置文件--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> </dependencies> <!-- 项目构建用的东西--> <build> </build> </project>
maven由于他的约定大于配置,我们之后可能会遇到我们写的配置文件,无法被导出或者生效的问题
解决方案:bulid下加入resource(死的)
1.Tomcat最好下载10.0以下的版本,因为后面的实验用的是10.0的版本出现问题了
2.修改Maven默认的全局设置
在这里复制依赖,粘贴到pom.xml文件中,maven就能自动下载并导入了,非常方便。
alt+insert:很常用的一个快捷键。
ctrl+o:重写方法
<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> </dependencies>
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0" metadata-complete="true"> </web-app>
使用 Servlet,您可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。
可以用Maven项目来实现jsp文件和web文件的连接
public class HelloServlet extends HttpServlet { //由于get或者post只是请求实现的不同方式,可以相互调用,因为业务逻辑都一样 @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { PrintWriter writer = resp.getWriter();//响应流 writer.print("Hello,Serlvet"); } @Override protected void doPut(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req,resp); } }
首先在index.jsp中创造想要的页面
<html> <body> <h2>Hello World!</h2> </body> </html>
然后需要在WEB-INF/web.xml中加入映射
为什么需要映射:我们写的时JAVA程序,但是要通过浏览器访问,而浏览器需要连接web服务器,所以我们需要在web服务中注册我们写的Servlet,并且给他一个浏览器能访问的路径
<!--注册Servlet--> <servlet> <servlet-name>Hello</servlet-name> <servlet-class>com.wjs.servlet.HelloServlet</servlet-class> </servlet> <!--Servlet的请求路径--> <servlet-mapping> <servlet-name>Hello</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping>
在url-pattren是有/的,别忘了!