JavaWeb: 问题整理

问题1:java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 解决方法

必须把mysql-connector-java-5.1.7-bin.jar导入到tomcat的lib目录下面!

在java项目中,只需要引入mysql-connector-java-5.1.7-bin.jar就可以运行java项目。

在web项目中,当Class.forName("om.mysql.jdbc.Driver");时,Idea是不会去查找字符串,不会去查找驱动的。所以需要把mysql-connector-java-5.1.7-bin.jar拷贝到tomcat下lib目录就可以了。

 

问题2:如何新建Maven项目区访问数据库? 学习一些基本的东西

控制台输出中文乱码问题的解决,在Tomcat配置的时候,添加上 -Dfile.encoding=UTF-8

如何防止Sql注入的问题?

 

问题3:Idea中添加jar包与添加依赖的区别是什么?

如果是添加maven依赖,需要在pom.xml中进行配置,但是如果是添加jar包,就不需要进行配置,lib中选中jar单击as library。

 

问题4:Idea工具栏跑右侧了如何解决?

View菜单---->ToolBar

ToolButtons:底部选项卡面板,特别好用。

Status bar:底部状态栏,显示编译状态

 

问题5:把资源文件放到resources,maven标准写法,比如log4j的配置文件

resources文件夹下是要分目录的,会有各种配置文件。

数据持久层与数据库连接池的结合使用(MyBatis)

 

问题6:HTTP method GET is not supported by this URL.

doGet(), doPost()不用调用父类的构造方法。Service没有做请求分发。

 

问题7:Java中禁止的包名(Prohibited package name)(禁止)

以java作为一级包名,则抛出安全异常:禁止使用的包名!

 

问题8:如何停止Tomcat服务器的运行?

在Idea中的run面板,点击左侧的红色按钮就可以

 

问题9:如何让Tomcat支持热部署?

对Tomcat进行配置,设置On 'update' action选项和下面的一个选项,当发现更新操作时,更新资源文件和class文件。自动编译 自动部署的功能。

 

问题10:如何修改Tomcat启动时,默认访问的页面?

Open browser:start up page。

 

问题11:Maven项目下HttpServletRequest 或 HttpServletResponse需引用的依赖包,或者直接写Servlet继承自HttpServlet。

Maven项目下HttpServletRequest或HttpServletResponse需引用的依赖包:servlet-api.jar,并将scope设置为provided。 在pom.xml文件中进行配置。

 

问题12:Maven项目标准结构:  

main包下面1)java、2)webapp、3)resources

 

问题13:tomcat部署时war和war exploded区别?

1)、war模式这种可以称之为是发布模式,看名字也知道,这是先打成war包,再发布;

2)、war exploded模式是直接把文件夹、jsp页面 、classes等等移到Tomcat 部署文件夹里面,进行加载部署。因此这种方式支持热部署,一般在开发的时候也是用这种方式。

3)、在平时开发的时候,使用热部署的话,应该对Tomcat进行相应的设置,这样的话修改的jsp界面什么的东西才可以及时的显示出来。

 

问题14:tomcat 的本地位置,maven的位置,这两个是需要进行配置的

如何添加jar依赖?

 

问题15:在创建maven项目的时候,如果没有网络,就可能创建不成功! 找不到配置文件中的类型选择。

 

问题16:在项目里,如果类名称有红点,不能编译运行。

设置把当前文件夹当做源代码文件夹。

 

常见类名:

HttpServletRequest HttpServletResponse(这两个类上的方法比较多)

Servlet HttpServlet GenericServlet

HttpSession Cookie

ServletConfig ServletContext

RequestDispatcher请求转发器类

servlet-api.jar

把对象转化成json字符串的工具类  自己创建模拟数据。

 

Mysql中字符串为单引号括起来

batch(批量)

 

Maven的使用

maven中pom.xml文件的Scope的作用

Dependency Scope (表示作用域,jar包的作用范围)

<dependency>中还引入了<scope>,它主要管理依赖的部署。目前<scope>可以使用5个值:

* compile,缺省值,指的是编译范围有效,在编译和打包时都会将依赖存储进去,默认的依赖范围是compile 。

    * provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。最后生成war包时不会加入,诸如:servlet-api,因为servlet-api,tomcat等web服务器已经存在了,如果再打包会冲突 。

    * runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段;在编译的时候不依赖 。

    * test,范围指的是测试范围有效,在编译和打包时都不会使用这个依赖。

* system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。

 

什么是Maven?

Maven简单来说是一个项目管理工具;一切都是Module,Module之间可以相互引用依赖;IntelliJ IDEA有着单独的窗口可以完成Maven的操作(常见的Maven有哪些操作)

Maven需要安装,并且配置环境变量。 M2_HOME

新建Maven项目:

选择Maven模版(构建类型)webapp;创建过程中,配置Maven主目录。

创建好后的目录结构,IDEA创建了src/main/resources(自动创建)、src/main/java(手动创建)、src/main/test(手动创建)、以及pom.xml文件(自动创建)

按照Maven约定,项目的主目录位于src/main/resources、src/main/java中,测试目录位于src/main/test 中,所以我们在最终打包项目的时候,只包含主目录代码。

 

pom.xml这个文件是我们Maven项目的核心文件,POM(Project Object Model,项目对象模型)定义了项目的基本信息,用于描述项目如何构建,声明项目依赖。

project:是xml文件的根元素。

modelVersion:定义了当前POM模型的版本,Maven 2 或Maven 3 只能是4.0.0

groupId:定义了项目属于哪个组,一般来说这个和公司或组织关联,比如说,你所在的公司为mycom.那就应该定义为com.mycom.mymaven,mymaven为项目名称(包名)

artifactId:定义了当前Maven项目在组中的唯一id。


在Idea中新建Spring MVC项目:

首先打开web/WEB-INF目录下的web.xml文件,如下,把url-pattern的值改为/,用于拦截请求(url-pattern为 / ,说明拦截所有请求),并交由Spring MVC的后台控制器来处理。

    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

2)激活基于注解的配置 @RequestMapping, @ExceptionHandler,数据绑定 ,@NumberFormat , @DateTimeFormat ,@Controller ,@Valid ,@RequestBody ,@ResponseBody等 

编写Controller与jsp页面

MVC框架有model、view、controller三部分组成。model一般为一些基本的Java Bean,view用于进行相应的页面显示,controller用于处理网站的请求。

在项目的src目录创建一个包用于存放controller

@Controller
@RequestMapping(value = "/hello", method = RequestMethod.GET)
public class HelloController {

    @RequestMapping(value = "/test", method = RequestMethod.GET)
    public String printHello(ModelMap model) {
        model.addAttribute("msg", "Spring MVC Hello World");
        model.addAttribute("name", "yuntao");
        return "hello";
    }
}

1.@Controller注解:采用注解的方式定义该类为处理请求的Controller类; 
2.@RequestMapping解:用于 定义一个请求映射 ,value为请求的url,method用以指定该请求类型,一般为get和post,代码中要调用printHello方法,即可访问 hello/test 
3.return “hello”:处理完该请求后返回的页面,此请求返回 hello.jsp页面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值